/* Keep long headings and file controls within narrow viewports. */
@media (max-width:760px){
  .guide-hero h1{font-size:clamp(2rem,9vw,3.5rem);hyphens:auto;overflow-wrap:anywhere}
  .policy-paper h2{font-size:clamp(1.15rem,5.4vw,1.5rem);hyphens:auto;overflow-wrap:anywhere}
}
.upload-file-label{grid-template-columns:minmax(0,1fr);min-width:0}
.upload-file-label input{width:100%;min-width:0;font-size:.875rem}
#upload-list:empty{margin:0 0 1rem}
.upload-main form>button{margin-top:1.25rem}
@media (max-width:400px){.upload-file-label input{font-size:.75rem}}
@media (max-width:760px){
  #responsibilities-heading,#claims-numbers-heading{font-size:clamp(1.9rem,10vw,2.125rem);overflow-wrap:anywhere}
}
.guide-hero h1,.guide-card h2{hyphens:auto;overflow-wrap:anywhere}
/* One large target works with mouse, touch, keyboard and file drops. */
.upload-dropzone{padding:0;border:1px dashed #679fba;border-radius:1rem;background:radial-gradient(ellipse at top,#12364a,#0b1922);transition:border-color .2s,background-color .2s}
.check-dropzone.upload-dropzone{display:block;padding:0}
.upload-drop-trigger{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;width:100%;min-height:190px;padding:1.5rem;background:transparent;border:0;border-radius:inherit;color:#dcecf5;text-align:center;cursor:pointer;font:inherit;line-height:1.5}
.upload-drop-trigger strong{font-size:1rem;font-weight:600}
.upload-drop-trigger>span:not(.upload-drop-icon){font-size:.88rem;color:#b7cad5}
.upload-drop-trigger small{font-size:.75rem;line-height:1.5;color:#a9bfca}
.upload-drop-icon{display:grid;place-items:center;width:2.8rem;height:2.8rem;border:1px solid #79b9d5;border-radius:50%;font-size:1.6rem;color:#9edbfa;line-height:1}
.upload-dropzone:hover,.upload-dropzone.is-dragging,.upload-dropzone:focus-within{border-color:#ff9674;background:#123346}
.upload-drop-trigger:focus-visible{outline:3px solid #9edbfa;outline-offset:-5px}
.upload-drop-trigger:disabled{cursor:not-allowed;opacity:.55}
@media(max-width:400px){.upload-drop-trigger{padding:1.25rem .8rem;min-height:180px}}

.upload-main form>button:disabled{opacity:.55;cursor:not-allowed}
.guide-hero h1{text-wrap:normal}
@media (min-width:761px) and (max-width:900px){.guide-hero{grid-template-columns:1fr}}

@media(min-width:761px){.guide-hero h1.guide-long-title{font-size:clamp(2.5rem,4vw,4rem);max-width:19ch}}
@media(max-width:760px){.guide-hero h1.guide-long-title{font-size:clamp(1.9rem,8.2vw,2.15rem)}}
@media(max-width:620px){
  .base-perils{grid-template-columns:minmax(0,1fr);gap:0}
  .base-peril{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:12px 0}
  .base-peril>label{align-items:flex-start;gap:10px;font-size:13px;min-width:0}
  .base-peril input{width:16px;height:16px}
  .base-peril small{max-width:none;font-size:11px}
  .base-peril>button{flex:none;min-height:44px;padding:8px;font-size:12px}
  .base-perils>.house-side-note{font-size:11px;line-height:1.5}
}
@media(max-width:620px){
  .module-option,.module-option:last-child{font-size:13px;min-height:60px;line-height:1.35}
  .optional-modules .house-side-note{font-size:11px;line-height:1.5}
}

.upload-file-remove{justify-self:start;border:0;background:transparent;color:#9edbfa;padding:.35rem 0;min-height:40px;font:inherit;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.upload-file-remove:focus-visible{outline:2px solid #9edbfa;outline-offset:3px}

.not-found{max-width:1500px;margin:0 auto;padding:clamp(9rem,14vw,13rem) clamp(1.5rem,6vw,6rem) clamp(6rem,10vw,10rem);min-height:65vh}
.not-found h1{font-size:clamp(2.6rem,6vw,6rem);line-height:1.02;letter-spacing:-.05em;margin:1.4rem 0}
.not-found p{max-width:42rem;line-height:1.7;color:#bdcbd2}
.not-found-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem;margin-top:2rem}
@media(max-width:620px){.not-found{padding-top:9rem;min-height:0}.not-found-actions{align-items:flex-start;flex-direction:column;gap:1.25rem}}
.not-found h1 em{color:#8bcdf3;font-style:normal}
