.forester-quote { padding:clamp(64px,7vw,104px) 0; background:var(--color-white); color:var(--color-graphite); scroll-margin-top:100px; }
.forester-quote__header { margin-bottom:40px; }
.forester-quote__header h2 { margin:0 0 16px; font-family:var(--font-family-display); font-weight:800; font-size:var(--font-size-section-h2); line-height:1.05; }
.forester-quote__header p { margin:0; max-width:700px; font-size:17px; line-height:1.6; }
.forester-quote__form { display:grid; grid-template-columns:minmax(0,40fr) minmax(0,60fr); gap:clamp(40px,6vw,100px); align-items:start; }
/* The shared form remains two-column inline; the general dialog stays single-column. */
.forester-quote-modal .forester-quote__form[data-quote-mode="general"] { grid-template-columns:minmax(0,1fr); gap:0; }
.forester-quote-modal .forester-quote__form[data-quote-mode="general"] .forester-quote__context { display:none; }
.forester-quote__fields { min-width:0; }
.forester-quote [hidden] { display:none !important; }
.forester-quote__context { min-width:0; }
.forester-quote__context h3 { margin:0 0 24px; font:800 27px/1.05 var(--font-family-display); }
.forester-quote__context h4 { margin:30px 0 14px; font-size:13px; letter-spacing:.08em; }
.forester-quote__components { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:0; }
.forester-quote__components dt { font-size:12px; letter-spacing:.06em; margin-bottom:6px; }
.forester-quote__components dd { margin:0; font:800 25px/1.1 var(--font-family-display); overflow-wrap:anywhere; }
.forester-quote__context ul { padding:0; margin:0 0 28px; list-style:none; }
.forester-quote__context li { margin:0 0 8px; line-height:1.5; }
.forester-quote__text-link { display:inline-block; margin-top:24px; color:var(--color-red); font-weight:700; font-size:13px; text-decoration:none; }
.forester-quote__pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.forester-quote__field { margin-bottom:20px; min-width:0; }
.forester-quote__field label { display:block; margin-bottom:8px; font-size:14px; font-weight:700; }
.forester-quote input:not([type=hidden]):not([type=checkbox]), .forester-quote select, .forester-quote textarea { width:100%; min-width:0; min-height:46px; border:1px solid #d4d8db; border-radius:4px; padding:11px 12px; background:#fff; color:var(--color-graphite); font:inherit; font-size:16px; }
.forester-quote select { padding-right:36px; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23394046' stroke-width='1.5'/%3E%3C/svg%3E"); background-position:right 14px center; background-repeat:no-repeat; }
.forester-quote textarea { resize:vertical; min-height:104px; }
.forester-quote input:focus-visible, .forester-quote select:focus-visible, .forester-quote textarea:focus-visible { outline:0; border-color:var(--color-graphite); box-shadow:0 0 0 2px rgba(57,64,70,.1); }
.forester-quote button:focus-visible, .forester-quote a:focus-visible { outline:2px solid var(--color-graphite); outline-offset:4px; }
.forester-quote [aria-invalid=true] { border-color:var(--color-red) !important; }
.forester-quote__error { margin:6px 0 0; color:var(--color-red); font-size:13px; line-height:1.4; }
.forester-quote__error:empty, .forester-quote__helper:empty, .forester-quote__status:empty { display:none; }
.forester-quote__details-trigger { min-height:44px; padding:10px 0; border:0; background:transparent; color:var(--color-graphite); font:700 13px var(--font-family-body); letter-spacing:.04em; cursor:pointer; }
.forester-quote__details { margin-top:18px; padding-top:24px; border-top:1px solid #dfe2e3; }
.forester-quote__helper { margin:7px 0 0; font-size:12px; line-height:1.5; overflow-wrap:anywhere; }
.forester-quote__checkbox { display:flex; align-items:center; gap:10px; min-height:40px; font-size:14px; line-height:1.4; cursor:pointer; }
.forester-quote__checkbox input { width:18px; height:18px; accent-color:var(--color-red); flex:none; }
.forester-quote__submit { margin-top:28px; }
.forester-quote .package-card__cta { width:auto; min-width:220px; max-width:340px; cursor:pointer; appearance:none; -webkit-appearance:none; border:0; border-radius:0; background:var(--color-red); background-image:none; box-shadow:none; text-shadow:none; font-family:var(--font-family-body); transform:none; transition:background-color 160ms ease; }
.forester-quote .package-card__cta::before { content:none; }
.forester-quote .package-card__cta:hover { background:var(--color-red); box-shadow:none; transform:none; }
.forester-quote__submit button:disabled { opacity:.65; cursor:wait; }
.forester-quote__privacy { max-width:480px; font-size:12px; line-height:1.6; margin:16px 0 0; color:#61696f; }
.forester-quote__privacy a { color:inherit; text-underline-offset:3px; }
.forester-quote__status { padding:16px 0; margin:16px 0 0; border-top:1px solid #dfe2e3; line-height:1.6; }
.forester-quote__status.is-error { color:var(--color-red); }
@media(min-width:768px) {
  [data-quote-inline-host] .forester-quote__fields { background:#fafafa; border:1px solid #ececec; padding:26px; }
  [data-quote-inline-host] .forester-quote__field { margin-bottom:18px; }
  [data-quote-inline-host] .forester-quote__submit { margin-top:20px; padding-top:20px; border-top:1px solid #ececec; }
  [data-quote-inline-host] .forester-quote__privacy { margin-top:12px; }
}
@media(max-width:767px) {
  .forester-quote { padding:56px 0 64px; scroll-margin-top:80px; }
  .forester-quote__header { margin-bottom:30px; }
  .forester-quote__header h2 { font-size:30px; }
  .forester-quote__header p { font-size:16px; }
  .forester-quote__form { grid-template-columns:minmax(0,1fr); gap:32px; }
  [data-quote-inline-host] .forester-quote__context h3 { margin-bottom:16px; font-size:22px; }
  [data-quote-inline-host] .forester-quote__components { gap:14px; }
  [data-quote-inline-host] .forester-quote__components dd { font-size:21px; }
  [data-quote-inline-host] .forester-quote__context h4 { margin-top:20px; }
  [data-quote-inline-host] .forester-quote__text-link { margin-top:16px; }
  .forester-quote__pair { grid-template-columns:minmax(0,1fr); gap:0; }
  .forester-quote__submit .package-card__cta { width:100%; max-width:none; min-width:0; }
}

/* Submission feedback stays with the action, including inside the dialog. */
.forester-quote__submit .forester-quote__status { margin:0 0 12px; padding:12px 14px; border:1px solid #dfe2e3; background:#f5f6f6; scroll-margin:100px 0 24px; }
.forester-quote__submit .forester-quote__status.is-error { border-color:#e6b9b8; background:#fff6f5; }
/* Keep the submitted panel in place while replacing its contents. */
.forester-quote__success { padding:24px 12px; border:0; background:transparent; color:var(--color-graphite); text-align:center; scroll-margin:100px 0 24px; }
.forester-quote__sent-icon { display:block; width:56px; height:56px; margin:0 auto 22px; color:#56866b; }
.forester-quote__success h3 { margin:0 0 12px; font:800 30px/1.1 var(--font-family-display); }
.forester-quote__success p { max-width:420px; margin:0 auto; font-size:16px; line-height:1.6; }
.forester-quote__success .package-card__cta { margin:28px auto 0; min-height:44px; }
.forester-quote__success:focus { outline:none; }
[data-quote-inline-host] .forester-quote__fields.is-success { min-height:0; padding:32px 26px; display:flex; align-items:center; justify-content:center; }
[data-quote-inline-host] .forester-quote__fields.is-success > :not(.forester-quote__submit) { display:none; }
[data-quote-inline-host] .forester-quote__fields.is-success .forester-quote__submit { width:100%; margin:0; padding:0; border:0; }
@media(max-width:767px) {
  [data-quote-inline-host] .forester-quote__fields.is-success { padding:24px 0; }
  .forester-quote__success { padding:20px 0; }
  .forester-quote__sent-icon { margin-bottom:18px; }
}
