.ip-main{max-width:1080px;margin:0 auto;padding:1.2rem 1rem 4rem}
.ip-hero{padding:.5rem 0 1.3rem;border-bottom:1px solid rgba(18,38,64,.1);margin-bottom:1rem}
.ip-eyebrow{margin:0 0 .4rem;color:#8a6d1d;font-size:.7rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.ip-hero h1{margin:0 0 .55rem;color:#122640;font:700 clamp(1.85rem,4vw,2.65rem)/1.1 'Cormorant Garamond',Georgia,serif}
.ip-lead{max-width:48rem;margin:0;color:#3a5070;font-size:.93rem;line-height:1.6}
.ip-case{margin-top:.9rem;padding:.75rem .9rem;border-radius:11px;background:linear-gradient(135deg,#2a3d20,#122640);color:#f5f0e6;font-size:.8rem;line-height:1.5}
.ip-case strong{color:#e8c96a}
.ip-summary{display:flex;gap:.4rem;flex-wrap:wrap;margin:.85rem 0 0}
.ip-summary span{padding:.28rem .55rem;border-radius:999px;background:#eef3f8;color:#31506f;font-size:.65rem;font-weight:700}
.ip-rail{display:grid;grid-template-columns:repeat(7,1fr);gap:.45rem;list-style:none;margin:0 0 1rem;padding:0}
.ip-tab{width:100%;min-height:88px;padding:.55rem .35rem;border:1px solid rgba(18,38,64,.14);border-radius:12px;background:#fffef9;color:#122640;font:650 .63rem/1.25 Inter,sans-serif;cursor:pointer}
.ip-tab[aria-selected=true]{background:#122640;border-color:#122640;color:#fff}
.ip-tab-num{display:flex;width:25px;height:25px;align-items:center;justify-content:center;margin:0 auto .38rem;border-radius:50%;background:#e8c96a;color:#122640;font-size:.67rem;font-weight:800}
.ip-tab small{display:block;margin-top:.22rem;opacity:.72;font-size:.55rem;font-weight:500}
.ip-tab.visited:not([aria-selected=true]){border-color:#7fa86a;box-shadow:inset 0 -3px 0 #7fa86a}
.ip-panel{padding:1.15rem;background:#fff;border:1px solid rgba(18,38,64,.1);border-radius:16px;box-shadow:0 8px 26px rgba(18,38,64,.06)}
.ip-panel[hidden]{display:none}
.ip-kicker{margin:0 0 .25rem;color:#8a6d1d;font-size:.67rem;font-weight:750;letter-spacing:.06em;text-transform:uppercase}
.ip-panel h2{margin:0 0 .85rem;color:#122640;font:700 clamp(1.35rem,3vw,1.75rem)/1.2 'Cormorant Garamond',Georgia,serif}
.ip-layout{display:grid;grid-template-columns:minmax(250px,34%) 1fr;gap:1rem;align-items:start}
.ip-visual{position:sticky;top:5.2rem;min-height:240px;padding:1rem;border:1px solid rgba(18,38,64,.1);border-radius:13px;background:linear-gradient(145deg,#f4f7ec,#eef3f8)}
.ip-visual-title{display:block;margin-bottom:.75rem;color:#122640;font-size:.7rem;font-weight:800;text-align:center;text-transform:uppercase;letter-spacing:.05em}
.ip-tracks{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}
.ip-track{padding:.55rem .5rem;border-radius:9px;font-size:.68rem;font-weight:700;line-height:1.35;text-align:center}
.ip-track-a{background:#dcebd2;border:1px solid #a8c096;color:#24501f}
.ip-track-b{background:#e8eef5;border:1px solid #a8bdd4;color:#1a5a9e}
.ip-track-c{background:#fff3d6;border:1px solid #d8c681;color:#6d5100}
.ip-arrow{margin:.45rem 0;color:#9a7b20;text-align:center;font-size:.95rem}
.ip-node{padding:.5rem .55rem;border:1px solid #cad5df;border-radius:9px;background:#fff;color:#28445f;font-size:.7rem;font-weight:700;text-align:center;line-height:1.35}
.ip-node-main{background:#122640;border-color:#122640;color:#fff}
.ip-node-gold{background:#fff3d6;border-color:#d8c681;color:#6d5100}
.ip-visual-note{margin:.75rem 0 0;color:#5a6b7d;font-size:.64rem;line-height:1.45;text-align:center}
.ip-step{padding:0 0 .75rem;margin:0 0 .75rem;border-bottom:1px solid rgba(18,38,64,.08)}
.ip-step:last-child{padding:0;margin:0;border:0}
.ip-step h3{margin:0 0 .3rem;color:#122640;font-size:.84rem}
.ip-step p{margin:0;color:#3a5070;font-size:.81rem;line-height:1.58}
.ip-tag{display:inline-block;margin-right:.3rem;padding:.16rem .4rem;border-radius:5px;background:#e8eef5;color:#1a5a9e;font-size:.6rem;font-weight:800;text-transform:uppercase}
.ip-tag-green{background:#dcebd2;color:#24501f}
.ip-tag-gold{background:#fff3d6;color:#7a5a00}
.ip-tag-red{background:#f7e3df;color:#812b25}
.ip-compare{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;margin-top:.55rem}
.ip-compare>div{padding:.65rem;border:1px solid rgba(18,38,64,.1);border-radius:9px;background:#fbfcfd}
.ip-compare strong{display:block;margin-bottom:.2rem;color:#122640;font-size:.76rem}
.ip-compare span{color:#5a6b7d;font-size:.72rem;line-height:1.42}
.ip-branch{margin-top:.55rem;padding:.65rem .7rem;border-left:3px solid #c9a227;border-radius:0 9px 9px 0;background:#f7f4ec}
.ip-branch h4{margin:0 0 .25rem;color:#122640;font-size:.78rem}
.ip-branch p{margin:0;color:#3a5070;font-size:.77rem;line-height:1.5}
.ip-alert{margin-top:.6rem;padding:.62rem .7rem;border:1px solid #d8c681;border-radius:9px;background:#fffaf0;color:#66572d;font-size:.73rem;line-height:1.48}
.ip-nav{display:flex;justify-content:space-between;gap:.6rem;margin-top:1rem}
.ip-nav button{padding:.55rem .8rem;border:1px solid #122640;border-radius:9px;background:transparent;color:#122640;font:650 .74rem Inter,sans-serif;cursor:pointer}
.ip-nav button:hover{background:#122640;color:#fff}
.ip-nav button:disabled{opacity:.35;cursor:not-allowed}
.ip-source{margin:1.25rem auto 0;max-width:52rem;text-align:center;color:#5a6b7d;font-size:.7rem;line-height:1.5}
.ip-source a{color:#1a5a9e;font-weight:650}
body.journey-focus .ip-tab{background:#f6f8f3;border-color:#c7d3bf}
body.journey-focus .ip-tab[aria-selected=true]{background:#4a7a3a;color:#fff}
body.journey-focus .ip-visual{background:#e4edd9;border-color:#a8c096}
body.journey-blue .ip-tab{background:#0d1829;border-color:#1e3a5f;color:#e8edf5}
body.journey-blue .ip-tab[aria-selected=true]{background:#1a5a9e}
body.journey-blue .ip-visual,body.journey-blue .ip-compare>div{background:#111f31;border-color:#274565}
body.journey-blue .ip-node{background:#122640;border-color:#315475;color:#e8edf5}
body.journey-blue .ip-node-main{background:#1a5a9e}
body.journey-blue .ip-step{border-bottom-color:#1e3a5f}
@media(max-width:900px){
  .ip-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.3rem}
  .ip-rail li{min-width:130px;scroll-snap-align:start}
}
@media(max-width:760px){.ip-layout{grid-template-columns:1fr}.ip-visual{position:static;min-height:0}}
@media(max-width:480px){.ip-compare,.ip-tracks{grid-template-columns:1fr}.ip-main{padding-inline:.75rem}}
