body{min-height:100vh;background:#ede9e3}.page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.left-panel{background:#0d1f3c;padding:2rem 2.5rem;display:flex;flex-direction:column;justify-content:flex-start;position:sticky;top:0;height:100vh;overflow:hidden}.left-logo{display:flex;align-items:center;gap:10px;margin-bottom:1.5rem;text-decoration:none}.left-logo-mark{width:36px;height:36px;background:#c8102e;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:18px;color:#fff;font-weight:900;font-family:Playfair Display,serif}.left-logo-text{display:flex;flex-direction:column}.left-logo-name{font-size:15px;font-weight:700;color:#fff;letter-spacing:-.01em;line-height:1.1}.left-logo-tagline{font-size:10px;color:#c8102e;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.left-eyebrow{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#c8102e;margin-bottom:.75rem}.left-title{font-family:Playfair Display,Georgia,serif;font-size:clamp(1.65rem,2.8vw,2.2rem);color:#fff;line-height:1.2;margin-bottom:.9rem}.left-sub{font-size:15px;color:#a8c0d8;line-height:1.65;margin-bottom:1.5rem;max-width:26rem}.left-badges{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.left-badge{font-size:12px;font-weight:600;color:#fff;background:#ffffff14;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:6px 12px}.left-disclaimer{font-size:13px;color:#7a9ec0;line-height:1.6;padding:1rem 1.1rem;background:#0003;border-radius:12px;border-left:3px solid #c8102e;margin-bottom:1.25rem}.left-footer{font-size:12px;color:#7a9ec0;display:flex;align-items:center;gap:8px;margin-top:auto}.left-footer:before{content:"";width:6px;height:6px;background:#c8102e;border-radius:50%;flex-shrink:0}.right-panel{background:#ede9e3;padding:3rem 2.5rem;overflow-y:auto}.progress-wrap{margin-bottom:1.75rem}.progress-labels{display:flex;justify-content:space-between;margin-bottom:8px;gap:4px}.progress-label{font-size:10px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#a09080;transition:color .3s;text-align:center;flex:1;display:flex;flex-direction:column;gap:2px}.progress-label.active{color:#0d1f3c;font-weight:700}.progress-label.done{color:#c8102e}.progress-step-of{display:block;font-size:9px;letter-spacing:.06em;opacity:.9}.progress-step-name{display:block}.progress-track{height:3px;background:#d8d0c4;border-radius:999px}.progress-fill{height:3px;background:linear-gradient(90deg,#c8102e,#e8192e);border-radius:999px;transition:width .5s cubic-bezier(.4,0,.2,1)}.step-title{font-family:Playfair Display,serif;font-size:1.6rem;color:#0d1f3c;margin:0 0 .35rem;font-weight:700}.step-hint{font-size:14px;color:#333;margin-bottom:1.75rem;line-height:1.5}.field{margin-bottom:1.4rem}.field-label{display:block;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8b1528;margin-bottom:6px}.field-sublabel{font-size:13px;color:#444;margin-bottom:8px;line-height:1.5}.text-input,.sel-input{width:100%;padding:11px 14px;border:1.5px solid #d8cfc4;border-radius:10px;font-size:14px;font-family:Inter,sans-serif;color:#1a1a1a;background:#faf7f3;box-shadow:0 1px 3px #0000000d}.text-input:focus,.sel-input:focus{outline:none;border-color:#c8102e;box-shadow:0 0 0 3px #c8102e26}.placeholder-box{background:#fff;border:1.5px dashed #d8cfc4;border-radius:12px;padding:1.25rem 1.35rem;font-size:14px;color:#444;line-height:1.6;margin-bottom:.5rem}.pip-activity-list{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.25rem}.pip-activity{margin:0;padding:1.25rem 1.3rem 1.35rem;background:#fff;border:1.5px solid #e0dfd9;border-radius:14px;min-width:0}.pip-activity-name{font-family:Playfair Display,serif;font-size:1.2rem;color:#0d1f3c;font-weight:700;padding:0;margin-bottom:.4rem}.pip-activity-blurb{font-size:14px;color:#444;line-height:1.55;margin-bottom:.75rem}.pip-hint{margin-bottom:.9rem;border-radius:10px;background:#f5f4f0;border:1px solid #e4e0d8}.pip-hint summary{cursor:pointer;list-style:none;font-size:13px;font-weight:600;color:#0d1f3c;padding:.65rem .85rem}.pip-hint summary::-webkit-details-marker{display:none}.pip-hint summary:before{content:"+ ";color:#c8102e;font-weight:700}.pip-hint[open] summary:before{content:"− "}.pip-hint p{margin:0;padding:0 .85rem .85rem;font-size:13px;color:#444;line-height:1.55}.radio-group{display:flex;flex-direction:column;gap:8px}.radio-option{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border:1.5px solid #d8cfc4;border-radius:10px;cursor:pointer;font-size:14px;color:#2a1a0a;background:#faf7f3;transition:all .15s;font-weight:500;box-shadow:0 1px 3px #0000000d}.radio-option:hover{border-color:#c8102e}.radio-option.selected{border-color:#c8102e;background:#fff0f2}.radio-option input{accent-color:#c8102e;width:15px;height:15px;flex-shrink:0;cursor:pointer;margin-top:2px}.radio-option-text{flex:1;line-height:1.45}.radio-option-pts{flex-shrink:0;font-size:12px;font-weight:700;color:#8b1528;white-space:nowrap;padding-top:1px}.pip-score-bar{position:sticky;bottom:0;z-index:5;margin:.5rem 0 0;padding:1rem 1.15rem;background:#0d1f3c;color:#fff;border-radius:12px;box-shadow:0 -8px 24px #0d1f3c1f}.pip-score-label{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#a8c0d8;margin-bottom:.25rem}.pip-score-value{font-family:Playfair Display,serif;font-size:1.45rem;font-weight:700;color:#fff}.pip-score-thresholds{margin:.45rem 0 0;font-size:12px;color:#7a9ec0;line-height:1.45}.pip-result-scores{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;margin-bottom:1rem}.pip-result-score{background:#fff;border:1.5px solid #e0dfd9;border-radius:14px;padding:1.1rem 1.15rem;display:flex;flex-direction:column;gap:.35rem}.pip-result-score-title{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#8b1528}.pip-result-score-points{font-family:Playfair Display,serif;font-size:1.55rem;color:#0d1f3c;font-weight:700}.pip-result-score-level{font-size:13px;font-weight:600;color:#444}.pip-result-score-level.enhanced{color:#0a7a3e}.pip-result-score-level.standard{color:#0d1f3c}.pip-result-score-level.below{color:#8a6a20}.pip-result-weekly{background:#0d1f3c;color:#fff;border-radius:14px;padding:1.2rem 1.25rem;margin-bottom:1.5rem}.pip-result-weekly-label{display:block;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#a8c0d8;margin-bottom:.3rem}.pip-result-weekly-value{font-family:Playfair Display,serif;font-size:1.75rem;font-weight:700;color:#fff}.pip-result-weekly-breakdown{margin:.75rem 0 0;padding:0;list-style:none;font-size:13px;color:#a8c0d8;line-height:1.55}.pip-result-section{margin-bottom:1.5rem}.pip-result-heading{font-family:Playfair Display,serif;font-size:1.2rem;color:#0d1f3c;margin:0 0 .75rem;font-weight:700}.pip-insight-list{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.85rem}.pip-insight-list li{font-size:14px;color:#2a1a0a;line-height:1.5}.pip-insight-list p{margin:.25rem 0 0;color:#555;font-size:13px}.pip-warning{margin-top:1rem;padding:.9rem 1rem;background:#fff8e6;border:1.5px solid #e6c96a;border-radius:10px;font-size:13px;color:#5c4a12;line-height:1.55}.pip-guide-link{display:inline-flex;align-items:center;font-size:15px;font-weight:600;color:#c8102e;text-decoration:none;border-bottom:1.5px solid rgba(200,16,46,.35);padding-bottom:2px}.pip-guide-link:hover{border-bottom-color:#c8102e}.pip-next-cards{display:flex;flex-direction:column;gap:.75rem}.pip-next-card{display:block;background:#fff;border:1.5px solid #e0dfd9;border-radius:12px;padding:1rem 1.1rem;text-decoration:none;color:inherit;transition:border-color .15s}a.pip-next-card:hover{border-color:#c8102e}.pip-next-card strong{display:block;font-size:15px;color:#0d1f3c;margin-bottom:.3rem}.pip-next-card span{display:block;font-size:13px;color:#555;line-height:1.5}.pip-disclaimer{font-size:12px;color:#666;line-height:1.55;background:#f5f4f0;border-radius:10px;padding:.9rem 1rem;margin:0 0 .25rem}.nav{display:flex;justify-content:space-between;align-items:center;margin-top:1.25rem;padding-top:1.5rem;border-top:2px solid #d8cfc4}.nav-right{margin-left:auto}.btn-primary{padding:11px 24px;background:linear-gradient(135deg,#a00d24,#c8102e);color:#fff;border:none;border-radius:10px;font-family:Inter,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:opacity .15s}.btn-primary:hover:not(:disabled){opacity:.88}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{padding:11px 16px;background:transparent;color:#333;border:1.5px solid #c8c7c0;border-radius:10px;font-family:Inter,sans-serif;font-size:14px;font-weight:500;cursor:pointer}.btn-ghost:hover:not(:disabled){background:#f0f0ee}.btn-ghost:disabled{opacity:.45;cursor:not-allowed}.footer-note{text-align:center;font-size:11px;color:#888;margin-top:1rem}@media (max-width: 800px){.page{grid-template-columns:1fr}.left-panel{position:relative;height:auto;max-height:none;padding:1.35rem 1.15rem 1.5rem;overflow:visible}.right-panel{padding:1.35rem 1rem 2rem;overflow:visible;min-width:0}.left-title{font-size:1.4rem;margin-bottom:.65rem}.left-sub{font-size:14px;margin-bottom:1rem}.left-badges{margin-bottom:1rem}.left-disclaimer{margin-bottom:.75rem;padding:.85rem .95rem}.left-footer{margin-top:.5rem}.progress-wrap{margin-bottom:1.25rem}.progress-labels{gap:2px}.progress-label{font-size:9px;letter-spacing:.02em;min-width:0}.progress-step-of{font-size:8px}.progress-step-name{line-height:1.2}.step-title{font-size:1.35rem}.step-hint{font-size:13px;margin-bottom:1.25rem}.pip-activity{padding:1rem .95rem 1.1rem}.pip-activity-name{font-size:1.05rem}.pip-activity-blurb{font-size:13px}.radio-option{padding:10px 11px;gap:8px;font-size:13px;align-items:flex-start}.radio-option-pts{font-size:11px;max-width:3.5rem;text-align:right;white-space:normal;line-height:1.2}.pip-score-bar{padding:.9rem 1rem;border-radius:10px}.pip-score-value{font-size:1.25rem}.pip-score-thresholds{font-size:11px}.pip-result-scores{grid-template-columns:1fr}.pip-result-weekly-value{font-size:1.45rem}.nav{flex-direction:column-reverse;align-items:stretch;gap:.65rem}.nav-right{margin-left:0;width:100%}.nav-right .btn-primary,.btn-ghost,.btn-primary{width:100%;text-align:center;justify-content:center}.field-label{font-size:11px}.text-input,.sel-input{font-size:16px}}@media (max-width: 400px){.left-panel,.right-panel{padding-left:.9rem;padding-right:.9rem}.pip-activity-name{font-size:1rem}.radio-option{padding:9px 10px}}
