@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Inter:wght@300;400;500;600&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--ink:#3a2e2e;--ink-soft:#5a4a48;--ink-muted:#a89890;--paper:#faf6f3;--paper-dark:#f0e8e2;--rule:#e3d5cc;--accent:#a8694f;--accent-strong:#c4452e;--accent-light:#f5e9e2;--danger:#8e2d2d;--success:#5a7a4a;--warning:#9a7a3a;--serif:"DM Serif Display", Georgia, serif;--sans:"Inter", system-ui, sans-serif}body,html,#root{font-family:var(--sans);background:var(--paper);color:var(--ink);min-height:100vh;line-height:1.6}.app{flex-direction:column;min-height:100vh;display:flex}header{border-bottom:1px solid var(--rule);background:var(--paper);z-index:100;justify-content:space-between;align-items:center;padding:1.25rem 2rem;display:flex;position:sticky;top:0}.logo{font-family:var(--serif);color:var(--ink);align-items:center;gap:8px;font-size:1.1rem;display:flex}.logo img{width:26px;height:26px}.logo span{color:var(--accent)}.header-meta{color:var(--ink-muted);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem}.hero-split{grid-template-columns:1.1fr 1fr;align-items:center;gap:3rem;max-width:1100px;margin:0 auto;padding:3rem 2rem 2.5rem;display:grid}.hero-left{text-align:left}.hero-split h1{font-family:var(--sans);letter-spacing:-.02em;margin-bottom:1.2rem;font-size:clamp(2.6rem,5.5vw,3.6rem);font-weight:800;line-height:1.05}.hero-split h1 .line1{color:var(--ink);display:block}.hero-split h1 .line2{color:var(--accent-strong);display:block}.hero-split .hero-sub{text-align:left;max-width:460px;margin:0 0 1.75rem}.hero-cta-row{flex-wrap:wrap;gap:12px;margin-bottom:1.75rem;display:flex}.btn-outline-dark{color:var(--ink);letter-spacing:.02em;border:1.5px solid var(--ink);cursor:pointer;background:#fff;border-radius:2px;padding:1.05rem 1.8rem;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-block}.hero-social-proof{align-items:center;gap:14px;display:flex}.avatar-stack{display:flex}.avatar-stack span{border:2px solid var(--paper);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;margin-left:-10px;font-size:.7rem;font-weight:600;display:inline-flex}.avatar-stack span:first-child{margin-left:0}.hero-social-proof-text{color:var(--ink-soft);font-size:.85rem}.hero-social-proof-text strong{color:var(--ink)}.stars{color:var(--accent-strong);letter-spacing:1px;font-size:.85rem}.hero-curve-wrap{justify-content:center;display:flex}@media (width<=800px){.hero-split{grid-template-columns:1fr;padding:2.5rem 1.5rem 1.5rem}.hero-left{text-align:center}.hero-split .hero-sub{text-align:center;margin:0 auto 1.75rem}.hero-cta-row,.hero-social-proof{justify-content:center}}.hero-stats{flex-wrap:wrap;justify-content:center;gap:2.5rem;margin-bottom:2.5rem;display:flex}.stat{text-align:center}.stat-num{font-family:var(--serif);font-size:1.6rem;display:block}.stat-label{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-muted);font-size:.68rem}.hero-divider{background:var(--rule);width:40px;height:1px;margin:0 auto 2.5rem}.btn-primary{background:var(--accent-strong);color:#fff;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;border:none;border-radius:2px;padding:1.1rem 3rem;font-size:.85rem;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-block;box-shadow:0 4px #8a2f1d}.btn-primary:hover{transform:translateY(2px);box-shadow:0 2px #8a2f1d}.btn-primary:active{box-shadow:none;transform:translateY(4px)}.how-it-works{max-width:760px;margin:0 auto;padding:4rem 2rem}.how-it-works-title{font-family:var(--sans);color:var(--ink);text-align:center;margin-bottom:2.5rem;font-size:1.8rem;font-weight:800}.timeline{position:relative}.timeline:before{content:"";background:var(--rule);width:2px;position:absolute;top:32px;bottom:32px;left:32px}.timeline-step{gap:1.5rem;margin-bottom:2.5rem;display:flex;position:relative}.timeline-step:last-child{margin-bottom:0}.timeline-icon{background:var(--accent-light);width:64px;height:64px;color:var(--accent-strong);z-index:1;border:1px solid #fff;border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.timeline-content{padding-top:.6rem}.timeline-step-title{color:var(--ink);margin-bottom:.4rem;font-size:1.15rem;font-weight:700}.timeline-step-desc{color:var(--ink-soft);font-size:.9rem;line-height:1.6}.dimensions{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:#fff;padding:2.5rem 2rem}.dimensions-inner{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2rem;max-width:900px;margin:0 auto;display:grid}.testimonials-section{max-width:1000px;margin:0 auto;padding:4rem 2rem}.testimonials-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;display:grid}.testimonial-card{border:1px solid var(--rule);background:#fff;border-radius:10px;padding:1.5rem}.testimonial-header{align-items:center;gap:10px;margin-bottom:.9rem;display:flex}.testimonial-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:.7rem;font-weight:700;display:flex}.testimonial-name{color:var(--ink);font-size:.85rem;font-weight:700}.testimonial-location{color:var(--ink-muted);font-size:.72rem}.testimonial-stars{color:var(--accent-strong);margin-left:auto;font-size:.8rem}.testimonial-title{color:var(--ink);margin-bottom:.4rem;font-size:.92rem;font-weight:700}.testimonial-body{color:var(--ink-soft);font-size:.85rem;line-height:1.55}.pricing-section{text-align:center;max-width:900px;margin:0 auto;padding:4rem 2rem}.pricing-sub{color:var(--ink-soft);max-width:480px;margin:0 auto 2.5rem;font-size:.92rem}.pricing-cards{text-align:left;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;display:grid}.pricing-card{border:1px solid var(--rule);background:#fff;border-radius:10px;padding:1.75rem;position:relative}.pricing-card-featured{border:2px solid var(--accent-strong)}.pricing-card-badge{background:var(--accent-strong);color:#fff;text-transform:uppercase;letter-spacing:.04em;border-radius:20px;padding:.3rem .8rem;font-size:.68rem;font-weight:700;position:absolute;top:-12px;left:1.5rem}.pricing-card-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-muted);margin-bottom:.6rem;font-size:.72rem;font-weight:700}.pricing-card-price{font-family:var(--sans);color:var(--ink);margin-bottom:1.2rem;font-size:1.9rem;font-weight:800}.pricing-card-price span{color:var(--ink-muted);font-size:.85rem;font-weight:400}.pricing-card-list{gap:.55rem;margin:0 0 1.5rem;padding:0;list-style:none;display:grid}.pricing-card-list li{color:var(--ink-soft);padding-left:1.4rem;font-size:.85rem;position:relative}.pricing-card-list li:before{content:"✓";color:var(--accent-strong);font-weight:700;position:absolute;left:0}.faq-section{max-width:700px;margin:0 auto;padding:4rem 2rem}.faq-list{gap:0;display:grid}.faq-item{border-bottom:1px solid var(--rule)}.faq-question{width:100%;color:var(--ink);cursor:pointer;text-align:left;font-size:.95rem;font-weight:600;font-family:var(--sans);background:0 0;border:none;justify-content:space-between;align-items:center;padding:1.1rem 0;display:flex}.faq-toggle{color:var(--accent-strong);flex-shrink:0;margin-left:1rem;font-size:1.2rem}.faq-answer{color:var(--ink-soft);padding-bottom:1.1rem;font-size:.88rem;line-height:1.6}@media (width<=600px){.testimonials-section,.pricing-section,.faq-section{padding:3rem 1.5rem}}.dim{border-left:2px solid var(--rule);padding-left:1rem}.dim-name{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:.4rem;font-size:.7rem;font-weight:500}.dim-pts{font-family:var(--serif);margin-top:.5rem;font-size:1.1rem}.quiz-section{flex:1;width:100%;max-width:680px;margin:0 auto;padding:4rem 2rem}.section-label{text-transform:uppercase;letter-spacing:.14em;color:var(--ink-muted);align-items:center;gap:1rem;margin-bottom:2rem;font-size:.68rem;display:flex}.section-label:after{content:"";background:var(--rule);flex:1;height:1px}.progress-bar-wrap{background:var(--paper-dark);border-radius:2px;height:3px;margin-bottom:2.5rem;overflow:hidden}.progress-bar{background:var(--accent);border-radius:2px;height:100%;transition:width .4s}.q-meta{justify-content:space-between;align-items:baseline;margin-bottom:.5rem;display:flex}.q-counter{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-muted);font-size:.68rem}.q-dimension{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:.68rem;font-weight:500}.q-text{font-family:var(--serif);margin-bottom:.5rem;font-size:1.25rem;line-height:1.4}.q-construct{color:var(--ink-muted);border-bottom:1px solid var(--rule);margin-bottom:1.5rem;padding-bottom:1.5rem;font-size:.72rem;font-style:italic}.options{gap:0;display:grid}.option{border-bottom:1px solid var(--rule);cursor:pointer;color:var(--ink-soft);text-align:left;width:100%;font-size:.88rem;font-family:var(--sans);background:0 0;border-top:none;border-left:none;border-right:none;align-items:center;gap:1rem;padding:1rem 0;transition:color .15s;display:flex}.option:first-child{border-top:1px solid var(--rule)}.option:hover{color:var(--ink)}.option.selected{color:var(--accent);font-weight:500}.option-bullet{border:1.5px solid var(--rule);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;transition:border-color .15s,background .15s;display:flex}.option.selected .option-bullet{border-color:var(--accent);background:var(--accent)}.option-dot{opacity:0;background:#fff;border-radius:50%;width:8px;height:8px;transition:opacity .15s}.option.selected .option-dot{opacity:1}.q-nav{justify-content:space-between;align-items:center;margin-top:2rem;display:flex}.btn-back{color:var(--ink-muted);cursor:pointer;letter-spacing:.05em;text-transform:uppercase;background:0 0;border:none;font-size:.78rem}.btn-back:hover{color:var(--ink)}.btn-next{color:var(--paper);background:var(--ink);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;border:none;padding:.75rem 1.75rem;font-size:.78rem;font-weight:500;transition:background .2s}.btn-next:hover{background:var(--ink-soft)}.btn-next:disabled{background:var(--rule);cursor:not-allowed}.email-block{text-align:center;padding:2rem 0}.email-block h2{font-family:var(--serif);margin-bottom:.75rem;font-size:1.8rem}.email-block p{color:var(--ink-soft);margin-bottom:1.5rem;font-size:.88rem}.email-input-row{gap:0;max-width:400px;margin:0 auto;display:flex}.email-input-row input{border:1px solid var(--rule);color:var(--ink);background:#fff;outline:none;flex:1;padding:.85rem 1rem;font-size:.88rem}.email-input-row input:focus{border-color:var(--accent)}.email-input-row button{background:var(--ink);color:var(--paper);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;border:none;padding:.85rem 1.5rem;font-size:.78rem;font-weight:500;transition:background .2s}.email-input-row button:hover{background:var(--ink-soft)}.email-input-row button:disabled{background:var(--rule);cursor:not-allowed}.result-teaser{text-align:center;padding:2rem 0}.score-ring-wrap{margin-bottom:2rem}.score-display{font-family:var(--serif);font-size:4.5rem;line-height:1;display:block}.score-denom{color:var(--ink-muted);font-size:1rem;font-family:var(--sans)}.tier-badge{text-transform:uppercase;letter-spacing:.12em;margin-bottom:1.5rem;padding:.4rem 1rem;font-size:.7rem;font-weight:500;display:inline-block}.tier-vulnerable{color:#8e2d2d;background:#fce8e8}.tier-developing{color:#7a5c1a;background:#fef3e2}.tier-stable{color:#2d5a8e;background:#e8eff7}.tier-secure{color:#2d6e3e;background:#e8f4ec}.result-summary{color:var(--ink-soft);max-width:480px;margin:0 auto 2rem;font-size:.9rem;line-height:1.7}.sub-scores{background:var(--rule);border:1px solid var(--rule);grid-template-columns:repeat(2,1fr);gap:1px;margin-bottom:2rem;display:grid;position:relative}.sub-score{background:var(--paper);text-align:left;padding:1.25rem}.sub-score-name{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-muted);margin-bottom:.4rem;font-size:.68rem}.sub-score-val{font-family:var(--serif);font-size:1.4rem}.sub-score-val.blurred{filter:blur(6px);-webkit-user-select:none;user-select:none;color:var(--ink-muted)}.paywall-overlay{background:linear-gradient(#0000 20%,#f7f5f0f7 60%);justify-content:center;align-items:flex-end;padding-bottom:1.5rem;display:flex;position:absolute;inset:0}.paywall-box{border:1px solid var(--rule);text-align:center;background:#fff;margin-bottom:1rem;padding:2rem}.paywall-box h3{font-family:var(--serif);margin-bottom:.5rem;font-size:1.4rem}.paywall-box p{color:var(--ink-soft);margin-bottom:1.5rem;font-size:.85rem;line-height:1.6}.paywall-options{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.paywall-option{border:1px solid var(--rule);cursor:pointer;padding:1.25rem 1rem;text-decoration:none;transition:border-color .2s,background .2s;display:block}.paywall-option:hover{border-color:var(--ink);background:var(--paper-dark)}.paywall-option.featured{border-color:var(--accent);background:var(--accent-light)}.paywall-option-label{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-muted);margin-bottom:.4rem;font-size:.65rem}.paywall-option.featured .paywall-option-label{color:var(--accent)}.paywall-option-price{font-family:var(--serif);margin-bottom:.3rem;font-size:1.4rem}.paywall-option-desc{color:var(--ink-soft);font-size:.75rem;line-height:1.4}.paywall-note{color:var(--ink-muted);font-size:.7rem}footer{border-top:1px solid var(--rule);text-align:center;color:var(--ink-muted);letter-spacing:.04em;padding:2rem;font-size:.72rem}@media (width<=600px){.hero{padding:3rem 1.5rem 2rem}.paywall-options{grid-template-columns:1fr}.sub-scores{grid-template-columns:1fr 1fr}.email-input-row{flex-direction:column}header{padding:1rem}}
