:root{--bg:#080b0d;--panel:#0d1215;--white:#f4f5f2;--muted:#8e989b;--line:rgba(255,255,255,.10);--lime:#b8ef5a;--green:#6ed79e;--orange:#ef9562}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{min-height:100vh;background:radial-gradient(circle at 80% 15%,rgba(184,239,90,.06),transparent 28%),#080b0d;color:var(--white);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}button,a{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}.journey-header{min-height:92px;padding:22px 4.5%;display:grid;grid-template-columns:1fr minmax(280px,500px) 1fr;align-items:center;gap:35px;border-bottom:1px solid var(--line)}.brand{font-size:17px;font-weight:950;letter-spacing:-.045em}.brand span{color:var(--lime)}.journey-progress-label{display:flex;justify-content:space-between;margin-bottom:9px;color:#727c7f;font-size:8px;font-weight:900;letter-spacing:.17em}.journey-progress-track{height:2px;background:rgba(255,255,255,.09)}.journey-progress-bar{height:100%;width:12.5%;background:var(--lime);transition:width .35s ease}.reset-top{justify-self:end;border:0;background:transparent;color:#6e787b;font-size:9px;font-weight:900;letter-spacing:.13em;cursor:pointer}.journey-shell{width:min(1440px,94%);min-height:calc(100vh - 92px);margin:auto;display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;align-items:center;padding:55px 0 70px}.journey-aside{align-self:start;padding:45px 10px 35px}.aside-kicker,.small-label{color:var(--lime);font-size:9px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}.journey-aside h1{margin-top:24px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(54px,6vw,92px);line-height:.91;font-weight:400;letter-spacing:-.055em}.journey-aside h1 span{color:var(--lime)}.journey-aside>p{max-width:520px;margin-top:27px;color:#899497;font-size:16px;line-height:1.75}.mini-map{margin-top:42px;display:grid;gap:8px;max-width:430px}.mini-map div{display:grid;grid-template-columns:14px 1fr;align-items:center;gap:10px;color:#606b6e;font-size:9px;font-weight:900;letter-spacing:.14em;transition:.25s}.mini-map i{width:8px;height:8px;border-radius:50%;border:1px solid rgba(255,255,255,.16);transition:.25s}.mini-map div.active{color:#cbd1d1}.mini-map div.active i{background:var(--lime);border-color:var(--lime);box-shadow:0 0 18px rgba(184,239,90,.25)}.journey-panel{min-height:650px;padding:42px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.008));box-shadow:0 30px 100px rgba(0,0,0,.28)}.question-stage{min-height:520px}.question-count{color:#697477;font-size:9px;font-weight:900;letter-spacing:.17em}.question-stage h2{margin-top:22px;max-width:820px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(38px,4vw,64px);line-height:1;font-weight:400;letter-spacing:-.045em}.question-subtitle{max-width:730px;margin-top:16px;color:#8d979a;font-size:15px;line-height:1.65}.option-grid{margin-top:34px;display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.option-card{min-height:134px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#0b1013;text-align:left;cursor:pointer;transition:.2s ease}.option-card:hover{transform:translateY(-2px);border-color:rgba(184,239,90,.30)}.option-card.selected{border-color:var(--lime);background:rgba(184,239,90,.055)}.option-top{display:flex;justify-content:space-between;gap:15px}.option-icon{color:var(--lime);font-size:10px;font-weight:950}.option-check{width:20px;height:20px;border:1px solid rgba(255,255,255,.15);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#11170a;font-size:11px}.option-card.selected .option-check{background:var(--lime);border-color:var(--lime)}.option-card h3{margin-top:20px;font-family:Georgia,"Times New Roman",serif;font-size:23px;font-weight:400}.option-card p{margin-top:7px;color:#7e898c;font-size:12px;line-height:1.5}.journey-actions{display:flex;justify-content:space-between;gap:15px;margin-top:24px;padding-top:23px;border-top:1px solid var(--line)}.back-button,.continue-button{min-height:48px;padding:0 19px;border-radius:100px;font-size:10px;font-weight:950;letter-spacing:.08em;cursor:pointer}.back-button{border:1px solid var(--line);background:transparent;color:#848f92}.continue-button{border:1px solid var(--lime);background:var(--lime);color:#10150a}.continue-button:disabled{cursor:not-allowed;opacity:.25}.result-hero{padding:100px max(5%,calc((100% - 1240px)/2));background:radial-gradient(circle at 80% 20%,rgba(184,239,90,.10),transparent 26%),#090d0f;border-bottom:1px solid var(--line)}.result-kicker{color:#8b9698;font-size:9px;font-weight:900;letter-spacing:.19em}.ready-layout{margin-top:40px;display:grid;grid-template-columns:.75fr 1.25fr;gap:90px;align-items:end}.ready-label{color:#747f82;font-size:10px;font-weight:900;letter-spacing:.17em}.ready-number{margin-top:5px;font-size:clamp(120px,17vw,250px);line-height:.8;font-weight:950;letter-spacing:-.09em;color:var(--lime)}.ready-number small{font-size:.25em}.ready-copy{margin-top:23px;color:#d2d7d7;font-size:13px;font-weight:950;letter-spacing:.17em}.ready-meter{height:9px;background:rgba(255,255,255,.08);border-radius:20px;overflow:hidden}.ready-meter-fill{width:0;height:100%;background:var(--lime);transition:width .8s ease}.ready-meter-wrap p{max-width:650px;margin-top:24px;font-family:Georgia,"Times New Roman",serif;color:#c1c8c7;font-size:clamp(24px,2.7vw,38px);line-height:1.25}.result-body{width:min(1240px,91%);margin:auto;padding:80px 0 120px}.area-statuses{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);border-radius:18px;overflow:hidden}.area-status{min-height:130px;padding:20px;border-right:1px solid var(--line)}.area-status:last-child{border-right:0}.area-status small{color:#626d70;font-size:8px;font-weight:900;letter-spacing:.15em}.area-status strong{display:block;margin-top:22px;font-family:Georgia,"Times New Roman",serif;font-size:18px;font-weight:400}.area-status span{display:block;margin-top:8px;font-size:9px;font-weight:900;letter-spacing:.11em}.area-status.ready span{color:var(--green)}.area-status.action span{color:var(--orange)}.area-status.optional span,.area-status.notrequired span{color:#697477}.plan-layout{margin-top:90px;display:grid;grid-template-columns:.72fr 1.28fr;gap:95px}.plan-intro h2{margin-top:17px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(44px,5vw,72px);line-height:.98;font-weight:400;letter-spacing:-.05em}.plan-intro h2 span{color:var(--lime)}.plan-intro p{margin-top:24px;color:#879295;font-size:15px;line-height:1.7}.plan-list{display:grid;gap:10px}.plan-item{padding:23px;border:1px solid var(--line);border-radius:15px;background:#0b1013}.plan-item-top{display:grid;grid-template-columns:48px 1fr auto;gap:15px;align-items:center}.plan-number{color:var(--lime);font-size:10px;font-weight:950}.plan-name{font-family:Georgia,"Times New Roman",serif;font-size:21px}.plan-area{color:#667174;font-size:8px;font-weight:900;letter-spacing:.13em}.plan-item p{margin-top:10px;padding-left:63px;color:#808b8e;font-size:12px;line-height:1.6}.plan-output{margin-top:13px;margin-left:63px;display:inline-block;padding:7px 10px;border:1px solid rgba(255,255,255,.08);border-radius:100px;color:#747f82;font-size:9px}.result-cta{margin-top:100px;padding:44px;display:grid;grid-template-columns:1fr auto;gap:70px;align-items:center;border:1px solid var(--line);border-radius:22px;background:linear-gradient(145deg,rgba(184,239,90,.055),rgba(255,255,255,.01))}.result-cta h2{margin-top:10px;font-family:Georgia,"Times New Roman",serif;font-size:34px;font-weight:400}.result-cta p{max-width:700px;margin-top:13px;color:#879295;font-size:14px;line-height:1.65}.result-buttons{display:flex;flex-direction:column;gap:8px;min-width:220px}.solid-button,.outline-button{min-height:48px;padding:0 17px;display:flex;align-items:center;justify-content:center;border-radius:100px;font-size:9px;font-weight:950;letter-spacing:.08em;cursor:pointer}.solid-button{border:1px solid var(--lime);background:var(--lime);color:#10150a}.outline-button{border:1px solid var(--line);background:transparent;color:#a4adaf}@media(max-width:1050px){.journey-header{grid-template-columns:1fr 1fr}.journey-progress-wrap{grid-column:1/-1;grid-row:2}.reset-top{grid-column:2;grid-row:1}.journey-shell{grid-template-columns:1fr;gap:20px}.mini-map{grid-template-columns:repeat(3,1fr)}.ready-layout,.plan-layout{grid-template-columns:1fr;gap:45px}.area-statuses{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.journey-shell{width:92%;padding-top:25px}.journey-aside h1{font-size:58px}.mini-map{grid-template-columns:repeat(2,1fr)}.journey-panel{min-height:auto;padding:24px;border-radius:20px}.question-stage{min-height:0}.option-grid{grid-template-columns:1fr}.ready-number{font-size:135px}.area-statuses{grid-template-columns:repeat(2,1fr)}.result-cta{grid-template-columns:1fr;padding:28px}.plan-item-top{grid-template-columns:38px 1fr}.plan-area{grid-column:2}.plan-item p,.plan-output{margin-left:53px;padding-left:0}}


/* ===== PHASE 1.1 FIXED ===== */
.journey-summary{margin-bottom:48px;padding:32px;border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.025),rgba(255,255,255,.006))}
.summary-head{display:grid;grid-template-columns:1fr .9fr;gap:50px;align-items:end}
.summary-head h2{margin-top:10px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,3.4vw,48px);line-height:1;font-weight:400;letter-spacing:-.045em}
.summary-head p{color:#7f898c;font-size:13px;line-height:1.65}
.summary-grid{margin-top:28px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.summary-item{min-height:96px;padding:17px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:#0a0f12}
.summary-item small{color:#667174;font-size:8px;font-weight:900;letter-spacing:.13em}
.summary-item strong{display:block;margin-top:9px;font-family:Georgia,"Times New Roman",serif;font-size:17px;line-height:1.25;font-weight:400}
.project-preview{margin-top:28px;padding:58px 0 10px}
.project-preview-inner{padding:44px;border:1px solid rgba(184,239,90,.22);border-radius:24px;background:radial-gradient(circle at 85% 10%,rgba(184,239,90,.065),transparent 25%),#0a0f12}
.project-preview h2{margin-top:12px;max-width:780px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(36px,4vw,58px);line-height:1;font-weight:400;letter-spacing:-.045em}
.project-preview-inner>p{max-width:780px;margin-top:18px;color:#849093;font-size:14px;line-height:1.7}
.project-grid{margin-top:34px;display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.project-card{min-height:170px;padding:23px;border:1px solid var(--line);border-radius:16px;background:#0d1316}
.project-card small{color:#687376;font-size:8px;font-weight:900;letter-spacing:.14em}
.project-card strong{display:block;margin-top:14px;color:var(--lime);font-size:38px;letter-spacing:-.05em}
.project-card p{margin-top:12px;color:#7e898c;font-size:12px;line-height:1.55}
.solid-button:disabled{cursor:default;opacity:.68}
@media(max-width:900px){.summary-head{grid-template-columns:1fr;gap:18px}.summary-grid{grid-template-columns:repeat(2,1fr)}.project-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.journey-summary,.project-preview-inner{padding:24px}.summary-grid,.project-grid{grid-template-columns:1fr}}


/* ===== PHASE 2 — PERSISTENT PROJECT SAVE ===== */
.save-status{
    margin-top:28px;
    padding:18px 22px;
    border:1px solid var(--line);
    border-radius:14px;
    font-size:13px;
    line-height:1.5;
}
.save-status.working{color:#aeb8ba;background:#0b1013}
.save-status.success{border-color:rgba(184,239,90,.35);background:rgba(184,239,90,.055);color:#dce9c6}
.save-status.error{border-color:rgba(255,139,116,.35);background:rgba(255,139,116,.055);color:#ffb09f}
.save-status strong{display:block;color:var(--lime);font-size:11px;letter-spacing:.12em}
.save-status span{display:block;margin-top:7px;color:#8d989a}

.passport-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-left: 18px;
    padding: 13px 22px;

    background: var(--accent, #b7f34b);
    color: #080b0c;

    border-radius: 999px;

    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;

    transition: transform .18s ease, opacity .18s ease;
}

.passport-button:hover {
    transform: translateY(-2px);
    opacity: .9;
}