.estimate-section { scroll-margin-top: 2rem; }
.estimate-frame { display: block; width: 100%; height: 980px; max-width: 760px; border: 1px solid #d3dce4; border-radius: 12px; background: #f4f8fc; margin: 1.5rem auto; }
.form-help { font-size: .95rem; }
.privacy-link { margin-top: 1rem; font-size: .85rem; }
.field-photo-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(280px,100%),1fr)); gap: 24px; }
.field-photo-grid figure { margin: 0; }
.field-photo-grid img { display: block; width: 100%; height: auto; max-height: 540px; object-fit: contain; background: #e8e5de; border-radius: 8px; }
.field-photo-grid figcaption { margin-top: 10px; font-size: .9rem; line-height: 1.5; color: #35434b; }
a:focus-visible, button:focus-visible, iframe:focus-visible { outline: 3px solid #df7624; outline-offset: 4px; }
@media (max-width: 600px) { .estimate-frame { height: 1100px; } .estimate-section { padding-inline: 20px; } }
