:root{--black:#111;--red:#c1121f;--red-dark:#8f0d17;--white:#fff;--gray:#f5f5f5;--mid:#676767;--line:#dedede;--shadow:0 18px 50px rgba(17,17,17,.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--gray);color:var(--black);font-family:"Open Sans",sans-serif;font-size:16px;line-height:1.55}.topbar{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:16px max(24px,calc((100vw - 1180px)/2));background:rgba(17,17,17,.96);color:#fff;box-shadow:0 2px 18px rgba(0,0,0,.2)}.brand{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none;font-family:Montserrat,sans-serif;letter-spacing:.02em}.brand b{display:block;font-size:.9rem}.brand small{display:block;color:#bbb;font-family:"Open Sans",sans-serif;font-size:.72rem}.brand-mark{position:relative;width:38px;height:38px;border:4px solid var(--red);border-right-color:transparent;border-radius:50%;transform:rotate(22deg)}.brand-mark span{position:absolute;width:4px;height:14px;background:#fff;left:15px;top:10px;transform:rotate(42deg);border-radius:3px;transform-origin:bottom}.progress-wrap{display:flex;align-items:center;gap:12px;min-width:220px;font-size:.78rem}.progress-track{width:120px;height:6px;background:#444;border-radius:4px;overflow:hidden}.progress-track span{display:block;width:0;height:100%;background:var(--red);transition:width .3s ease}main{max-width:1180px;margin:auto;padding:54px 24px 80px}.intro{display:grid;grid-template-columns:1.5fr .8fr;gap:44px;align-items:end;margin-bottom:42px}.eyebrow{margin:0 0 9px;color:var(--red);font-family:Montserrat,sans-serif;font-size:.75rem;font-weight:800;letter-spacing:.14em}.intro h1{max-width:800px;margin:0 0 18px;font-family:Montserrat,sans-serif;font-size:clamp(2.4rem,6vw,5.3rem);line-height:.98;letter-spacing:-.055em}.intro>div>p:last-child{max-width:710px;color:#494949;font-size:1.08rem}.north-star{border-left:5px solid var(--red);padding:12px 0 12px 25px}.north-star>span{font-family:Montserrat,sans-serif;font-size:.68rem;font-weight:800;letter-spacing:.14em}.north-star p{font-family:"Playfair Display",serif;font-size:1.35rem;line-height:1.35}.north-star strong{color:var(--red)}form{display:grid;gap:22px}.panel{display:grid;grid-template-columns:76px 1fr;background:#fff;border-radius:4px;box-shadow:var(--shadow);overflow:hidden}.section-number{padding-top:34px;background:var(--black);color:#fff;text-align:center;font-family:Montserrat,sans-serif;font-weight:800;font-size:1.2rem;border-top:5px solid var(--red)}.section-content{padding:34px 42px 42px}.section-content h2,.result h2{margin:0 0 18px;font-family:Montserrat,sans-serif;font-size:clamp(1.65rem,3vw,2.4rem);line-height:1.1;letter-spacing:-.025em}.helper{margin-top:-8px;color:var(--mid)}label{display:grid;gap:8px;color:#333;font-family:Montserrat,sans-serif;font-weight:700;font-size:.87rem}.field-grid,.commitment-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:20px}input,textarea{width:100%;border:1.5px solid var(--line);border-radius:4px;padding:13px 14px;background:#fff;color:var(--black);font:inherit;font-size:1rem;outline:none;transition:border .2s,box-shadow .2s}textarea{resize:vertical}input:focus,textarea:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(193,18,31,.1)}.condition-list{display:grid;gap:11px;margin-top:24px}.condition{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:24px;padding:14px 16px;border:1px solid var(--line);border-radius:4px}.condition-info strong{display:block;font-family:Montserrat,sans-serif}.condition-info small{color:var(--mid)}.rating{display:flex;justify-content:flex-end;gap:7px}.rating input{position:absolute;opacity:0;pointer-events:none}.rating label{display:grid;place-items:center;width:38px;height:38px;border:1.5px solid #ccc;border-radius:50%;cursor:pointer;font-size:.9rem;transition:.2s}.rating input:checked+label{background:var(--red);border-color:var(--red);color:#fff;transform:scale(1.07)}.rating label:hover{border-color:var(--red)}.score-card{display:grid;grid-template-columns:112px 1fr;gap:22px;align-items:center;margin-top:24px;padding:22px;background:var(--black);color:#fff;border-radius:4px}.score-ring{width:100px;height:100px;display:grid;place-content:center;border:8px solid #363636;border-top-color:var(--red);border-radius:50%;text-align:center}.score-ring span{font-family:Montserrat,sans-serif;font-size:2rem;font-weight:800;line-height:1}.score-ring small{color:#aaa}.score-kicker{font-family:Montserrat,sans-serif;font-size:.68rem;font-weight:800;letter-spacing:.12em;color:#aaa}.score-card h3{margin:5px 0 3px;font-family:Montserrat,sans-serif}.score-card p{margin:0;color:#bbb}.cycle-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:24px 0 18px}.cycle-tabs button{border:0;border-bottom:3px solid #ddd;background:#f2f2f2;padding:13px 6px;color:#555;font-family:Montserrat,sans-serif;font-weight:800;cursor:pointer}.cycle-tabs button.active{background:var(--black);border-color:var(--red);color:#fff}.cycle-step{display:none}.cycle-step.active{display:block;animation:fade .25s}.cycle-step h3{font-family:Montserrat,sans-serif;margin:0 0 4px}.cycle-step p{margin:0 0 14px;color:var(--mid)}@keyframes fade{from{opacity:.4;transform:translateY(3px)}}.pledge{display:flex;align-items:flex-start;gap:13px;margin-top:24px;padding:18px;background:#f5f5f5;border-left:4px solid var(--red);font-family:"Playfair Display",serif;font-size:1.07rem;font-style:italic}.pledge input{width:20px;height:20px;accent-color:var(--red);flex:none}.result{padding:38px 42px;background:var(--red);color:#fff;box-shadow:var(--shadow)}.result-top{display:flex;justify-content:space-between;gap:16px}.result .eyebrow{color:#fff}.result-top span{font-size:.78rem;color:#ffd3d6}.summary-preview{padding:18px 20px;background:rgba(0,0,0,.2);border-left:3px solid #fff;white-space:pre-line}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}button{min-height:44px;border:1.5px solid transparent;border-radius:4px;padding:10px 17px;font:700 .84rem Montserrat,sans-serif;cursor:pointer}.actions button{background:#fff;color:var(--black)}.actions .primary{background:var(--black);color:#fff}.actions .quiet{margin-left:auto;background:transparent;border-color:rgba(255,255,255,.55);color:#fff}footer{display:flex;justify-content:space-between;gap:18px;padding:28px max(24px,calc((100vw - 1180px)/2));background:var(--black);color:#aaa;font-size:.75rem;letter-spacing:.07em}footer span:first-child,footer span:last-child{color:#fff;font-family:Montserrat,sans-serif;font-weight:800}#toast{position:fixed;right:22px;bottom:22px;z-index:20;opacity:0;transform:translateY(10px);background:#fff;color:#111;padding:12px 16px;box-shadow:0 8px 30px rgba(0,0,0,.2);font-weight:700;pointer-events:none;transition:.25s}#toast.show{opacity:1;transform:none}@media(max-width:760px){.topbar{padding:13px 16px}.brand small,.progress-wrap>span{display:none}.progress-wrap{min-width:90px}.progress-track{width:90px}.intro{grid-template-columns:1fr;gap:10px}.north-star{margin-top:8px}.panel{grid-template-columns:1fr}.section-number{padding:7px 16px;text-align:left;border-top:0;border-left:5px solid var(--red)}.section-content{padding:28px 20px 32px}.field-grid,.commitment-grid{grid-template-columns:1fr}.condition{grid-template-columns:1fr;gap:10px}.rating{justify-content:flex-start}.cycle-tabs{display:flex;overflow-x:auto}.cycle-tabs button{min-width:105px}.score-card{grid-template-columns:90px 1fr;padding:16px}.score-ring{width:80px;height:80px}.result{padding:28px 20px}.actions button{flex:1 1 45%}.actions .quiet{margin-left:0}footer{flex-direction:column;text-align:center}.intro h1{font-size:2.55rem}}@media print{.topbar,.actions,footer{display:none}body{background:#fff}.intro,.panel{break-inside:avoid}.panel{box-shadow:none;border:1px solid #ddd}main{padding:15px}.result{background:#fff;color:#111;border:2px solid #111}.summary-preview{background:#f5f5f5}.result .eyebrow{color:var(--red)}}
