.form-header { gap: 18px; }
.form-code { max-width: 230px; text-align: right; line-height: 1.6; }
.field { min-width: 0; }
.field-label { line-height: 1.65; }
.field-english { line-height: 1.65; }
.field-help,.upload-name { color: var(--muted); font-size: 13px; line-height: 1.75; margin: 10px 0; overflow-wrap: anywhere; }
.upload-name { color: var(--lime); }
.field select { text-transform: none; }
.field select optgroup { color: var(--white); background: var(--navy); }
.field input[type=month] { color-scheme: dark; }
.field .checkbox-options { display: grid; gap: 8px; border: 1px solid var(--line); padding: 15px; background: rgba(7,53,75,.7); }
.checkbox-option,.acknowledgement { display: flex; align-items: flex-start; gap: 12px; cursor: pointer; font-size: 14px; line-height: 1.65; }
.field .checkbox-option input,.field .acknowledgement input { appearance: auto; accent-color: var(--lime); width: 19px; height: 19px; min-height: 0; flex: 0 0 19px; margin: 3px 0 0; padding: 0; }
.repeat-entries { margin-top: 18px; }
.repeat-entry { border: 1px solid var(--line); padding: 20px; background: rgba(7,53,75,.3); margin-bottom: 18px; }
.repeat-entry .field-grid { margin-top: 12px; gap: 26px 22px; }
.entry-head { font-size: 13px; font-weight: 600; color: var(--lime); }
.add-entry,.remove-entry { min-height: 44px; font-size: 13px; }
.remove-entry { padding: 8px; }
.field .field-error { line-height: 1.6; }
.field.invalid > .field-error { display: block; }
.field:not(.invalid) > .field-error { display: none; }
.field.invalid > .repeat-entries { border-left: 2px solid var(--error); padding-left: 10px; }
.upload-remove { margin-left: 0; margin-bottom: 10px; }
.submission-note { color: var(--muted); font-size: 14px; line-height: 1.8; margin-top: 32px; }
@media(max-width:520px) { .repeat-entry { padding: 14px; } .form-code { max-width: 165px; } .entry-head { gap: 10px; } .field-label { font-size: 15px; } }
.city-panel .city-slide img { object-position: var(--focus, center); animation-play-state: paused; }
.city-panel .city-slide.is-active img { animation-play-state: running; }
.city-panel.is-inactive .city-slide img { animation-play-state: paused; }
.city-meta p { font-size: clamp(30px,3vw,44px); }
.city-meta em { font-size: .7em; }
.city-credit { display: inline-block; color: #d5dfdf; font-size: 12px; line-height: 1.5; text-underline-offset: 4px; margin-top: 16px; }
.city-credit[hidden] { display: none; }
.city-credit:hover,.city-credit:focus-visible { color: var(--lime); }
