/* Attending-only layer. Eligibility shared source stays unchanged.
   Logo-blue actions match eligibility PR 18 at 79105b0. */
.mdgsi-attending { --brand-blue:#1661a7; --brand-blue-dark:#124f89; }
.mdgsi-attending [hidden] { display:none !important; }
.mdgsi-attending main,.mdgsi-attending .site-footer__inner { max-width:700px; }
.mdgsi-attending main { padding:var(--space-6) 0 var(--space-9); }
.mdgsi-attending .preview-note { padding:12px; background:var(--attention-soft); border-left:3px solid var(--attention); font-size:13px; color:var(--ink); }
.mdgsi-attending .step-progress { color:var(--muted); font-size:14px; border-top:1px solid var(--line); padding-top:24px; margin-top:32px; }
.mdgsi-attending fieldset { border:0; margin:24px 0; padding:0; min-width:0; }
.mdgsi-attending legend,.mdgsi-attending .question>label { display:block; font-weight:600; margin-bottom:12px; }
.mdgsi-attending .question { margin-top:24px; }
.mdgsi-attending .question input { display:block; width:100%; min-width:0; padding:14px; border:1.5px solid var(--line); border-radius:var(--radius-control); font:inherit; background:var(--white); color:var(--ink); }
.mdgsi-attending input[type="radio"],.mdgsi-attending input[type="checkbox"] { accent-color:var(--brand-blue); flex-shrink:0; }
.mdgsi-attending .choice-card { min-height:48px; }
.mdgsi-attending .scenario-choice { display:flex; align-items:baseline; gap:12px; font-weight:600; }
.mdgsi-attending :focus-visible { outline:3px solid var(--brand-blue); outline-offset:3px; }
.mdgsi-attending [aria-invalid="true"] { border:2px solid var(--error); }
.mdgsi-attending .btn-primary { background:var(--brand-blue); border-color:var(--brand-blue); color:var(--white); box-shadow:0 10px 28px rgba(22,97,167,.22); }
.mdgsi-attending .btn-primary:hover { background:var(--brand-blue-dark); border-color:var(--brand-blue-dark); }
.mdgsi-attending .step-nav { margin-top:24px; }
.mdgsi-attending .result-hero { padding:32px; background:var(--positive-soft); border:1px solid var(--positive); border-radius:var(--radius-card); margin:24px 0; }
.mdgsi-attending .hero-amount { font-size:clamp(32px,7vw,48px); line-height:1.15; font-weight:700; color:var(--positive); margin:12px 0; font-variant-numeric:tabular-nums; }
.mdgsi-attending .unit { display:block; font-size:15px; font-weight:400; margin-top:4px; }
.mdgsi-attending .coverage-rows { margin:24px 0; }
.mdgsi-attending .coverage-row { display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid var(--line); }
.mdgsi-attending .coverage-row dt { max-width:65%; color:var(--muted); }
.mdgsi-attending .coverage-row dd { margin:0; font-weight:600; text-align:right; font-variant-numeric:tabular-nums; }
.mdgsi-attending .coverage-row .unit { font-size:12px; }
.mdgsi-attending .income-bar { display:flex; height:26px; border-radius:3px; overflow:hidden; background:var(--line); margin:24px 0 12px; }
.mdgsi-attending .income-bar span { display:block; height:100%; }
.mdgsi-attending .ltd-segment { background:var(--navy); }
.mdgsi-attending .idi-segment { background:var(--teal); }
.mdgsi-attending .new-segment { background:var(--brand-blue); }
.mdgsi-attending .gap-segment { background:var(--attention); }
.mdgsi-attending .bar-key { font-size:13px; display:flex; gap:16px; flex-wrap:wrap; }
.mdgsi-attending .key-dot { display:inline-block; height:10px; width:10px; margin-right:5px; }
.mdgsi-attending details { border-top:1px solid var(--line); padding:16px 0; }
.mdgsi-attending summary { cursor:pointer; font-weight:600; color:var(--navy); padding:8px 0; }
.mdgsi-attending dialog { color:var(--ink); background:var(--white); width:min(500px,calc(100% - 32px)); max-height:90vh; overflow:auto; border:1px solid var(--line); border-radius:var(--radius-card); padding:32px; box-shadow:var(--shadow-modal); }
.mdgsi-attending dialog::backdrop { background:rgba(10,39,69,.6); }
.mdgsi-attending #contact-qr { display:block; margin:auto; width:220px; max-width:100%; }
.mdgsi-attending .result-disclosure { font-size:14px; color:var(--muted); }
@media(max-width:620px) {
.mdgsi-attending { --container:calc(100% - 32px); }
.mdgsi-attending .card,.mdgsi-attending .result-hero { padding:20px; }
.mdgsi-attending .header-contact { max-width:140px; text-align:right; }
.mdgsi-attending .coverage-row { font-size:14px; }
.mdgsi-attending .coverage-row dt { max-width:60%; }
.mdgsi-attending .step-nav { flex-wrap:wrap; }
.mdgsi-attending .step-nav .btn { flex:1; }
}
@media(prefers-reduced-motion:reduce) { .mdgsi-attending * { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }

/* September voice review: visible before/after story and matching contact form. */
.mdgsi-attending .metric-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:16px; margin:20px 0; }
.mdgsi-attending .metric { padding:16px; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius-card); }
.mdgsi-attending .metric>span { display:block; }
.mdgsi-attending .metric strong { display:block; font-size:24px; color:var(--navy); margin-top:8px; font-variant-numeric:tabular-nums; }
.mdgsi-attending .view-switch { display:flex; flex-wrap:wrap; gap:12px; }
.mdgsi-attending .view-switch label { display:flex; align-items:center; gap:8px; padding:12px 16px; border:1px solid var(--line); border-radius:var(--radius-control); cursor:pointer; }
.mdgsi-attending .view-switch label:has(input:checked) { background:var(--positive-soft); border-color:var(--teal); }
.mdgsi-attending .comparison-row { padding:24px 0; border-bottom:1px solid var(--line); }
.mdgsi-attending .comparison-heading { display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; }
.mdgsi-attending .comparison-heading h3 { font-size:18px; margin:0; }
.mdgsi-attending .replacement-percent { color:var(--brand-blue); font-size:22px; }
.mdgsi-attending .income-bar { height:36px; margin:16px 0; }
.mdgsi-attending .income-bar span { transition:width .2s ease; }
.mdgsi-attending .gap-segment { background:repeating-linear-gradient(135deg,#ede1ca,#ede1ca 6px,#f7f1e5 6px,#f7f1e5 12px); }
.mdgsi-attending .bar-values { margin:12px 0 0; display:grid; gap:8px; font-size:14px; }
.mdgsi-attending .bar-values>div { display:flex; justify-content:space-between; gap:12px; }
.mdgsi-attending .bar-values dd { margin:0; text-align:right; font-weight:600; }
.mdgsi-attending .replacement-summary { padding:16px; background:var(--positive-soft); margin-top:20px; }
.mdgsi-attending .replacement-summary p { margin:4px 0; }
.mdgsi-attending .chart-caption { font-weight:600; }
.mdgsi-attending .scenario-label { padding:12px; background:var(--attention-soft); border-left:3px solid var(--attention); }
.mdgsi-attending .assumptions { margin-top:28px; }
.mdgsi-attending .assumptions h3 { font-size:16px; }
.mdgsi-attending .assumption-controls { display:flex; align-items:end; flex-wrap:wrap; gap:12px; }
.mdgsi-attending .assumption-controls>div { flex:1; min-width:150px; }
.mdgsi-attending .assumption-controls label { display:block; font-size:14px; margin-bottom:6px; }
.mdgsi-attending .assumption-controls input,.mdgsi-attending .assumption-controls select,.mdgsi-attending textarea { width:100%; padding:12px; font:inherit; color:var(--ink); border:1px solid var(--line); border-radius:var(--radius-control); background:white; }
.mdgsi-attending .question textarea { display:block; resize:vertical; }
.mdgsi-attending #message-panel { scroll-margin-top:24px; margin-top:24px; }
.mdgsi-attending #message-send { margin-top:20px; }
.mdgsi-attending .mobile-contact { display:none; }
@media(max-width:620px) {
  .mdgsi-attending .mobile-contact { display:flex; flex-wrap:wrap; gap:12px; }
  .mdgsi-attending .metric-grid { grid-template-columns:1fr; }
  .mdgsi-attending .bar-values>div { flex-wrap:wrap; }
  .mdgsi-attending .assumption-controls { align-items:stretch; }
}
.site-footer .hint{color:inherit}

/* Approved three-situation comparison: one shared scale, visible income gaps. */
.mdgsi-attending .working-segment { background:var(--navy); }
.mdgsi-attending .ltd-segment { background:var(--teal); }
.mdgsi-attending .idi-segment { background:var(--positive); }
.mdgsi-attending .comparison-heading { align-items:start; gap:8px 20px; }
.mdgsi-attending .comparison-heading h3 { flex:1 1 240px; font-size:17px; }
.mdgsi-attending .comparison-income { font-size:20px; font-variant-numeric:tabular-nums; color:var(--navy); }
.mdgsi-attending .comparison-details { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 16px; }
.mdgsi-attending .replacement-percent { color:var(--muted); font-size:14px; }
.mdgsi-attending .income-shortfall { color:var(--ink); font-size:15px; font-variant-numeric:tabular-nums; }
.mdgsi-attending .benefit-breakdown { color:var(--muted); font-size:13px; margin:10px 0 0; }
.mdgsi-attending .comparison-row .income-bar { height:38px; margin:12px 0; }
.mdgsi-attending #chart-content>.bar-key { margin-top:20px; }

/* Result-page copy helpers (presentation only) */
.mdgsi-attending .link-button { background:none; border:0; padding:0; color:var(--brand-blue,#1661a7); text-decoration:underline; font:inherit; cursor:pointer; }
.mdgsi-attending .row-sentence { margin:8px 0 0; font-size:15px; }
.mdgsi-attending .situation-today .hero-amount { margin-top:4px; }
.mdgsi-attending .next-steps ol { padding-left:20px; margin:8px 0 0; }
.mdgsi-attending .next-steps li { margin:6px 0; }

/* Paycheck picture: two columns, labels inside segments, no color key */
.mdgsi-attending .pay-columns { display:grid; grid-template-columns:1fr 1.35fr; gap:16px; align-items:end; margin:12px 0 4px; }
.mdgsi-attending .pay-col { display:flex; flex-direction:column; }
.mdgsi-attending .pay-stack { display:flex; flex-direction:column-reverse; height:300px; border-radius:10px; overflow:hidden; }
.mdgsi-attending .pay-stack--solid { background:transparent; }
.mdgsi-attending .pay-stack--hole { border:2px dashed #e3b5ab; background:repeating-linear-gradient(135deg,#f3e9e6 0 6px,#fff 6px 12px); }
.mdgsi-attending .pay-seg { width:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; text-align:center; line-height:1.15; transition:height .5s ease; overflow:hidden; padding:0 6px; }
.mdgsi-attending .pay-seg strong { font-size:17px; font-variant-numeric:tabular-nums; }
.mdgsi-attending .pay-seg span { font-size:12px; opacity:.95; }
.mdgsi-attending .pay-seg.work { background:var(--navy,#0f2a4a); }
.mdgsi-attending .pay-seg.ltd { background:var(--teal,#0e7c6f); }
.mdgsi-attending .pay-seg.own { background:#1f7a3f; }
.mdgsi-attending .pay-seg.new { background:var(--brand-blue,#1661a7); }
.mdgsi-attending .pay-gap { width:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#b8361f; text-align:center; line-height:1.1; transition:height .5s ease; overflow:hidden; }
.mdgsi-attending .pay-gap strong { font-size:22px; font-variant-numeric:tabular-nums; }
.mdgsi-attending .pay-gap span { font-size:12px; }
.mdgsi-attending .pay-caption { text-align:center; margin-top:10px; line-height:1.2; }
.mdgsi-attending .pay-caption strong { display:block; font-size:20px; font-variant-numeric:tabular-nums; }
.mdgsi-attending .pay-caption strong.is-short { color:#b8361f; }
.mdgsi-attending .pay-caption span { display:block; font-weight:600; font-size:14px; }
.mdgsi-attending .pay-caption small { display:block; color:var(--muted,#5c6673); font-size:12px; }
.mdgsi-attending .pay-notes { margin:6px 0 0; font-size:12px; color:var(--muted,#5c6673); text-align:center; }
.mdgsi-attending .pay-toggle { display:block; width:auto; max-width:100%; margin:16px auto 0; padding:14px 28px; border-radius:999px; font-size:17px; box-shadow:0 8px 20px rgba(22,97,167,.30); transition:background .2s ease, box-shadow .2s ease, transform .1s ease; }
.mdgsi-attending .pay-toggle:hover { box-shadow:0 12px 26px rgba(22,97,167,.38); transform:translateY(-1px); }
.mdgsi-attending .pay-toggle:active { transform:translateY(1px); box-shadow:0 4px 10px rgba(22,97,167,.30); }
.mdgsi-attending .pay-toggle[aria-pressed="true"] { background:var(--white); color:var(--brand-blue); border-color:var(--brand-blue); box-shadow:none; }
.mdgsi-attending .pay-next { margin-top:16px; padding:16px; border:1px solid var(--line,#e6e1d8); border-radius:10px; text-align:center; }
.mdgsi-attending .pay-next p { margin:0 0 12px; font-weight:600; }
@media (max-width:620px) { .mdgsi-attending .pay-toggle { width:100%; border-radius:14px; } .mdgsi-attending .pay-next__btn { width:100%; } }
.mdgsi-attending .pay-story { font-size:16px; margin:12px 0 0; }
.mdgsi-attending .view-switch { margin-top:16px; }
@media (max-width:360px) { .mdgsi-attending .pay-seg strong { font-size:15px; } .mdgsi-attending .pay-seg span, .mdgsi-attending .pay-gap span { font-size:11px; } .mdgsi-attending .pay-gap strong { font-size:19px; } }

.mdgsi-attending .pay-win { margin:14px 0 0; padding:14px 16px; background:var(--positive-soft,#e8f4ec); border:1px solid var(--positive,#1f7a3f); border-radius:10px; color:#1f7a3f; text-align:center; line-height:1.15; }
.mdgsi-attending .pay-win strong { display:block; font-size:30px; }
.mdgsi-attending .pay-win span { display:block; font-size:15px; margin-top:2px; }
.mdgsi-attending .pay-assumption { margin-top:14px; padding-top:12px; border-top:1px solid var(--line,#e6e1d8); }
.mdgsi-attending .pay-assumption p { font-size:13px; color:var(--muted,#5c6673); margin:0 0 6px; }
.mdgsi-attending .pay-seg.one-line span { font-size:13px; font-weight:600; white-space:nowrap; }
.mdgsi-attending .pay-win--full strong { font-size:20px; }

/* Static, crawlable explainer below the tool */
.mdgsi-attending .about-calculator { margin:40px 0 8px; padding-top:28px; border-top:1px solid var(--line,#e6e1d8); max-width:68ch; }
.mdgsi-attending .about-calculator h2 { font-size:22px; margin:28px 0 10px; text-wrap:balance; }
.mdgsi-attending .about-calculator h2:first-child { margin-top:0; }
.mdgsi-attending .about-calculator h3 { font-size:17px; margin:20px 0 6px; }
.mdgsi-attending .about-calculator p, .mdgsi-attending .about-calculator li { font-size:16px; line-height:1.55; }
.mdgsi-attending .about-calculator ol { padding-left:22px; margin:0; }
.mdgsi-attending .about-calculator li { margin:6px 0; }
.mdgsi-attending .about-byline { margin-top:24px; font-size:14px; color:var(--muted,#5c6673); }
.mdgsi-attending .pay-seg small { font-size:11px; opacity:.85; margin-top:2px; }

/* CTA: booking first, results form second, text/call on phones */
.mdgsi-attending .cta-actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:16px; }
.mdgsi-attending .cta-actions .btn { text-align:center; text-decoration:none; }
.mdgsi-attending .mobile-contact { margin-top:12px; justify-content:center; }
.mdgsi-attending .optional { font-weight:400; color:var(--muted,#5c6673); }
.mdgsi-attending .summary-choice { margin:16px 0 4px; }
.mdgsi-attending .summary-preview { white-space:pre-wrap; font:13px/1.5 var(--font-interface,system-ui,sans-serif); background:var(--cream,#faf7f2); border:1px solid var(--line,#e6e1d8); border-radius:8px; padding:10px 12px; margin:8px 0 0; }
.mdgsi-attending .summary-preview.is-off { opacity:.45; text-decoration:line-through; }
@media (max-width:620px) { .mdgsi-attending .cta-actions { grid-template-columns:1fr; } }
.mdgsi-attending .age-exit { margin-top:24px; }
.mdgsi-attending .age-exit h2 { font-size:22px; text-wrap:balance; }
.mdgsi-attending .school-list { list-style:none; margin:4px 0 0; padding:0; border:1px solid var(--line,#e6e1d8); border-radius:8px; background:#fff; max-height:220px; overflow:auto; }
.mdgsi-attending .school-list li { padding:10px 12px; cursor:pointer; font-size:15px; }
.mdgsi-attending .school-list li:hover, .mdgsi-attending .school-list li:focus { background:var(--cream,#faf7f2); outline:none; }
.mdgsi-attending .gsi-callout strong { display:block; margin-bottom:6px; }
.mdgsi-attending .date-parts { border:0; padding:0; margin:0; }
.mdgsi-attending .date-parts legend { padding:0; margin-bottom:8px; font-weight:600; }
.mdgsi-attending .date-parts__row { display:grid; grid-template-columns:1.6fr 1fr 1.2fr; gap:8px; }
.mdgsi-attending .date-parts select { width:100%; min-width:0; }
