/* Four tailored offers and a personalized quote journey, preserving the existing layout. */
.offer-grid {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0;}
.offer-grid > .offer + .offer {border-left: 0;}
.offer-grid > .offer:nth-child(even) {border-left: 1px solid var(--line);}
.offer-grid > .offer:nth-child(n+3) {border-top: 1px solid var(--line);}
.offer .offer-lead {font-size: 15px; line-height: 1.65;}
.offer .offer-text {font-size: 13px; line-height: 1.8;}
.offer-caption {
  display: block;
  font-family: var(--subtitle-font);
  font-size: 15px;
  letter-spacing: .04em;
  color: var(--ink);
  margin-bottom: 5px;
}
.offer .check-list {margin-top: 0; font-size: 12px; line-height: 1.75;}
.offer .offer-deliverable {min-height: 0; padding-bottom: 4px;}
.offer .offer-deliverable p {font-size: 12px; line-height: 1.75;}
.offer .offer-details {font-size: 12px;}
.offer .offer-details summary {font-size: 12px;}
.offer-inclusions {list-style: disc; padding: 0 0 17px 18px; color: var(--muted); line-height: 1.7;}
.offer-inclusions li {padding-left: 3px; margin: 0 0 10px; overflow-wrap: anywhere;}
.offer-inclusions li:last-child {margin-bottom: 0;}
.offer-inclusions li::marker {color: var(--red);}
.offer .offer-exclusions {padding: 0 0 18px; font-size: 11px; line-height: 1.7;}
.offer .offer-commercial {padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid var(--line);}
.offer-format {font-size: 11px; color: var(--muted); line-height: 1.65; margin-top: 8px;}
.offer-quote strong {font-size: 30px; font-weight: 700; letter-spacing: -.7px; line-height: 1.3;}
.offer .offer-cta {font-size: 12px; gap: 14px; margin-top: auto;}
.result-commercial {padding-top: 17px;}
.result-format {font-size: 11px; color: var(--muted);}
.result-quote {font-size: 17px; font-weight: 700; line-height: 1.6; margin-top: 5px;}

@media (min-width: 1024px) {
  .offer-grid {grid-template-columns: repeat(4, minmax(0, 1fr));}
  .offer-grid > .offer + .offer {border-left: 1px solid var(--line);}
  .offer-grid > .offer:nth-child(n+3) {border-top: 0;}
  .offer {padding-inline: clamp(16px, 1.65vw, 26px); display: grid; grid-template-rows: subgrid; grid-row: span 9; row-gap: 0;}
  .offer h3 {font-size: clamp(28px, 2.4vw, 36px); gap: 8px;}
  .offer-symbol {width: 32px; height: 32px;}
  .offer .offer-details {align-self: start;}
}
@media (max-width: 700px) {
  .offer-grid {grid-template-columns: minmax(0, 1fr); gap: 17px; border: 0;}
  .offer-grid > .offer {border: 1px solid var(--line);}
  .offer-grid > .offer + .offer {border-left: 1px solid var(--line);}
  .offer .offer-lead {font-size: 15px;}
  .offer .offer-text {font-size: 13px;}
  .offer-quote strong {font-size: 30px;}
}
@media print {
  .offer-grid {display: block;}
  .offer-grid > .offer {border: 1px solid var(--warm-gray);}
}

.offers-note {font-size: 12px;}
.offers-note p {max-width: 90ch; text-align: left; line-height: 1.8;}

.offer-text > p + p {margin-top: 14px;}
.offer .offer-deliverable .offer-scope {margin-top: 14px; font-size: 12px; color: var(--ink);}
.offer .tag {white-space: normal; line-height: 1.4;}
.offer .offer-cta {overflow-wrap: anywhere; min-height: 48px;}

/* Shared content-sized rows align each category without fixed heights. */
.offer-grid > .offer {height: auto; min-height: 0;}
.offer .offer-text {margin-bottom: 22px;}
.offer .offer-details {margin-top: 20px;}
.offer .offer-cta {margin-top: 20px;}
@media (min-width: 701px) {
  .offer-grid {align-items: stretch;}
  .offer-grid > .offer {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 10;
    row-gap: 0;
  }
  .offer .check-list {
    display: block;
    grid-row: auto;
    align-self: start;
  }
  .offer .offer-details {align-self: start;}
  .offer .offer-cta {align-self: stretch;}
}
@media (max-width: 700px) {
  .offer-grid > .offer {display: flex; flex-direction: column; grid-row: auto;}
}
