/* Proposal-only CTA placement and responsive architecture. */
.ip-home-cta { display:block; text-align:center; margin-top:52px; }
.ip-home-cta .hero-cta { font-size:15px; font-weight:500; }
.ip-architecture { margin:0; padding:clamp(24px,3vw,48px); background:#04232c; color:#fff; }
.ip-architecture-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr) minmax(0,1fr); gap:clamp(22px,3vw,48px); align-items:stretch; }
.ip-architecture-grid section { min-width:0; }
.ip-architecture .ip-step { margin:0 0 18px; color:#83ddd6; font-size:12px; font-weight:700; letter-spacing:.09em; }
.ip-architecture h3 { margin:0 0 28px; color:#fff; font-size:clamp(23px,1.8vw,32px); font-weight:500; line-height:1.22; }
.ip-source-list { display:grid; gap:0; list-style:none; margin:0; padding:0; }
.ip-source-list li { padding:16px 0; border-bottom:1px solid #315159; color:#d7e4e7; font-size:16px; }
.ip-check { padding:28px; background:#0b4148; }
.ip-check-list { list-style:none; margin:0; padding:0; display:grid; gap:24px; }
.ip-check-list li { display:flex; gap:15px; align-items:flex-start; }
.ip-check-list li>span { display:grid; place-items:center; flex:0 0 30px; height:30px; background:#83ddd6; color:#04232c; font-size:12px; font-weight:700; }
.ip-check-list strong { display:block; color:#fff; font-size:17px; line-height:1.35; }
.ip-check-list small { display:block; margin-top:6px; color:#c5dbdd; font-size:14px; line-height:1.5; }
.ip-check-foot { margin:28px 0 0; padding-top:20px; border-top:1px solid #397074; color:#c5dbdd; font-size:13px; line-height:1.5; }
.ip-approved,.ip-held { padding:24px; margin-top:18px; }
.ip-approved { background:#0b4148; border-top:3px solid #83ddd6; }
.ip-held { background:#102f38; border-top:3px solid #e1ba73; }
.ip-architecture .ip-status { margin:0 0 12px; color:#83ddd6; font-size:11px; letter-spacing:.08em; font-weight:700; }
.ip-held .ip-status { color:#e1ba73; }
.ip-architecture h4 { margin:0 0 12px; color:#fff; font-size:20px; line-height:1.3; }
.ip-approved>p:last-child,.ip-held>p:last-child { margin:0; color:#c5dbdd; font-size:14px; line-height:1.55; }
.ip-architecture figcaption { margin-top:28px; padding-top:20px; border-top:1px solid #315159; color:#b4ced2; font-size:13px; line-height:1.5; }
@media(max-width:1000px){.ip-architecture-grid{grid-template-columns:1fr}.ip-architecture h3{max-width:650px}.ip-source-list{grid-template-columns:1fr 1fr;gap:0 24px}.ip-decisions{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.ip-decisions>.ip-step,.ip-decisions>h3{grid-column:1/-1}.ip-check{padding:24px}}
@media(max-width:600px){.ip-home-cta{margin-top:32px}.ip-home-cta .hero-cta{max-width:100%;min-width:0}.ip-architecture{padding:22px 18px}.ip-source-list,.ip-decisions{grid-template-columns:1fr}.ip-check{padding:22px 18px}.ip-architecture h3{font-size:25px}.ip-source-list li{font-size:15px}}
