*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--cream:#f5efe6;--ink:#1f1b16;--terracotta:#c96f4a;--mustard:#e8b93a;--bg:#f5efe6;--surface:#fff;--surface-2:#faf6ee;--surface-3:#f0e8da;--border:#1f1b1614;--border-active:#1f1b1624;--text:#1f1b16;--text-secondary:#1f1b16b8;--text-muted:#1f1b1685;--accent:#c96f4a;--accent-glow:#d88a6b;--accent-subtle:#c96f4a1a;--accent-2:#e8b93a;--accent-3:#e8b93a;--gradient:linear-gradient(135deg, #c96f4a, #b5613c);--gold:#e8b93a;--gold-glow:#f0c84f;--gold-subtle:#e8b93a29;--radius:6px;--radius-lg:12px;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-serif:"DM Serif Display", Georgia, serif;--font-script:"Caveat", cursive;--mono:"Inter", -apple-system, sans-serif;--transition:.3s cubic-bezier(.4, 0, .2, 1)}html{font-size:16px}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}.app{min-height:100vh;position:relative}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.landing-page{justify-content:center;align-items:center;min-height:100vh;padding:2rem;animation:.6s ease-out fadeIn;display:flex;position:relative;overflow:hidden}.landing-content{z-index:2;max-width:720px;position:relative}.badge{font-family:var(--font);letter-spacing:.22em;text-transform:uppercase;color:var(--terracotta);background:#c96f4a14;border:1px solid #c96f4a38;border-radius:2px;margin-bottom:1.5rem;padding:.45rem 1.1rem;font-size:.72rem;font-weight:600;display:inline-block}.landing-page h1{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--ink);margin-bottom:1.5rem;font-size:clamp(2.4rem,5.2vw,4rem);font-weight:400;line-height:1.08}.landing-page h1 .accent{color:var(--terracotta)}.cta-button{font-family:var(--font);color:#fff;background:var(--gradient);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);border:none;align-items:center;gap:.75rem;padding:1rem 2.25rem;font-size:1.05rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.cta-button:before{content:"";opacity:0;transition:opacity var(--transition);background:linear-gradient(135deg,#ffffff26,#0000);position:absolute;inset:0}.cta-button:hover:before{opacity:1}.cta-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px #c96f4a52}.cta-button:active{transform:translateY(0)}.cta-button:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.cta-button:disabled:hover:before{opacity:0}.cta-button .arrow{transition:transform var(--transition);font-size:1.2rem}.cta-button:hover .arrow{transform:translate(4px)}.trust-bar{color:var(--text-muted);font-size:.85rem;font-family:var(--mono);align-items:center;gap:.5rem;margin-top:1.5rem;display:flex}.trust-bar .dot{color:var(--border)}.landing-visual{opacity:.15;z-index:1;position:absolute;top:50%;right:-5%;transform:translateY(-50%)}.visual-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.grid-cell{border:1px solid var(--border);border-radius:8px;width:48px;height:48px;transition:all .6s;animation:4s ease-in-out infinite cellPulse}.grid-cell.active{background:var(--accent-subtle);border-color:var(--accent);animation:3s ease-in-out infinite cellGlow}@keyframes cellPulse{0%,to{opacity:.3}50%{opacity:.7}}@keyframes cellGlow{0%,to{opacity:.5;box-shadow:0 0 #c96f4a00}50%{opacity:1;box-shadow:0 0 20px #c96f4a47}}.input-screen{max-width:800px;margin:0 auto;padding:3rem 2rem 4rem;animation:.5s ease-out slideUp}.back-button{border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font);border-radius:var(--radius);cursor:pointer;transition:all var(--transition);background:0 0;align-items:center;gap:.5rem;margin-bottom:2rem;padding:.5rem 1rem;font-size:.85rem;display:inline-flex}.back-button:hover{border-color:var(--text-muted);color:var(--text)}.input-header{margin-bottom:3rem}.input-header h2{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--ink);margin-bottom:.75rem;font-size:2.2rem;font-weight:400;line-height:1.15}.input-header p{color:var(--text-secondary);font-size:1.05rem}.input-form{flex-direction:column;gap:2rem;display:flex}.question-block{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:all var(--transition);padding:1.75rem;position:relative}.question-block.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), 0 8px 24px #c96f4a1a}.question-number{font-family:var(--mono);color:var(--accent-glow);letter-spacing:.05em;margin-bottom:.75rem;font-size:.75rem}.question-block label{margin-bottom:1rem;font-size:1.05rem;font-weight:600;line-height:1.4;display:block}.question-block textarea{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--text);font-family:var(--font);resize:vertical;transition:border-color var(--transition);min-height:100px;padding:1rem 1.25rem;font-size:.95rem;line-height:1.6}.question-block textarea:focus{outline:2px solid var(--accent-glow);outline-offset:2px;border-color:var(--accent)}.question-block textarea:focus:not(:focus-visible){outline:none}.question-block textarea::placeholder{color:var(--text-muted);font-style:italic}.submit-button{align-self:flex-start;margin-top:1rem;padding:1.1rem 2.5rem;font-size:1.1rem}.loading-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:2rem;animation:.5s ease-out fadeIn;display:flex}.loading-visual{width:80px;height:80px;margin-bottom:2.5rem;position:relative}.pulse-ring{border:2px solid var(--accent);border-radius:50%;animation:2s ease-out infinite pulseRing;position:absolute;inset:0}.pulse-ring.delay-1{animation-delay:.5s}.pulse-ring.delay-2{animation-delay:1s}@keyframes pulseRing{0%{opacity:1;transform:scale(.5)}to{opacity:0;transform:scale(2)}}.loading-state h2{margin-bottom:.75rem;font-size:1.6rem;font-weight:700}.loading-state>p{color:var(--text-secondary);max-width:400px;margin-bottom:2.5rem}.loading-steps{text-align:left;flex-direction:column;gap:1rem;display:flex}.loading-step{color:var(--text-muted);opacity:0;align-items:center;gap:.75rem;font-size:.9rem;animation:.5s ease-out forwards stepAppear;display:flex}.step-dot{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite dotPulse}@keyframes stepAppear{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes dotPulse{0%,to{opacity:.4}50%{opacity:1}}.error-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:560px;min-height:100vh;margin:0 auto;padding:2rem;display:flex}.error-icon{opacity:.8;margin-bottom:1.5rem;font-size:2.5rem}.error-state h2{margin-bottom:1rem;font-size:1.6rem}.error-message{color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:left;margin-bottom:2rem;padding:1.25rem 1.5rem;font-size:1rem;line-height:1.7}.secondary-button{background:var(--surface-2);border:1px solid var(--border)}.secondary-button:hover{border-color:var(--text-muted);box-shadow:none}.cta-group{flex-wrap:wrap;gap:1rem;margin-bottom:0;display:flex}.demo-button{border:1px solid var(--border);color:var(--text-secondary);background:0 0;font-weight:500}.demo-button:hover{border-color:var(--accent);color:var(--text);box-shadow:0 4px 16px #c96f4a26}.demo-button:hover:before{opacity:0}.demo-banner{border-radius:var(--radius);color:var(--text-secondary);background:#e8b93a14;border:1px solid #e8b93a33;margin-bottom:2rem;padding:.85rem 1.25rem;font-size:.88rem;line-height:1.5}.demo-banner span{font-family:var(--mono);color:var(--accent-3);letter-spacing:.08em;font-size:.75rem;font-weight:600}.results-screen{max-width:860px;margin:0 auto;padding:3rem 2rem 5rem;animation:.6s ease-out slideUp}.results-header{margin-bottom:3rem}.results-header h1{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--ink);font-size:clamp(2rem,4.5vw,3rem);font-weight:400;line-height:1.1}.result-section{margin-bottom:3rem}.section-label{font-family:var(--mono);letter-spacing:.15em;color:var(--accent-glow);border-bottom:1px solid var(--border);margin-bottom:1.25rem;padding-bottom:.75rem;font-size:.7rem;font-weight:500}.primary-gap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);border-left:3px solid var(--accent);padding:2rem}.primary-gap h2{font-family:var(--font-serif);letter-spacing:-.005em;color:var(--ink);margin-bottom:1rem;font-size:1.7rem;font-weight:400}.primary-gap p{color:var(--text-secondary);font-size:1.05rem;line-height:1.7}.factors-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;display:grid}.factor-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:border-color var(--transition);padding:1.5rem}.factor-card:hover{border-color:var(--border-active)}.factor-number{font-family:var(--mono);color:var(--accent-2);margin-bottom:.75rem;font-size:.75rem}.factor-card h3{margin-bottom:.75rem;font-size:1.1rem;font-weight:600}.factor-card p{color:var(--text-secondary);font-size:.92rem;line-height:1.6}.cost-card{border-radius:var(--radius-lg);background:linear-gradient(135deg,#e8b93a14,#f0c84f0f);border:1px solid #e8b93a33;padding:2rem}.cost-card p{color:var(--text);font-size:1.1rem;line-height:1.7}.actions-list{flex-direction:column;gap:1.25rem;display:flex}.action-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);transition:all var(--transition);gap:1.5rem;padding:1.5rem;display:flex}.action-item:hover{border-color:var(--accent);transform:translate(4px)}.action-number{background:var(--accent-subtle);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.action-number span{font-family:var(--mono);color:var(--accent-glow);letter-spacing:.05em;text-align:center;font-size:.65rem;font-weight:500;line-height:1.2}.action-content h3{margin-bottom:.5rem;font-size:1.1rem;font-weight:600}.action-content p{color:var(--text-secondary);margin-bottom:.75rem;font-size:.95rem;line-height:1.6}.action-timeline{font-family:var(--mono);color:var(--accent-3);letter-spacing:.05em;font-size:.75rem}.maturity-track{flex-direction:column;gap:0;display:flex;position:relative}.maturity-stage{transition:all var(--transition);border-radius:var(--radius);align-items:flex-start;gap:1.25rem;padding:1.25rem 1.5rem;display:flex;position:relative}.maturity-stage:before{content:"";background:var(--border);width:2px;position:absolute;top:0;bottom:0;left:2.65rem}.maturity-stage:first-child:before{top:50%}.maturity-stage:last-child:before{bottom:50%}.maturity-stage.active{background:var(--accent-subtle);border:1px solid #c96f4a40}.maturity-stage.passed .stage-marker{background:var(--accent);border-color:var(--accent)}.maturity-stage.passed .stage-number{color:#fff;font-size:0}.maturity-stage.passed .stage-number:after{content:"✓";font-size:.85rem}.stage-marker{border:2px solid var(--border);background:var(--surface);z-index:2;width:36px;height:36px;transition:all var(--transition);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.maturity-stage.active .stage-marker{border-color:var(--accent);background:var(--accent);box-shadow:0 0 16px #c96f4a66}.stage-number{font-family:var(--mono);color:var(--text-muted);font-size:.8rem;font-weight:600}.maturity-stage.active .stage-number{color:#fff}.stage-info{padding-top:.35rem}.stage-label{margin-bottom:.2rem;font-size:1rem;font-weight:600}.stage-desc{color:var(--text-muted);font-size:.85rem;font-style:italic}.maturity-stage.active .stage-label{color:var(--accent-glow)}.maturity-stage.active .stage-desc{color:var(--text-secondary)}.maturity-explanation{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-top:1.25rem;padding:1.5rem}.maturity-explanation p{color:var(--text-secondary);font-size:.95rem;line-height:1.7}.results-footer{text-align:center;border-top:1px solid var(--border);margin-top:4rem;padding-top:2rem}.results-footer-buttons{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.export-deliverable-button{border:1.5px solid var(--accent);color:var(--accent-glow);background:0 0;position:relative;overflow:hidden}.export-deliverable-button:before{content:"";opacity:1;transition:opacity var(--transition);background:linear-gradient(135deg,#c96f4a14,#b05a3a14);position:absolute;inset:0}.export-deliverable-button:hover{border-color:var(--accent-glow);color:#fff;background:0 0;box-shadow:0 0 24px #c96f4a40,inset 0 0 20px #c96f4a1a}.export-deliverable-button:hover:before{opacity:1;background:linear-gradient(135deg,#c96f4a26,#b05a3a26)}.export-icon{transition:transform var(--transition);font-size:1.15rem;font-weight:700}.export-deliverable-button:hover .export-icon{transform:translate(2px,-2px)}.cta-button:focus-visible,.back-button:focus-visible,.demo-button:focus-visible,.export-deliverable-button:focus-visible,.secondary-button:focus-visible{outline:2px solid var(--accent-glow);outline-offset:3px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.landing-page,.input-screen,.results-screen,.loading-state,.grid-cell,.grid-cell.active,.pulse-ring,.step-dot{animation:none}}@media (width<=768px){.landing-page{padding:1.5rem}.landing-content{text-align:left}.landing-visual{display:none}.trust-bar{flex-wrap:wrap;gap:.3rem .5rem}.input-screen,.results-screen{padding:2rem 1.25rem 3rem}.question-block{padding:1.25rem}.factors-grid{grid-template-columns:1fr}.action-item{flex-direction:column;gap:1rem}.action-number{width:40px;height:40px}.maturity-stage{padding:1rem}.cta-button{justify-content:center;width:100%}.results-footer-buttons{flex-direction:column;align-items:stretch}.submit-button{align-self:stretch}}@media (width<=480px){.landing-page h1{font-size:1.75rem}.subhead{font-size:1rem}.results-header h1{font-size:1.5rem}.primary-gap h2{font-size:1.25rem}}.r-sticky{background:var(--terracotta);color:#000;font-family:var(--font-script);border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:inline-flex;transform:rotate(-4deg)}.r-sticky.lg{width:78px;height:78px;font-size:44px}.r-sticky.md{width:58px;height:58px;font-size:32px}.r-sticky.sm{width:34px;height:34px;font-size:20px}.r-sticky.xs{width:26px;height:26px;font-size:16px}.brand-bar{background:var(--cream);border-bottom:1px solid var(--border);padding:18px 0}.brand-bar-inner{justify-content:space-between;align-items:center;gap:24px;max-width:1160px;margin:0 auto;padding:0 32px;display:flex}.brand-mark{font-family:var(--font-serif);color:var(--ink);letter-spacing:.2px;font-size:22px;text-decoration:none}.brand-mark .b-the{opacity:.62;letter-spacing:1.5px;text-transform:lowercase;margin-bottom:2px;font-size:13px;line-height:1;display:block}.brand-mark .b-name{line-height:1;display:block}.brand-tool-label{font-family:var(--font);letter-spacing:4px;color:var(--terracotta);text-transform:uppercase;font-size:11px;font-weight:600}.brand-back{font-family:var(--font);color:var(--ink);opacity:.72;font-size:13px;font-weight:500;text-decoration:none;transition:opacity .15s}.brand-back:hover{opacity:1}.brand-foot{background:var(--ink);color:var(--cream);margin-top:auto;padding:28px 0 32px}.brand-foot-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;max-width:1160px;margin:0 auto;padding:0 32px;display:flex}.brand-foot-left{align-items:center;gap:14px;display:flex}.brand-foot-name{font-family:var(--font-serif);letter-spacing:.2px;font-size:18px}.brand-foot-tag{font-family:var(--font);opacity:.65;letter-spacing:.2px;font-size:12px}.brand-foot a{color:var(--mustard);font-family:var(--font);letter-spacing:.4px;border-bottom:1px solid #0000;font-size:12px;font-weight:600;text-decoration:none;transition:border-color .15s}.brand-foot a:hover{border-bottom-color:var(--mustard)}.app{flex-direction:column;min-height:100vh;display:flex}.screen-container{flex-direction:column;flex:1;display:flex}.landing-page,.loading-state,.error-state{flex:1;min-height:calc(100vh - 200px)}.landing-content{width:100%;position:relative}.landing-r{position:absolute;top:0;right:-8px}@media (width<=640px){.landing-r{display:none}}.badge{color:var(--terracotta);font-family:var(--font);letter-spacing:.32em;text-transform:uppercase;background:0 0;border:none;border-radius:0;align-items:center;gap:6px;margin-bottom:1.5rem;padding:0;font-size:11px;font-weight:600;display:inline-flex}.landing-page h1 .accent{color:var(--ink);font-style:italic;position:relative}.landing-page h1 .accent:after{content:"";background:var(--mustard);opacity:.55;z-index:-1;height:10px;position:absolute;bottom:4px;left:0;right:0}.subhead{color:var(--text-secondary);max-width:560px;margin-bottom:2rem;font-size:1.05rem;line-height:1.7}.trust-bar{color:var(--text-muted);font-size:11.5px;font-family:var(--font);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:10px;margin-top:0;margin-bottom:2.25rem;font-weight:500;display:flex}.trust-bar .dot{opacity:.4;color:var(--text-muted)}.cta-group{flex-wrap:wrap;align-items:center;gap:14px;margin-top:0;display:flex}.cta-button{background:var(--mustard);color:var(--ink);font-family:var(--font);letter-spacing:.3px;border-radius:var(--radius);box-shadow:none;border:none;padding:16px 28px;font-size:14px;font-weight:600}.cta-button:before{display:none}.cta-button:hover{background:var(--gold-glow);transform:translateY(-1px);box-shadow:0 4px 14px #1f1b1624}.cta-button .arrow{color:var(--ink);font-size:1rem}.cta-button.demo-button{color:var(--ink);border:1px solid var(--ink);opacity:.85;background:0 0;font-weight:500}.cta-button.demo-button:hover{background:var(--ink);color:var(--cream);opacity:1;box-shadow:none}.landing-content .cta-group{order:0}.landing-visual{opacity:.1}.grid-cell{border-color:#1f1b161f}.grid-cell.active{background:#c96f4a0f;border-color:#c96f4a4d}
