.saved-photos{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.saved-photos a{display:flex;flex-direction:column;max-width:150px;font-size:11px;color:#253630}.saved-photos img{width:140px;height:100px;object-fit:cover;border-radius:8px}.save-status{margin-top:12px}.status-feedback{font-size:13px;color:#9a4536}.reference{overflow-wrap:anywhere;max-width:100%;font-size:12px}button:disabled{opacity:.65;cursor:wait}

/* Larger text and generous touch targets for property requests on phones and tablets. */
body{font-size:17px}
.hero-copy>p{font-size:18px}
.primary,.hero .primary,.secondary,.inbox-button{font-size:16px;min-height:54px}
.service-card{min-height:168px}
.service-card strong{font-size:18px;line-height:1.4;padding-right:10px}
.service-card small,.section-head>p,.steps-grid p,.bottom-copy p{font-size:16px}
.steps-grid h3{font-size:18px}
.hero-note,.scope-note{font-size:14px}
dialog{width:min(780px,calc(100% - 24px));max-height:94dvh}
.dialog-frame{padding:30px 36px 24px}
.dialog-header .small-brand{font-size:26px}
.small-brand span{font-size:12px}
.icon-button{width:48px;height:48px;align-items:center;justify-content:center}
.icon-button svg{width:24px;height:24px}
.dialog-progress{gap:12px;margin-bottom:30px}
.progress-item{font-size:15px;gap:8px;color:#626b63}
.progress-item>span{width:32px;height:32px;font-size:15px}
.form-step .eyebrow,.success-view .eyebrow,.inbox-content>.eyebrow{font-size:12px}
.form-step h2,.inbox-content h2{font-size:36px}
.form-intro{font-size:17px;line-height:1.65;margin-bottom:26px}
.form-step label{font-size:17px;line-height:1.5;margin:24px 0 10px}
.optional{font-size:14px}
.form-step input:not([type=checkbox]):not([type=file]),.form-step select,.form-step textarea{
  font-size:18px;min-height:58px;padding:15px 16px;border:1px solid #aab5aa;border-radius:8px;
}
.form-step textarea{min-height:150px}
.form-step input::placeholder,.form-step textarea::placeholder{font-size:16px;color:#69736a}
.field-row{gap:22px}
.upload-heading{align-items:baseline;flex-wrap:wrap}
.upload-heading>span{font-size:14px}
.form-step .upload-zone{min-height:144px;padding:24px 18px;gap:10px}
.upload-zone strong{font-size:18px}
.upload-zone>span:last-of-type{font-size:15px;text-align:center}
.photo-privacy,.safety-note,.review-note{font-size:14px;line-height:1.7}
.photo-chip span{font-size:14px;max-width:240px}
.photo-chip button{min-width:44px;min-height:44px}
.photo-chip svg{width:20px;height:20px}
.privacy-card strong{font-size:18px}
.privacy-card p{font-size:16px}
.review-panel{padding:24px}
.review-service h3{font-size:26px}
.review-service p{font-size:16px}
.review-row{grid-template-columns:125px minmax(0,1fr);font-size:17px;gap:16px;margin:18px 0}
.form-step .checkbox-label{font-size:17px;gap:14px;padding:10px 0}
.checkbox-label input{width:24px;height:24px;min-width:24px;min-height:24px}
.form-error{font-size:17px;padding:16px}
.dialog-actions{gap:14px;padding-top:22px}
.dialog-actions .primary{font-size:17px;min-height:58px;padding:15px 20px;gap:12px}
.back-button{font-size:17px;min-height:48px}
.step-counter{font-size:12px;letter-spacing:.03em}
.demo-caption{font-size:11px}
.success-view p,.text-button{font-size:17px}
.text-button{min-height:48px}
.reference{font-size:14px;letter-spacing:.02em}
.inbox-card-header strong{font-size:18px}
.inbox-card summary,.inbox-card .note{font-size:16px}
.inbox-ref,.status-badge{font-size:13px}
.inbox-card select{font-size:18px;min-height:54px;max-width:100%}
@media(max-width:650px){
  .dialog-frame{padding:22px 20px}
  .dialog-header{margin-bottom:24px}
  .dialog-header .small-brand{font-size:24px}
  .small-brand span{font-size:10px}
  .dialog-progress{gap:6px}
  .progress-item{font-size:12px;gap:4px;white-space:normal}
  .progress-item>span{width:28px;height:28px;min-width:28px;font-size:14px}
  .form-step h2,.inbox-content h2{font-size:32px}
  .field-row{grid-template-columns:1fr;gap:0}
  .form-step input:not([type=checkbox]):not([type=file]),.form-step select,.form-step textarea{padding:14px 12px;font-size:18px}
  .review-panel{padding:18px}
  .review-row{grid-template-columns:1fr;gap:4px}
  .review-row dt{font-size:15px;font-weight:600}
  .dialog-actions{flex-wrap:wrap;gap:10px}
  .dialog-actions .primary{width:100%;margin-left:0;order:3}
  .step-counter{margin-left:auto}
  .hero-copy>p{font-size:17px}
  .service-card{min-height:162px;padding:18px 14px}
  .service-card strong{font-size:17px;padding-right:0}
  .service-card small{font-size:15px}
  .service-card .card-arrow{display:none}
}

#start-request { text-decoration: none; }
.repair-item {
  margin: 26px 0 18px; padding: 12px 18px 18px; min-width: 0;
  border: 1px solid #c9d1c8; border-radius: 8px;
}
.repair-item legend { padding: 0 7px; font: 22px Georgia, serif; color: var(--ink); }
.remove-repair, #forget-details {
  background: transparent; border: 0; color: var(--ink); font: inherit;
  text-decoration: underline; min-height: 44px; padding: 0 4px;
}
#add-repair { margin: 0 0 12px; }
.remembered-info { padding: 10px 14px; background: var(--cream); border-radius: 6px; }
.repair-review + .repair-review { border-top: 1px solid var(--line); padding-top: 14px; }
.reference { display: inline-block; font: 600 21px/1.5 system-ui,sans-serif; letter-spacing: .04em; }
@media (max-width:650px) {
  #request-dialog { max-height: 100dvh; }
  #request-dialog .dialog-frame { padding: 14px 16px 0; }
  .repair-item { padding: 8px 12px 14px; }
  .dialog-actions {
    position: sticky; bottom: 0; z-index: 2; background: white;
    display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 6px 10px;
    margin: 18px -16px 0; padding: 9px 16px max(10px, env(safe-area-inset-bottom));
    box-shadow: 0 -4px 12px #15251b0d;
  }
  .dialog-actions .primary { grid-column: 2; grid-row: 1; order: initial; min-width: 0; min-height: 52px; justify-content: center; }
  .dialog-actions .step-counter { grid-column: 1; grid-row: 1; margin: 0; }
  .dialog-actions:has(.back-button:not([hidden])) .step-counter { display: none; }
  .dialog-actions .back-button { grid-row: 1; grid-column: 1; }
  #request-form .demo-caption { display: none; }
  #request-dialog { scroll-padding-block: 12px 86px; }
  .success-view { padding-bottom: 28px; }
}
