.proposal-shell {
  color: #1f2428;
  background: #f7f8f8;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  margin: 0;
  padding: 32px 16px;
}

.proposal-shell * { box-sizing: border-box; }
.proposal a { color: #006f85; text-underline-offset: 3px; overflow-wrap: anywhere; }
.proposal a:focus-visible, .proposal button:focus-visible { outline: 3px solid #008ca8; outline-offset: 4px; }
.proposal p { margin: 0 0 18px; }
.proposal h1 { font-size: 2rem; line-height: 1.15; margin: 12px 0 16px; }
.proposal h2 { font-size: 1.375rem; line-height: 1.25; margin: 0 0 12px; }

.proposal { max-width: 720px; margin: 0 auto; background: #fff; }
.proposal-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; border-bottom: 1px solid #dde3e6; padding: 24px 36px; }
.proposal-logo { width: 150px; height: auto; }
.proposal-secure, .proposal-eyebrow { color: #006f85; font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.proposal-secure { text-align: right; }
.proposal main { padding: 36px; }
.proposal .proposal-eyebrow { margin-bottom: 0; }
.proposal .proposal-intro { margin-bottom: 28px; }
.proposal .proposal-label { font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #667078; }
.proposal-carrier { display: flex; align-items: baseline; gap: 20px; padding: 18px 20px; background: #e8f2f5; border: 1px solid #063c4b; margin-bottom: 28px; color: #063c4b; }
.proposal-carrier .proposal-label { color: inherit; }
.proposal-carrier strong { font-size: 1.125rem; overflow-wrap: anywhere; }
.proposal-summary { margin: 0; }
.proposal-summary > div { display: grid; grid-template-columns: 36% 1fr; gap: 16px; padding: 12px 0; border-top: 1px solid #dde3e6; }
.proposal-summary dt { font-size: .875rem; font-weight: 700; color: #667078; }
.proposal-summary dd { margin: 0; overflow-wrap: anywhere; }
.proposal-premium { border: 2px solid #008ca8; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 18px; margin: 20px 0; }
.proposal-premium strong { font-size: 2rem; color: #063c4b; font-variant-numeric: tabular-nums; }
.proposal-authorization { margin-top: 32px; }
.proposal-contact { padding: 16px; background: #f7f8f8; font-size: .9375rem; }
.proposal-button { background: #c52626; color: #fff; border: 0; padding: 16px 24px; font: inherit; font-weight: 700; cursor: pointer; }
.proposal-button:hover { background: #a71f1f; }
.proposal .proposal-note { color: #667078; font-size: .8125rem; margin: 18px 0 0; }
.proposal-footer { border-top: 1px solid #dde3e6; padding: 24px 36px; font-size: .75rem; color: #667078; }
.proposal-footer p:last-child { margin-bottom: 0; }
.proposal-error { color: #9b1c1c; }
.proposal-signed { background: #eef6ef; padding: 16px; }

@media (max-width: 540px) {
  .proposal-shell { padding: 0; }
  .proposal-header { padding: 20px; }
  .proposal main { padding: 28px 20px; }
  .proposal-footer { padding: 24px 20px; }
  .proposal-carrier, .proposal-premium { flex-direction: column; gap: 8px; align-items: flex-start; }
  .proposal-summary > div { grid-template-columns: 1fr; gap: 4px; }
  .proposal-button { width: 100%; }
}
