/* Harbour North CX-02A — Next Best Steps */
.next-steps-intro{max-width:760px;margin-top:8px}
.next-steps-list{display:grid;gap:14px;max-width:980px;margin-top:28px}
.next-step-card{background:rgba(255,253,248,.97);border:1px solid var(--line);border-radius:22px;box-shadow:0 10px 30px rgba(27,68,82,.06);overflow:hidden;transition:border-color .18s,box-shadow .18s}
.next-step-card.open{border-color:rgba(46,127,134,.38);box-shadow:0 16px 38px rgba(27,68,82,.09)}
.next-step-toggle{width:100%;border:0;background:transparent;color:inherit;text-align:left;padding:21px 22px;display:grid;grid-template-columns:42px minmax(0,1fr) auto 22px;gap:14px;align-items:center}
.next-step-number{width:38px;height:38px;border-radius:13px;background:var(--mist);display:grid;place-items:center;color:var(--sea);font-weight:900}
.next-step-heading{min-width:0}.next-step-heading strong{display:block;color:var(--navy);font-size:18px;line-height:1.3}.next-step-heading span{display:block;color:var(--muted);font-size:13px;margin-top:5px;line-height:1.4}
.next-step-badge{font-size:11px;font-weight:900;letter-spacing:.02em;padding:7px 10px;border-radius:999px;white-space:nowrap;background:#e5f1e9;color:var(--forest)}
.next-step-badge.moderate{background:#f4e9d1;color:#7a5b21}.next-step-badge.planning{background:#e7eef5;color:#365d78}
.next-step-chevron{font-size:20px;color:var(--sea);transition:transform .18s}.next-step-card.open .next-step-chevron{transform:rotate(180deg)}
.next-step-details{display:none;padding:0 22px 24px 78px;border-top:1px solid var(--line)}.next-step-card.open .next-step-details{display:block}
.next-step-detail-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:22px;padding-top:20px}.next-step-copy h4{margin:0 0 7px;color:var(--navy);font-size:14px}.next-step-copy p{margin:0;color:var(--muted);line-height:1.6}.next-step-meta{display:grid;gap:10px}.next-step-meta div{padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:#fff}.next-step-meta span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;margin-bottom:5px}.next-step-meta strong{color:var(--navy);font-size:14px;line-height:1.35}.next-step-action{margin-top:18px;padding:14px 15px;border-left:4px solid var(--gold);background:var(--sand);border-radius:9px;color:var(--deep);line-height:1.5}.next-step-empty{max-width:980px;margin-top:28px;text-align:center;padding:38px}
@media(max-width:760px){.next-step-toggle{grid-template-columns:38px minmax(0,1fr) 20px}.next-step-badge{grid-column:2;justify-self:start}.next-step-chevron{grid-column:3;grid-row:1}.next-step-details{padding:0 18px 22px}.next-step-detail-grid{grid-template-columns:1fr}.next-step-number{width:34px;height:34px}.next-step-heading strong{font-size:16px}}

/* CX-02B — advisor-style evidence and comparison */
.next-step-impact{margin-top:18px;padding:16px;border:1px solid rgba(46,127,134,.2);border-radius:14px;background:linear-gradient(135deg,#f1f8f5,#fffdf8)}
.next-step-impact span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:850;margin-bottom:6px}
.next-step-impact strong{display:block;color:var(--navy);font-size:16px;line-height:1.45}
.next-step-evidence{margin-top:18px}.next-step-evidence h4{margin-bottom:9px}.next-step-evidence>div{display:flex;flex-wrap:wrap;gap:8px}.next-step-evidence span{display:inline-flex;padding:7px 10px;border-radius:999px;background:var(--mist);color:var(--deep);font-size:12px;font-weight:750}
.next-step-compare-btn{margin-top:16px;min-height:44px}
.next-step-comparison{margin-top:14px;padding:18px;border-radius:16px;border:1px solid var(--line);background:#fff}.next-step-comparison.hidden{display:none!important}.comparison-title{font-weight:900;color:var(--navy);margin-bottom:13px}.comparison-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.comparison-grid>div{padding:13px;border:1px solid var(--line);border-radius:12px;background:#fff}.comparison-grid>div.alternative{background:linear-gradient(135deg,#eff7f3,#f8f4ea);border-color:rgba(46,127,134,.28)}.comparison-grid span{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.comparison-grid strong{display:block;color:var(--navy);font-size:15px}.next-step-comparison p{margin:13px 0 0;color:var(--muted);line-height:1.5;font-size:13px}.next-step-comparison.review-note{background:var(--sand);border-color:rgba(213,161,74,.25)}
@media(max-width:600px){.comparison-grid{grid-template-columns:1fr}}

/* CX-02C — recommendation experience */
.opportunity-summary{max-width:980px;margin-top:26px;padding:26px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(135deg,rgba(255,253,248,.98),rgba(238,247,242,.94));box-shadow:0 14px 36px rgba(27,68,82,.08)}
.opportunity-summary-status{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;font-size:12px;font-weight:900;margin-bottom:18px}.opportunity-summary-status span{width:21px;height:21px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.7)}
.opportunity-summary-status.strong,.opportunity-summary-status.good{background:#e4f1e8;color:var(--forest)}.opportunity-summary-status.watch{background:#f6ead1;color:#80601f}.opportunity-summary-status.attention{background:#f4e3df;color:var(--red)}
.opportunity-summary-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:28px;align-items:start}.opportunity-summary h3{font-family:Georgia,"Times New Roman",serif;font-size:clamp(25px,3vw,35px);letter-spacing:-.035em;margin:8px 0 10px}.opportunity-summary p{margin:0;color:#506675;line-height:1.65}.opportunity-summary-metrics{display:grid;gap:10px}.opportunity-summary-metrics div{padding:13px 14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.75)}.opportunity-summary-metrics span{display:block;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.07em;font-weight:850;margin-bottom:5px}.opportunity-summary-metrics strong{color:var(--navy);font-size:15px}
.next-step-heading small{display:block;color:var(--sea);font-size:10px;text-transform:uppercase;letter-spacing:.09em;font-weight:900;margin-bottom:5px}.next-step-copy>h4{font-size:15px}.next-step-action{display:grid;gap:6px}.next-step-action strong{color:var(--navy)}.next-step-action span{color:var(--deep)}
.next-step-meta{align-content:start}.next-step-meta div{box-shadow:0 4px 12px rgba(27,68,82,.03)}
.next-step-compare-btn{font-weight:850}
@media(max-width:800px){.opportunity-summary-grid{grid-template-columns:1fr}.opportunity-summary-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.opportunity-summary{padding:20px}.opportunity-summary-metrics{grid-template-columns:1fr}.opportunity-summary h3{font-size:25px}}


/* CX-03B — focused opportunity deep dive */
.next-step-ranking{margin-top:18px;padding:17px 18px;border-radius:15px;background:#f6f9f7;border:1px solid var(--line)}
.next-step-ranking h4{margin:0 0 8px;color:var(--navy)}
.next-step-ranking p{margin:0;color:var(--muted);line-height:1.55}
.next-step-ranking ul{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:8px}
.next-step-ranking li{display:flex;justify-content:space-between;gap:14px;padding-top:8px;border-top:1px solid var(--line);font-size:12px}
.next-step-ranking li strong{color:var(--navy)}.next-step-ranking li span{color:var(--muted);text-align:right}
.next-step-plan-change{margin-top:18px;padding:18px;border-radius:16px;background:linear-gradient(135deg,var(--sand),#fffaf0);border:1px solid rgba(213,161,74,.25)}
.next-step-plan-change h4{margin:0 0 7px;color:var(--navy)}.next-step-plan-change p{margin:0;color:var(--deep);line-height:1.55}
.next-step-plan-action{margin-top:16px}.next-step-action-note{font-size:11px!important;color:var(--muted)!important;margin-top:8px!important}
.opportunity-focus-pulse{animation:opportunityPulse 1.4s ease}
@keyframes opportunityPulse{0%,100%{box-shadow:0 16px 38px rgba(27,68,82,.09)}45%{box-shadow:0 0 0 6px rgba(46,127,134,.14),0 18px 44px rgba(27,68,82,.14)}}
.plan-field-highlight{border-radius:14px;box-shadow:0 0 0 5px rgba(213,161,74,.18);transition:box-shadow .25s}
@media(max-width:620px){.next-step-ranking li{flex-direction:column;gap:4px}.next-step-ranking li span{text-align:left}.next-step-plan-action{width:100%}}
