/* Phase 2: focused product surfaces for Compare and Blueprint. */
.compare-hero { padding:clamp(48px,6vw,78px) 0 82px; }
.compare-hero h1 { max-width:850px; font-size:clamp(2.9rem,5.8vw,5rem); }
.compare-controls { margin-top: -50px; }
.phase2-verdict { margin: 34px 0 22px; padding: clamp(24px,4vw,38px); border-radius: 22px; background: var(--ink); color: white; }
.phase2-verdict-head { display:flex; justify-content:space-between; align-items:start; gap:25px; }
.phase2-verdict-head h2 { margin:4px 0 22px; color:white; font-size:clamp(1.8rem,3vw,2.7rem); }
.phase2-score-pair { display:flex; gap:8px; flex-wrap:wrap; }
.phase2-score-pair span { padding:7px 11px; border:1px solid rgba(255,255,255,.22); border-radius:999px; font-size:.76rem; white-space:nowrap; }
.phase2-score-pair b { color:var(--lime); }
.phase2-score-pair .save-city { margin-left:6px; padding:4px 7px; border-color:rgba(255,255,255,.3); background:transparent; color:white; font-size:.7rem; }
.phase2-verdict-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.phase2-verdict-grid article { min-height:172px; padding:18px; border:1px solid rgba(255,255,255,.16); border-radius:14px; background:rgba(255,255,255,.06); }
.phase2-verdict-grid article span { display:block; color:var(--lime); font-size:.84rem; font-weight:600; }
.phase2-verdict-grid article p { margin:10px 0 0; color:#e3eaf4; font-size:.89rem; }
.phase2-warning { max-width:960px; margin:18px 0 0; color:#d4deed; font-size:.88rem; }
.phase2-warning strong { color:white; }
.phase2-axes { display:grid; gap:12px; margin-bottom:50px; }
.phase2-axis { padding:clamp(20px,3vw,30px); border:1px solid var(--line); border-radius:18px; background:white; }
.phase2-axis-heading { display:flex; justify-content:space-between; align-items:start; gap:22px; padding-bottom:16px; border-bottom:1px solid var(--line); }
.phase2-axis-number { display:inline-block; color:#58730d; font-size:.7rem; font-weight:600; letter-spacing:.08em; }
.phase2-axis h3 { margin:4px 0; font-size:1.25rem; letter-spacing:0; }
.phase2-axis-heading p { margin:0; color:var(--muted); font-size:.82rem; }
.phase2-axis-help { flex:0 0 210px; position:relative; font-size:.8rem; }
.phase2-axis-help summary { cursor:pointer; color:#405a09; font-weight:600; text-align:right; }
.phase2-axis-help p { position:absolute; z-index:3; right:0; top:28px; width:min(300px,80vw); padding:14px; border:1px solid var(--line); border-radius:10px; background:white; box-shadow:var(--shadow); color:var(--ink); line-height:1.45; }
.phase2-axis-cities { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; padding-top:18px; }
.phase2-axis-city { display:flex; justify-content:space-between; gap:8px; font-size:.9rem; }
.phase2-axis-city span { font-weight:600; }
.phase2-meter { height:6px; margin:9px 0 13px; border-radius:99px; background:#e5ebf4; overflow:hidden; }
.phase2-meter i { display:block; height:100%; border-radius:99px; background:#81ae20; }
.phase2-axis-cities p { margin:0; color:#46536a; font-size:.83rem; line-height:1.55; }
.phase2-cost { padding:clamp(24px,4vw,42px); border:1px solid var(--line); border-radius:22px; background:white; box-shadow:0 12px 42px rgba(8,21,47,.05); }
.phase2-cost .section-head { margin-bottom:22px; }
.phase2-cost .section-head h2 { margin:0; }
.phase2-cost-top { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.phase2-cost .field label, .phase2-cost-field > span { display:block; margin-bottom:6px; font-size:.81rem; font-weight:600; }
.phase2-cost input, .phase2-cost select { width:100%; min-height:47px; padding:10px 12px; border:1px solid #b9c8dc; border-radius:10px; background:#fbfcff; color:var(--ink); }
.phase2-cost input:focus, .phase2-cost select:focus { outline:3px solid rgba(137,190,22,.25); border-color:#6f9218; }
.phase2-cost input[readonly] { background:#edf2f7; }
.phase2-private-note { margin:16px 0 24px; color:var(--muted); font-size:.78rem; }
.phase2-cost-grid, .phase2-cash-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.phase2-cost-city { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; margin:0; padding:20px; border:1px solid var(--line); border-radius:15px; }
.phase2-cost-city legend { padding:0 8px; font-size:1.1rem; font-weight:600; }
.phase2-cost-city legend span { color:var(--muted); font-size:.8rem; }
.phase2-cost-city > p { grid-column:1/-1; margin:0; color:var(--muted); font-size:.8rem; }
.phase2-cost-field { display:block; min-width:0; }
.phase2-cost-field small { display:block; margin-top:5px; color:var(--muted); font-size:.76rem; line-height:1.45; }
.phase2-cost-city > .phase2-cost-field:first-of-type { grid-column:1/-1; }
.phase2-cash-results { margin-top:18px; }
.phase2-cash-results article { padding:23px; border-radius:15px; background:#eef5e2; }
.phase2-cash-results article.is-negative { background:#fff1ee; }
.phase2-cash-results article > span { display:block; color:#526431; font-size:.76rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; }
.phase2-cash-results article > strong { display:block; margin:5px 0; font-size:clamp(1.7rem,3.2vw,2.7rem); letter-spacing:0; line-height:1.15; }
.phase2-cash-results article > p { margin:0 0 13px; font-size:.81rem; }
.phase2-cash-results dl { margin:0; border-top:1px solid rgba(8,21,47,.16); }
.phase2-cash-results dl div { display:flex; justify-content:space-between; gap:8px; padding:7px 0; border-bottom:1px solid rgba(8,21,47,.11); font-size:.79rem; }
.phase2-cash-results dt { color:#47546a; }
.phase2-cash-results dd { margin:0; font-weight:600; }
.phase2-methodology { margin-top:18px; padding:13px 16px; border:1px solid var(--line); border-radius:10px; font-size:.84rem; }
.phase2-methodology summary { cursor:pointer; font-weight:600; }
.phase2-methodology p { max-width:850px; color:var(--muted); }
.phase2-score-method { max-width:980px; margin:-28px 0 48px; background:white; }
.blueprint-step-nav { grid-template-columns:repeat(5,minmax(0,1fr)); }
.blueprint-progress-track span { width:20%; }
.phase2-obligations { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:0 0 22px; }
.phase2-obligations label { display:flex; align-items:center; gap:9px; padding:11px; border:1px solid var(--line); border-radius:10px; background:#fbfcff; font-size:.87rem; cursor:pointer; }
.phase2-obligations input { width:18px; height:18px; flex:0 0 auto; accent-color:#668c10; }
.phase2-form-error { min-height:1.3em; margin:0; color:#a32222; font-size:.83rem; }
.phase2-plan { max-height:none; overflow:visible; }
.phase2-plan > p { color:#d3dceb; }
.phase2-overview-progress { margin:17px 0 12px; color:var(--lime) !important; font-size:.82rem; font-weight:600; }
.phase2-review-link { display:flex; justify-content:center; margin:0 0 15px; color:white !important; border-color:rgba(255,255,255,.45) !important; }
.phase2-details { padding-top:10px; scroll-margin-top:96px; }
.phase2-details[hidden] { display:none !important; }
.phase2-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; align-items:stretch; }
.phase2-details .phase2-plan-section { height:100%; margin:0; border-color:var(--line); background:white; }
.phase2-details .phase2-plan-section h3 { color:#405e0d; }
.phase2-details .phase2-plan-section li { color:#26364f; }
.phase2-details #bp2-timeline { margin-top:18px; }
.phase2-details .phase2-timeline { padding:clamp(22px,3vw,32px); }
.phase2-details .phase2-timeline-head h3 { font-size:1.08rem; }
.phase2-details .phase2-timeline-head span, .phase2-details .phase2-timeline > p { color:var(--muted); }
.phase2-details .phase2-timeline-phase { border-color:var(--line); }
.phase2-details .phase2-timeline-phase h4 { color:var(--ink); }
.phase2-details .phase2-task { color:#22334e; }
.phase2-details .phase2-task.is-done span { color:#77879a; }
.phase2-details .phase2-glossary-line { color:var(--muted); }
.phase2-details .blueprint-links { grid-template-columns:repeat(2,minmax(0,1fr)); }
.phase2-details .blueprint-links a { border-color:var(--line); color:var(--ink); background:white; }
.phase2-details .blueprint-links a:hover { border-color:#779c26; }
.phase2-plan-section { margin:18px 0; padding:17px; border:1px solid rgba(255,255,255,.17); border-radius:13px; background:rgba(255,255,255,.055); }
.phase2-plan-section h3 { margin:0 0 9px; color:var(--lime); font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; }
.phase2-plan-section ul { margin:0; padding-left:20px; }
.phase2-plan-section li { margin:7px 0; color:#eef3f8; font-size:.84rem; }
.phase2-red-flags { border-color:rgba(255,209,102,.4); background:rgba(255,209,102,.08); }
.phase2-red-flags h3 { color:var(--amber); }
.phase2-timeline-head { display:flex; justify-content:space-between; align-items:start; gap:10px; }
.phase2-timeline-head span { color:#d8e1ed; font-size:.72rem; white-space:nowrap; }
.phase2-timeline > p { margin:0 0 12px; color:#cbd6e4; font-size:.77rem; }
.phase2-timeline-phase { padding:12px 0; border-top:1px solid rgba(255,255,255,.13); }
.phase2-timeline-phase h4 { margin:0 0 9px; color:white; font-size:.92rem; }
.phase2-task { display:flex; gap:10px; align-items:start; padding:7px 0; cursor:pointer; color:#e9eff7; font-size:.81rem; }
.phase2-task input { width:17px; height:17px; flex:0 0 auto; margin:3px 0 0; accent-color:var(--lime); }
.phase2-task.is-done span { color:#aebed0; text-decoration:line-through; }
.phase2-glossary-line { margin:12px 0 0; color:#cdd6e2; font-size:.75rem; }
.phase2-term { position:relative; display:inline-block; border-bottom:1px dotted currentColor; color:inherit; font-weight:600; }
.phase2-term summary { display:inline; list-style:none; cursor:help; }
.phase2-term summary::-webkit-details-marker { display:none; }
.phase2-term p { position:absolute; z-index:5; left:0; top:1.5em; width:min(300px,80vw); margin:0; padding:13px; border:1px solid #b8c9e0; border-radius:10px; background:white; color:var(--ink); box-shadow:var(--shadow); font-size:.77rem; line-height:1.45; }
.phase2-term a { color:#355f9a; }
.phase2-print-summary { display:none; }
.phase2-dialog { width:min(480px,calc(100% - 28px)); max-height:calc(100vh - 28px); padding:0; border:1px solid var(--line); border-radius:19px; box-shadow:0 30px 90px rgba(8,21,47,.32); }
.phase2-dialog::backdrop { background:rgba(8,21,47,.65); backdrop-filter:blur(3px); }
.phase2-dialog-close { position:absolute; top:10px; right:13px; }
.phase2-dialog-close button { border:0; background:transparent; color:var(--ink); font-size:1.8rem; cursor:pointer; }
.phase2-dialog-body { padding:clamp(27px,5vw,39px); }
.phase2-dialog-body h2 { margin:5px 0 15px; font-size:2rem; line-height:1.1; }
.phase2-dialog-body p { color:var(--muted); font-size:.9rem; }
.phase2-dialog-body form { display:grid; gap:10px; margin-top:20px; }
.phase2-dialog-body label { font-weight:600; font-size:.82rem; }
.phase2-dialog-body input { min-height:48px; padding:11px 13px; border:1px solid #b9c8dc; border-radius:10px; }
.phase2-dialog-body small { display:block; margin-top:15px; color:var(--muted); }
@media (max-width:900px) {
  .phase2-verdict-grid { grid-template-columns:1fr; }
  .phase2-verdict-grid article { min-height:0; }
  .phase2-verdict-head { flex-direction:column; }
  .phase2-cost-top { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .phase2-plan { max-height:none; }
  .phase2-detail-grid { grid-template-columns:1fr 1fr; }
  .blueprint-step-nav { overflow-x:auto; grid-template-columns:repeat(5,minmax(144px,1fr)); }
}
@media (max-width:650px) {
  .phase2-axis-heading { display:block; }
  .phase2-axis-help { margin-top:10px; }
  .phase2-axis-help summary { text-align:left; }
  .phase2-axis-help p { left:0; right:auto; }
  .phase2-axis-cities, .phase2-cost-grid, .phase2-cash-results { grid-template-columns:1fr; }
  .phase2-axis-cities > div + div { padding-top:18px; border-top:1px solid var(--line); }
  .phase2-cost-top { grid-template-columns:1fr 1fr; }
  .phase2-obligations { grid-template-columns:1fr; }
  .phase2-detail-grid, .phase2-details .blueprint-links { grid-template-columns:1fr; }
}
@media (max-width:420px) {
  .phase2-cost-top, .phase2-cost-city { grid-template-columns:1fr; }
  .phase2-cost-city > p { grid-column:auto; }
}
@media print {
  @page { size:A4; margin:11mm; }
  body { background:white; color:#08152f; font-size:9pt; }
  .site-header, .site-footer, .blueprint-header, .blueprint-progress-panel, .blueprint-form, .blueprint-result > :not(.phase2-print-summary), main > section:not(:first-of-type), .page-next-step { display:none !important; }
  main > .section, .section .shell { margin:0 !important; padding:0 !important; width:100% !important; }
  .blueprint-layout { display:block; }
  .blueprint-result { max-height:none; margin:0; padding:0; border:0; box-shadow:none; overflow:visible; background:white; color:#08152f; }
  .phase2-print-summary { display:block !important; }
  .phase2-print-summary h2 { margin:0 0 3mm; color:#08152f; font-size:20pt; }
  .phase2-print-summary > p { margin:0 0 5mm; color:#47546a; }
  .phase2-print-columns { display:grid; grid-template-columns:1fr 1fr; gap:5mm; }
  .phase2-print-summary .phase2-plan-section { margin:0 0 3mm; padding:2mm 0; border:0; background:white; }
  .phase2-print-summary .phase2-plan-section h3, .phase2-print-summary > h3 { color:#314f07; font-size:9pt; margin:0 0 2mm; }
  .phase2-print-summary li { margin:1mm 0; color:#08152f; font-size:8pt; line-height:1.3; }
  .phase2-print-timeline { display:grid; grid-template-columns:repeat(3,1fr); gap:4mm; }
  .phase2-print-timeline section { padding:2mm; border:1px solid #d9dfeb; }
  .phase2-print-timeline h4 { margin:0 0 2mm; font-size:8.5pt; }
  .phase2-print-foot { margin-top:4mm !important; padding-top:2mm; border-top:1px solid #d9dfeb; font-size:7pt; }
}
.blueprint-calculation { display:flex; justify-content:space-between; align-items:center; gap:1.2rem; margin:0 0 1.4rem; padding:1.3rem 1.5rem; border:1px solid #b9d764; border-radius:15px; background:#f4ffde; }
.blueprint-calculation[hidden] { display:none !important; }
.blueprint-calculation .eyebrow { margin:0 0 .2rem; }
.blueprint-calculation strong { display:block; font-size:1.15rem; }
.blueprint-calculation p:last-child { margin:.25rem 0 0; color:#43534f; font-size:.9rem; }
.blueprint-calculation-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; }
.blueprint-calculation-actions a,.blueprint-calculation-actions button { padding:.5rem .7rem; border:1px solid #9ab35a; border-radius:8px; background:white; color:var(--ink); font-size:.85rem; font-weight:700; text-decoration:none; cursor:pointer; }
@media(max-width:650px){.blueprint-calculation{display:block}.blueprint-calculation-actions{margin-top:.9rem}}
