*{box-sizing:border-box}body{font-family:'Fredoka',sans-serif;background:#5cb8ff;margin:0;padding:10px;display:flex;justify-content:center}.portal-container{background:#fff;max-width:1180px;width:100%;padding:28px 35px 35px;border-radius:12px;box-shadow:0 4px 12px #00000026}header{text-align:center;margin-bottom:12px}h1{font-size:3.5rem;color:#0070c0;margin:0;font-weight:700;line-height:1.05}.tagline{margin:3px 0 4px;color:#002060;font-size:1.15rem;font-weight:500}.section-title{font-size:2rem;color:#0070c0;margin:0;font-weight:700}.form-row{display:grid;gap:10px 14px;padding:9px 0;align-items:center;border-bottom:1px solid #edf2f7}.field{display:flex;align-items:center;gap:7px;min-width:0}.field label{color:#002060;white-space:nowrap;font-weight:600}.field input,.field select,.field textarea,.input-container{min-width:0;flex:1;width:100%}.input-container{position:relative;display:flex}.field input,.field select,.field textarea{font-family:inherit;padding:9px;border:1px solid #cbd5e0;border-radius:6px;font-size:.92rem;color:#0070c0;font-weight:600;background:#fff}.field textarea{min-height:76px;resize:vertical}button{font-family:inherit;background:#5cb8ff;color:#002060;border:2px solid #002060;padding:10px 22px;font-size:.95rem;font-weight:600;border-radius:6px;cursor:pointer}button:hover{background:#8dceff}button:disabled{opacity:.65}.status{text-align:center;font-size:.82rem;color:#5a687a;margin:6px 0;min-height:1em}.suggestions-box{position:absolute;top:43px;left:0;right:0;background:#fff;border:1px solid #cbd5e0;border-radius:6px;max-height:180px;overflow:auto;z-index:999;box-shadow:0 4px 12px #0000001a;display:none}.form-complete{opacity:.7}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.street-row{grid-template-columns:1.55fr 1.2fr auto}.notes-row{grid-template-columns:1fr auto}@media(max-width:900px){h1{font-size:2.6rem}.form-row{grid-template-columns:repeat(2,minmax(0,1fr))}.form-row>button{grid-column:1/-1;justify-self:center}}@media(max-width:620px){.portal-container{padding:20px 14px}h1{font-size:2.15rem}.form-row{grid-template-columns:1fr}.field{align-items:flex-start;flex-direction:column}.field label{white-space:normal}}
