/* Restored from discovery/phase1/raw_html/%2Fearnout-modelling-tool%2F.html — page styles (do not strip) */
.tool-hero {
      background: linear-gradient(135deg, #0D1B2E 0%, #131F3E 60%, #0a1628 100%);
      padding: 140px 0 80px;
      position: relative;
      overflow: hidden;
    }
    .tool-hero::before {
      content: '';
      position: absolute;
      top: -40%;
      right: -10%;
      width: 600px;
      height: 600px;
      background: radial-gradient(circle, rgba(8,106,216,0.12) 0%, transparent 70%);
      pointer-events: none;
    }
    .tool-hero-inner { position: relative; z-index: 1; }
    .tool-hero h1 { font-size: clamp(2.2rem, 5vw, 3.5rem); font-weight: 800; color: #fff; line-height: 1.15; margin-bottom: 16px; }
    .tool-hero p { font-size: 1.05rem; color: rgba(255,255,255,0.6); max-width: 580px; line-height: 1.8; }
    .tool-main { padding: 72px 0 100px; background: #F4F9FC; }
    .tool-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 40px; margin-bottom: 40px; }
    @media(max-width:900px){ .tool-grid { grid-template-columns: 1fr; } }
    .tool-card { background: #fff; border-radius: 10px; border: 1.5px solid #dde6ef; padding: 36px; }
    .tool-card h3 { font-size: 1.1rem; font-weight: 700; color: #0D1B2E; margin-bottom: 24px; padding-bottom: 16px; border-bottom: 1px solid #eef2f7; }
    .field-group { margin-bottom: 20px; }
    .field-group label { display: block; font-family: 'Rubik', sans-serif; font-size: 0.8rem; font-weight: 500; color: #555; margin-bottom: 8px; letter-spacing: 0.03em; }
    .field-group input, .field-group select {
      width: 100%; padding: 12px 16px; border: 1.5px solid #dde6ef; border-radius: 6px;
      font-family: 'Rubik', sans-serif; font-size: 0.95rem; color: #0D1B2E;
      background: #fafcff; transition: border-color 0.2s; outline: none;
    }
    .field-group input:focus, .field-group select:focus { border-color: #086AD8; background: #fff; }
    .field-hint { font-size: 0.75rem; color: #999; margin-top: 5px; line-height: 1.5; }
    .range-row { display: flex; align-items: center; gap: 12px; }
    .range-row input[type="range"] { flex: 1; accent-color: #086AD8; }
    .range-value { font-family: 'Poppins', sans-serif; font-weight: 700; color: #086AD8; min-width: 48px; text-align: right; font-size: 1rem; }
    .scenario-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 24px; }
    @media(max-width:600px){ .scenario-grid { grid-template-columns: 1fr; } }
    .scenario-card { border-radius: 8px; padding: 20px; text-align: center; }
    .scenario-card.downside { background: #fff5f5; border: 1.5px solid #fecaca; }
    .scenario-card.base { background: #eff6ff; border: 1.5px solid #bfdbfe; }
    .scenario-card.upside { background: #f0fdf4; border: 1.5px solid #bbf7d0; }
    .scenario-label { font-size: 0.7rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; margin-bottom: 8px; }
    .scenario-card.downside .scenario-label { color: #dc2626; }
    .scenario-card.base .scenario-label { color: #2563eb; }
    .scenario-card.upside .scenario-label { color: #16a34a; }
    .scenario-total { font-family: 'Poppins', sans-serif; font-size: 1.4rem; font-weight: 800; margin-bottom: 4px; }
    .scenario-card.downside .scenario-total { color: #dc2626; }
    .scenario-card.base .scenario-total { color: #2563eb; }
    .scenario-card.upside .scenario-total { color: #16a34a; }
    .scenario-sub { font-size: 0.78rem; color: #666; }
    .breakdown-table { width: 100%; border-collapse: collapse; font-size: 0.85rem; }
    .breakdown-table th { background: #0D1B2E; color: rgba(255,255,255,0.7); font-weight: 600; padding: 10px 14px; text-align: left; font-size: 0.75rem; letter-spacing: 0.05em; }
    .breakdown-table td { padding: 12px 14px; border-bottom: 1px solid #eef2f7; color: #444; }
    .breakdown-table tr:last-child td { border-bottom: none; font-weight: 700; color: #0D1B2E; background: #f8fafc; }
    .breakdown-table .col-down { color: #dc2626; }
    .breakdown-table .col-base { color: #2563eb; }
    .breakdown-table .col-up { color: #16a34a; }
    .explainer-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 24px; margin-top: 48px; }
    @media(max-width:900px){ .explainer-grid { grid-template-columns: 1fr; } }
    .explainer-card { background: #fff; border-radius: 10px; border: 1.5px solid #dde6ef; padding: 28px; }
    .explainer-card h4 { font-size: 0.95rem; font-weight: 700; color: #0D1B2E; margin-bottom: 10px; }
    .explainer-card p { font-size: 0.85rem; color: #666; line-height: 1.75; }
    .disclaimer { text-align: center; font-size: 0.72rem; color: #aaa; margin-top: 60px; line-height: 1.6; }

/* Mobile grid stacking - overrides inline styles */
    @media (max-width: 768px) {
      [style*="grid-template-columns:repeat(4"] { grid-template-columns: repeat(2, 1fr) !important; }
      [style*="grid-template-columns:repeat(3"] { grid-template-columns: 1fr !important; }
      [style*="grid-template-columns:repeat(2"] { grid-template-columns: 1fr !important; }
      [style*="grid-template-columns:1fr 1fr"]  { grid-template-columns: 1fr !important; }
      [style*="grid-template-columns:2fr 1fr"]  { grid-template-columns: 1fr !important; }
      [style*="grid-template-columns:1fr 2fr"]  { grid-template-columns: 1fr !important; }
    }
    @media (max-width: 480px) {
      [style*="grid-template-columns:repeat(4"] { grid-template-columns: 1fr !important; }
    }
