.stage07-shell{background:#f7fafc;color:#0b1f3a}
.stage07-hero{padding:70px 0 54px;background:radial-gradient(circle at 88% 18%,rgba(7,138,165,.15),transparent 30%),linear-gradient(180deg,#fff 0%,#f7fafc 100%)}
.stage07-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:34px;align-items:stretch}
.stage07-hero h1{max-width:760px;margin:14px 0 14px;color:#0b1f3a;font-size:clamp(2.35rem,4.7vw,4.8rem);line-height:1;letter-spacing:-.06em}
.stage07-hero p{max-width:760px;color:#5a6c80;font-size:1.04rem;line-height:1.7}
.stage07-hero-actions,.stage07-context-actions,.stage07-card-actions,.stage07-next-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.stage07-loading{display:grid;min-height:48vh;place-items:center;align-content:center;gap:16px;color:#5a6c80}
.stage07-context-card,.stage07-empty-context,.stage07-comparison-card,.stage07-policy-card,.stage07-next-card{min-width:0;border:1px solid rgba(11,31,58,.1);border-radius:24px;background:#fff;box-shadow:0 18px 48px rgba(11,31,58,.08)}
.stage07-context-card,.stage07-empty-context{padding:26px}
.stage07-context-card h2,.stage07-empty-context h2,.stage07-section-head h2,.stage07-policy-card h2,.stage07-next-card h2{margin:8px 0 10px;color:#0b1f3a;letter-spacing:-.03em}
.stage07-context-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 0}
.stage07-context-card div{min-width:0}
.stage07-context-card dt{color:#66778b;font-size:.78rem;font-weight:800}
.stage07-context-card dd{margin:4px 0 0;color:#152f4f;font-weight:850;overflow-wrap:anywhere}
.stage07-content{padding:54px 0 80px}
.stage07-section-head{max-width:860px;margin:0 0 24px}
.stage07-section-head p{margin:0;color:#5a6c80;line-height:1.7}
.stage07-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:28px}
.stage07-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid rgba(11,31,58,.1);border-radius:24px;background:#fff;box-shadow:0 14px 40px rgba(11,31,58,.07)}
.stage07-card.selected{border-color:#f26a21;box-shadow:0 0 0 4px rgba(242,106,33,.13),0 18px 48px rgba(11,31,58,.1)}
.stage07-card-media{position:relative;display:grid;min-height:210px;place-items:center;background:linear-gradient(145deg,#eef4f8,#fff7ed)}
.stage07-card-media img{width:min(72%,230px);height:160px;object-fit:contain}
.stage07-card-media span{position:absolute;left:16px;top:16px;padding:6px 10px;border-radius:999px;color:#fff;background:#0b1f3a;font-size:.78rem;font-weight:900}
.stage07-card-body{display:grid;gap:14px;padding:20px}
.stage07-card-head{display:flex;justify-content:space-between;gap:16px}
.stage07-card-head h3{margin:4px 0 0;color:#0b1f3a;font-size:1.35rem;letter-spacing:-.03em}
.stage07-card-head strong{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;color:#f26a21;background:#fff1e8;font-size:1rem}
.stage07-category{margin:0;color:#078aa5;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.stage07-card-body>p{margin:0;color:#4f6075;line-height:1.62}
.stage07-signal-pills{display:flex;flex-wrap:wrap;gap:6px}
.stage07-signal-pills span{padding:5px 8px;border:1px solid #dce5ee;border-radius:999px;color:#35485f;background:#f7fafc;font-size:.72rem;font-weight:800}
.stage07-card details{border-top:1px solid #edf1f5;padding-top:11px}
.stage07-card summary{cursor:pointer;color:#0b1f3a;font-weight:850}
.stage07-reasons,.stage07-missing ul,.stage07-policy-card ul{display:grid;gap:8px;margin:12px 0 0;padding:0;list-style:none}
.stage07-reasons li,.stage07-policy-card li{display:grid;gap:3px;padding:9px;border-radius:12px;background:#f7fafc}
.stage07-reasons span,.stage07-policy-card span{color:#66778b;font-size:.78rem}
.stage07-missing li{padding-left:18px;color:#52667c;font-size:.86rem;line-height:1.55;position:relative}
.stage07-missing li:before{content:"";position:absolute;left:2px;top:.62em;width:6px;height:6px;border-radius:50%;background:#f26a21}
.stage07-comparison-card{padding:24px;margin:22px 0}
.stage07-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.stage07-compare-table{width:100%;min-width:790px;border-collapse:collapse}
.stage07-compare-table th,.stage07-compare-table td{padding:13px 12px;border-bottom:1px solid #e8eef5;text-align:left;vertical-align:top}
.stage07-compare-table thead th{color:#0b1f3a;background:#f7fafc;font-size:.82rem}
.stage07-compare-table tbody th{color:#0b1f3a;min-width:170px}
.stage07-compare-table td{color:#4f6075;font-size:.88rem}
.stage07-policy-card{padding:24px;margin:22px 0;background:linear-gradient(145deg,#0b1f3a,#102e51);color:#d6dfeb}
.stage07-policy-card h2{color:#fff}
.stage07-policy-card p{color:#b7c5d5;line-height:1.7}
.stage07-policy-card li{background:rgba(255,255,255,.08)}
.stage07-policy-card li strong{color:#fff}
.stage07-policy-card li span{color:#b7c5d5}
.stage07-source-line{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:16px;color:#aebdcd;font-size:.78rem}
.stage07-source-line code{padding:4px 7px;border-radius:7px;color:#fff;background:rgba(255,255,255,.1)}
.stage07-next-card{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:26px}
.stage07-next-card p{margin:0;color:#52667c;line-height:1.65}
.stage07-alert{padding:16px 18px;margin:0 0 22px;border:1px solid #f8c28e;border-radius:16px;color:#7a3a00;background:#fff7ec;font-weight:750}
@media (max-width:1024px){
  .stage07-hero-grid,.stage07-grid{grid-template-columns:1fr 1fr}
  .stage07-context-card,.stage07-empty-context{grid-column:1/-1}
  .stage07-next-card{align-items:flex-start;flex-direction:column}
}
@media (max-width:640px){
  .stage07-hero{padding:42px 0 34px}
  .stage07-hero-grid,.stage07-grid{grid-template-columns:1fr}
  .stage07-context-card dl{grid-template-columns:1fr}
  .stage07-hero-actions,.stage07-context-actions,.stage07-card-actions,.stage07-next-actions{width:100%;flex-direction:column}
  .stage07-hero-actions .button,.stage07-context-actions .button,.stage07-card-actions .button,.stage07-next-actions .button{width:100%}
  .stage07-card-media{min-height:180px}
  .stage07-card-media img{height:132px}
  .stage07-content{padding:38px 0 60px}
}
@media (max-width:390px){
  .stage07-hero h1{font-size:2.35rem}
  .stage07-context-card,.stage07-empty-context,.stage07-comparison-card,.stage07-policy-card,.stage07-next-card{border-radius:20px;padding:20px}
  .stage07-card-body{padding:18px}
  .stage07-card-head{align-items:flex-start;flex-direction:column}
}
