/* ================================================================
   Bureau Nine · Bureau of Anomalous Affairs
   CGS-style light government portal
   ================================================================ */

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }

/* ================================================================
   Classified Intranet Authentication Gate — Windows 2000 / Classic System Vibe
   ================================================================ */
.login-gate {
  position:fixed; inset:0; z-index:9999;
  background:#3a6ea5; /* Classic Win Desktop Blue */
  display:flex; align-items:center; justify-content:center;
  padding:24px; overflow-y:auto;
  font-family:'Tahoma','MS Sans Serif','Microsoft YaHei',sans-serif;
  font-size:13px; color:#000;
}
.login-gate.gate-hidden { opacity:0; pointer-events:none; transition:opacity .35s ease; }

/* Window Body */
.gate-panel {
  position:relative; width:100%; max-width:480px;
  background:#c0c0c0;
  border:1px solid #000;
  /* Win98/2000 Raised 3D Border */
  box-shadow:
    inset -1px -1px 0 #000,
    inset 1px 1px 0 #dfdfdf,
    inset -2px -2px 0 #808080,
    inset 2px 2px 0 #fff;
  padding:3px;
}
.gate-scanline { display:none; }

/* Title Bar */
.gate-head {
  display:flex; align-items:center; gap:6px;
  padding:3px 4px;
  background:linear-gradient(90deg, #000080 0%, #1084d0 100%);
  color:#fff; margin-bottom:0;
}
.gate-emblem { width:18px; height:18px; flex-shrink:0; background:#bf0101; display:flex; align-items:center; justify-content:center; border:none; }
.gate-emblem span { font-family:'Microsoft YaHei',serif; font-size:13px; font-weight:700; color:#fff; }
.gate-head-text { flex:1; }
.gate-org { font-size:13px; font-weight:700; color:#fff; letter-spacing:0; }
.gate-system { display:none; }
.gate-level {
  font-size:11px; font-weight:400; color:#fff; line-height:1;
  background:#c0c0c0; color:#000;
  border:none; box-shadow:inset -1px -1px 0 #808080, inset 1px 1px 0 #fff;
  padding:2px 6px; letter-spacing:0;
}
.gate-level span { display:none; }

/* Title Bar右上角Window Buttons */
.gate-winbtns { display:flex; gap:2px; }
.gate-winbtn {
  width:16px; height:14px; flex-shrink:0;
  background:#c0c0c0; color:#000;
  display:flex; align-items:center; justify-content:center;
  font-size:9px; font-family:'Tahoma',monospace; line-height:1;
  box-shadow:inset -1px -1px 0 #808080, inset 1px 1px 0 #fff;
  cursor:default; user-select:none;
}
.gate-winbtn--x { font-size:11px; }

/* Window Content Area */
.gate-body-pad { padding:14px 16px 16px; }

/* System Info Bar */
.gate-system-bar {
  font-size:11px; color:#000; margin:8px 16px 0;
  padding:4px 8px; background:#c0c0c0;
  box-shadow:inset 1px 1px 0 #808080, inset -1px -1px 0 #fff;
}
.gate-system-bar b { color:#000080; }

/* Warning Box - Classic Error Dialog Style */
.gate-warning { margin:14px 16px 0; border:2px solid; border-color:#808080 #fff #fff #808080; background:#fff; padding:12px 14px; }
.gate-warning-title { color:#a00; font-size:13px; font-weight:700; letter-spacing:0; margin-bottom:6px; }
.gate-warning p { font-size:12px; line-height:1.7; color:#000; }
.gate-warning strong { color:#a00; }

/* Confidentiality Notice - Inset Text Box */
.gate-rules { margin:12px 16px 0; }
.gate-rules-title { font-size:12px; color:#000; font-weight:700; margin-bottom:5px; }
.gate-rules ul {
  display:flex; flex-direction:column; gap:6px;
  background:#fff; border:2px solid; border-color:#808080 #fff #fff #808080;
  padding:10px 12px; max-height:140px; overflow-y:auto;
}
.gate-rules li { font-size:12px; line-height:1.6; color:#000; }
.gate-rules .rule-no { display:inline-block; font-family:'Courier New',monospace; font-size:11px; color:#fff; background:#000080; padding:0 4px; margin-right:6px; font-weight:700; }
.gate-rules strong { color:#a00; }

/* Form */
.gate-form { padding:0 16px 16px; }
.gate-fields { display:flex; flex-direction:column; gap:8px; margin:14px 0; }
.gate-field { display:flex; align-items:center; gap:8px; }
.gate-field label { font-size:12px; color:#000; width:130px; flex-shrink:0; }
.gate-field input {
  flex:1; background:#fff; color:#000;
  border:2px solid; border-color:#808080 #fff #fff #808080;
  font-family:'Tahoma','Microsoft YaHei',sans-serif; font-size:12px; padding:3px 6px; outline:none;
}
.gate-field input:focus { background:#fff; }

.gate-agree { display:flex; gap:7px; align-items:flex-start; margin:14px 0; cursor:pointer; }
.gate-agree input { margin-top:1px; width:13px; height:13px; flex-shrink:0; cursor:pointer; }
.gate-agree span { font-size:12px; line-height:1.6; color:#000; }

/* 经典凸起按钮 */
.gate-btn {
  display:block; margin:0 auto; min-width:160px;
  background:#c0c0c0; color:#000; font-weight:400;
  border:1px solid #000;
  box-shadow:inset -1px -1px 0 #808080, inset 1px 1px 0 #fff, inset -2px -2px 0 #808080, inset 2px 2px 0 #dfdfdf;
  padding:6px 18px; font-size:13px; letter-spacing:.05em;
  cursor:pointer; font-family:'Tahoma','Microsoft YaHei',sans-serif;
}
.gate-btn:active { box-shadow:inset 1px 1px 0 #808080, inset -1px -1px 0 #fff; padding:7px 17px 5px 19px; }
.gate-btn:disabled { color:#808080; text-shadow:1px 1px 0 #fff; cursor:default; }
.gate-btn:focus { outline:1px dotted #000; outline-offset:-4px; }

.gate-error { color:#a00; font-size:12px; margin-top:10px; min-height:15px; text-align:center; }
.gate-progress { color:#000080; font-size:11px; margin-top:8px; font-family:'Courier New',monospace; min-height:15px; white-space:pre; background:#fff; box-shadow:inset 1px 1px 0 #808080, inset -1px -1px 0 #fff; padding:6px 8px; display:none; }
.gate-progress.show { display:block; }

/* Status Bar (Window Bottom) */
.gate-footer {
  display:flex; flex-wrap:wrap; gap:4px 14px; margin:0 3px 3px;
  padding:4px 8px; background:#c0c0c0;
  box-shadow:inset 1px 1px 0 #808080, inset -1px -1px 0 #fff;
  font-family:'Tahoma',monospace; font-size:11px; color:#000;
}
.login-gate .redacted { background:#000; color:#000; padding:0 4px; }

@media (max-width:600px) {
  .gate-field { flex-direction:column; align-items:stretch; gap:3px; }
  .gate-field label { width:auto; }
}

html {
  scroll-behavior:smooth;
  background:#ffffff;
  color:#1a1a1a;
  font-family:'Microsoft YaHei','Noto Sans SC',system-ui,-apple-system,sans-serif;
  font-size:16px; line-height:1.7;
  -webkit-font-smoothing:antialiased;
}
body { min-height:100vh; background:#ffffff; }

.section-inner, .top-bar-inner, .site-header-inner, .main-nav-inner, .hero-inner, .footer-inner {
  max-width:1200px; margin:0 auto; width:100%;
}

/* === TOP UTILITY BAR === */
.top-bar { background:#f6f7f8; border-bottom:1px solid #e3e8f0; }
.top-bar-inner { padding:6px 24px; display:flex; justify-content:space-between; align-items:center; font-size:12px; }
.top-bar-link { color:#214c99; text-decoration:none; transition:opacity .2s; }
.top-bar-link:hover { opacity:.7; }
.top-bar-right { display:flex; gap:10px; align-items:center; color:#7a8395; }
.top-bar-right a { color:#7a8395; text-decoration:none; }
.top-bar-right a:hover { color:#214c99; }
.top-bar-div { color:#ccd4e0; }

/* === SITE HEADER (logo + search) === */
.site-header { background:#fff; border-bottom:1px solid #eef1f5; }
.site-header-inner { padding:22px 24px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; }
.site-logo { display:flex; align-items:center; gap:14px; }
.logo-seal {
  width:46px; height:46px; flex-shrink:0;
  background:#214c99; color:#fff;
  font-family:'Noto Serif SC',serif; font-size:26px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}
.logo-text { display:flex; flex-direction:column; gap:2px; }
.logo-title { font-size:24px; font-weight:700; color:#214c99; letter-spacing:.08em; }
.logo-subtitle { font-size:11px; color:#8a92a0; letter-spacing:.04em; }

.site-search { display:flex; align-items:stretch; height:38px; }
.site-search input {
  border:1px solid #c1d0ec; border-right:none; padding:0 14px;
  font-size:13px; color:#333; outline:none; width:260px; font-family:inherit;
}
.site-search input:focus { border-color:#214c99; }
.site-search-btn {
  background:#214c99; color:#fff; border:none; padding:0 20px;
  font-size:13px; cursor:pointer; font-family:inherit; transition:background .2s;
}
.site-search-btn:hover { background:#1a3d7a; }

/* === MAIN NAV (CGS blue bar) === */
.main-nav { background:#214c99; }
.main-nav-inner { display:flex; padding:0 24px; }
.main-nav li { list-style:none; }
.main-nav li a {
  display:block; color:#fff; text-decoration:none;
  padding:15px 28px; font-size:16px; letter-spacing:.05em;
  position:relative; transition:background .2s;
}
.main-nav li a:hover { background:rgba(255,255,255,.1); }
.main-nav li a.active { background:#bf0101; }
.main-nav li a.active::after,
.main-nav li a:hover::after {
  content:''; position:absolute; left:0; bottom:0; width:100%; height:3px; background:#bf0101;
}
.main-nav li a.active::after { background:#fff; }

/* === HERO === */
.hero {
  background:linear-gradient(180deg, #f0f4fa 0%, #ffffff 100%);
  border-bottom:1px solid #eef1f5;
}
.hero-inner {
  padding:48px 24px 56px; display:flex; align-items:center; justify-content:space-between; gap:48px;
}
.hero-left { flex:1; max-width:620px; display:flex; flex-direction:column; gap:28px; }
.hero-label { font-size:12px; letter-spacing:.18em; color:#8a92a0; font-family:'Courier New',monospace; }
.hero-title { font-size:clamp(26px,3.6vw,40px); font-weight:700; color:#214c99; line-height:1.3; margin-top:10px; letter-spacing:.04em; }
.hero-desc { font-size:15px; line-height:1.9; color:#4a5260; max-width:560px; }

/* report block */
.hero-report { text-align:center; }
.hero-report-btn { background:#bf0101; color:#fff; border:none; padding:10px 28px; font-size:14px; cursor:pointer; font-family:inherit; transition:background .2s; white-space:nowrap; text-decoration:none; display:inline-block; }
.hero-report-btn:hover { background:#a00101; }

/* globe */
.hero-globe { flex-shrink:0; display:flex; flex-direction:column; align-items:center; gap:12px; }
.globe-container { position:relative; cursor:crosshair; }
.globe-container canvas { display:block; filter:drop-shadow(0 4px 20px rgba(33,76,153,.12)); }
.globe-tooltip {
  position:absolute; pointer-events:none; opacity:0;
  background:#fff; border:1px solid #c1d0ec;
  padding:10px 14px; font-size:12px; line-height:1.5; color:#333;
  transition:opacity .15s; z-index:10; white-space:nowrap;
  box-shadow:0 4px 16px rgba(33,76,153,.15);
}
.globe-tooltip.visible { opacity:1; }
.globe-tooltip-code { color:#bf0101; font-family:'Courier New',monospace; letter-spacing:.08em; font-size:11px; }
.globe-tooltip-name { color:#214c99; font-size:14px; font-weight:700; margin:2px 0; }
.globe-tooltip-status { font-size:11px; color:#7a8395; }
.globe-tooltip-hint { font-size:10px; color:#bf0101; margin-top:4px; }
.globe-caption { font-family:'Courier New',monospace; font-size:9px; letter-spacing:.18em; color:#aab2c0; text-transform:uppercase; text-align:center; max-width:360px; }

/* === SECTIONS === */
.section { padding:0; border-bottom:1px solid #eef1f5; }
.section--gray { background:#f6f7f8; }
.section-inner { padding:54px 24px; }
.section-header { display:flex; align-items:baseline; gap:14px; margin-bottom:36px; border-bottom:2px solid #214c99; padding-bottom:12px; }
.section-title { font-size:24px; font-weight:700; color:#214c99; letter-spacing:.05em; position:relative; padding-left:14px; }
.section-title::before { content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); width:4px; height:20px; background:#bf0101; }
.section-en { font-family:'Courier New',monospace; font-size:11px; letter-spacing:.15em; color:#aab2c0; }
.section-note { font-size:14px; color:#6a7280; margin-bottom:28px; }

/* redacted */
.redacted { background:#333; color:#333; padding:0 4px; user-select:none; }

/* === ABOUT === */
.about-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(250px,1fr)); gap:16px; margin-bottom:32px; }
.about-card { background:#fff; border:1px solid #e3e8f0; border-top:3px solid #214c99; padding:24px 22px; }
.about-card--accent { border-top-color:#bf0101; }
.card-tag { display:inline-block; font-size:11px; color:#fff; background:#214c99; padding:2px 10px; margin-bottom:12px; letter-spacing:.05em; }
.card-tag--red { background:#bf0101; }
.card-title { font-size:17px; font-weight:700; color:#214c99; margin-bottom:10px; }
.card-text { font-size:14px; line-height:1.7; color:#5a626e; }
.about-card--accent .card-title { color:#bf0101; }

.about-principle { background:#fff; border:1px solid #e3e8f0; border-left:4px solid #214c99; padding:28px 30px; }
.principle-label { font-size:14px; font-weight:700; color:#214c99; margin-bottom:14px; }
.principle-quote { font-size:16px; line-height:1.9; color:#3a4250; }
.principle-footer { font-size:12px; color:#8a92a0; margin-top:14px; text-align:right; }

/* === MAP === */
.map-wrapper { border:1px solid #c1d0ec; margin-bottom:20px; background:#fff; }
.map-classification { font-size:13px; color:#214c99; padding:10px 16px; background:#eef3fa; border-bottom:1px solid #c1d0ec; font-weight:700; letter-spacing:.03em; }
#locationsMap { width:100%; height:440px; background:#f6f7f8; }
#locationsMap .leaflet-control-zoom a { background:#fff !important; color:#214c99 !important; border:1px solid #c1d0ec !important; border-radius:0 !important; }
#locationsMap .leaflet-control-zoom a:hover { background:#eef3fa !important; }
#locationsMap .leaflet-control-attribution { background:rgba(255,255,255,.85) !important; color:#8a92a0 !important; font-size:9px !important; }
.map-legend { display:flex; gap:20px; padding:11px 16px; background:#eef3fa; border-top:1px solid #c1d0ec; font-size:12px; color:#5a626e; align-items:center; }
.map-legend span { display:flex; align-items:center; }
.legend-dot { width:9px; height:9px; display:inline-block; margin-right:6px; border-radius:50%; }
.legend-dot--active { background:#214c99; }
.legend-dot--pending { background:#8a92a0; }
.legend-dot--blocked { background:#bf0101; }

.leaflet-popup-content-wrapper { background:#fff !important; color:#333 !important; border:1px solid #c1d0ec !important; border-radius:0 !important; box-shadow:0 4px 16px rgba(33,76,153,.2) !important; }
.leaflet-popup-tip { background:#fff !important; }

/* === LOCATIONS GRID === */
.locations-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(330px,1fr)); gap:16px; }
.location-card { background:#fff; border:1px solid #e3e8f0; padding:22px 20px; display:flex; flex-direction:column; gap:7px; transition:box-shadow .2s,border-color .2s; }
.location-card:hover { box-shadow:0 4px 16px rgba(33,76,153,.1); border-color:#c1d0ec; }
.location-card--image { padding:0; }
.location-card-img { width:100%; height:170px; object-fit:cover; display:block; }
.location-card--image .location-coords,
.location-card--image .location-name,
.location-card--image .location-code,
.location-card--image .location-desc,
.location-card--image .location-status { padding-left:20px; padding-right:20px; }
.location-card--image .location-name { margin-top:14px; }
.location-card--image .location-status { padding-bottom:20px; }
.location-coords { font-family:'Courier New',monospace; font-size:11px; color:#8a92a0; letter-spacing:.04em; }
.location-name { font-size:18px; font-weight:700; color:#214c99; }
.location-code { font-family:'Courier New',monospace; font-size:12px; color:#bf0101; letter-spacing:.05em; }
.location-desc { font-size:13px; line-height:1.7; color:#5a626e; flex:1; }
.location-status { font-size:12px; color:#214c99; border-top:1px solid #eef1f5; padding-top:10px; }
.location-card--redacted { opacity:.65; background:#f6f7f8; }

/* === CASES === */
.case-filters { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; align-items:center; }
.filter-label { font-size:13px; color:#6a7280; margin-right:6px; }
.filter-btn { font-size:13px; color:#5a626e; background:#fff; border:1px solid #ccdcec; padding:7px 16px; cursor:pointer; transition:all .2s; font-family:inherit; }
.filter-btn:hover { color:#214c99; border-color:#214c99; }
.filter-btn.active { color:#fff; background:#214c99; border-color:#214c99; }

.cases-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(330px,1fr)); gap:16px; }
.case-card { background:#fff; border:1px solid #e3e8f0; display:flex; flex-direction:column; transition:box-shadow .2s,border-color .2s; position:relative; }
.case-card:hover { box-shadow:0 4px 16px rgba(33,76,153,.1); border-color:#c1d0ec; }
.case-card-img { width:100%; height:160px; object-fit:cover; display:block; }
.case-card-body { padding:20px; display:flex; flex-direction:column; gap:7px; flex:1; }
.case-category { font-family:'Courier New',monospace; font-size:11px; color:#fff; background:#214c99; padding:2px 8px; position:absolute; top:14px; right:14px; z-index:1; }
.case-id { font-family:'Courier New',monospace; font-size:12px; color:#bf0101; letter-spacing:.06em; }
.case-name { font-size:17px; font-weight:700; color:#214c99; line-height:1.4; }
.case-location { font-size:12px; color:#8a92a0; }
.case-meta { font-family:'Courier New',monospace; font-size:12px; color:#aab2c0; }
.case-desc { font-size:13px; color:#5a626e; line-height:1.7; margin-top:4px; }
.case-status { font-size:12px; color:#214c99; border-top:1px solid #eef1f5; padding-top:10px; margin-top:auto; }
.case-status--closed { color:#8a92a0; }
.case-status--blocked { color:#bf0101; }
.case-card--redacted { opacity:.65; }

/* === PERSONNEL === */
.personnel-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(350px,1fr)); gap:16px; }
.personnel-card { background:#fff; border:1px solid #e3e8f0; padding:22px 20px; display:flex; flex-direction:column; gap:12px; transition:box-shadow .2s; }
.personnel-card:hover { box-shadow:0 4px 16px rgba(33,76,153,.1); }
.personnel-constellation { font-size:11px; color:#8a92a0; letter-spacing:.04em; }
.personnel-card-inner { display:flex; gap:16px; flex:1; }
.personnel-avatar { width:80px; height:80px; flex-shrink:0; overflow:hidden; background:#f0f4fa; border:1px solid #e3e8f0; }
.personnel-avatar img { width:100%; height:100%; object-fit:cover; }
.personnel-avatar--placeholder { display:flex; align-items:center; justify-content:center; }
.personnel-avatar--placeholder span { font-family:'Noto Serif SC',serif; font-size:30px; color:#214c99; }
.personnel-avatar--redacted { display:flex; align-items:center; justify-content:center; background:#f6f7f8; }
.personnel-avatar--redacted span { font-size:28px; color:#ccd4e0; }
.personnel-info { flex:1; display:flex; flex-direction:column; gap:4px; }
.personnel-code { font-family:'Courier New',monospace; font-size:22px; color:#214c99; font-weight:700; letter-spacing:.04em; }
.personnel-role { font-size:13px; color:#bf0101; }
.personnel-desc { font-size:13px; line-height:1.7; color:#5a626e; }
.personnel-status { font-size:12px; color:#1a7a3a; border-top:1px solid #eef1f5; padding-top:10px; }
.personnel-status--inactive { color:#bf0101; }
.personnel-card--redacted { opacity:.65; }

/* === REPORT FORM === */
.report-form { max-width:640px; display:flex; flex-direction:column; gap:20px; }
.form-group { display:flex; flex-direction:column; gap:7px; }
.form-group label { font-size:13px; color:#214c99; font-weight:700; }
.form-group input, .form-group select, .form-group textarea {
  background:#fff; border:1px solid #ccdcec; color:#333;
  font-family:inherit; font-size:14px; padding:11px 14px; outline:none; transition:border-color .2s;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:#214c99; }
.form-group select { cursor:pointer; appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 8L1 3h10z' fill='%237a8395'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 14px center; padding-right:36px; }
.form-group textarea { resize:vertical; min-height:100px; }
.form-footer { display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
.form-note { font-size:13px; color:#8a92a0; }
.submit-btn { background:#bf0101; color:#fff; border:none; padding:13px 36px; font-size:14px; cursor:pointer; font-family:inherit; transition:background .2s; }
.submit-btn:hover { background:#a00101; }

.report-confirmation { max-width:640px; padding:28px; background:#eef3fa; border:1px solid #c1d0ec; border-left:4px solid #1a7a3a; margin-top:16px; }
.confirmation-stamp { font-size:18px; color:#1a7a3a; font-weight:700; margin-bottom:12px; }
.report-confirmation p { font-size:14px; color:#4a5260; line-height:1.8; }
#newCaseId { font-family:'Courier New',monospace; color:#bf0101; font-weight:700; }
.confirmation-note { font-size:13px !important; color:#8a92a0 !important; margin-top:10px; }

/* === FOOTER === */
.site-footer { background:#214c99; color:#cdd8ea; }
.footer-inner { padding:40px 24px 0; }
.footer-top { display:flex; justify-content:space-between; gap:32px; flex-wrap:wrap; padding-bottom:28px; }
.footer-col { display:flex; flex-direction:column; gap:8px; font-size:13px; color:#a8b8d8; }
.footer-col--right { align-items:flex-end; text-align:right; }
.footer-label { color:#fff; font-weight:700; font-size:15px; letter-spacing:.05em; }
.footer-seal { width:40px; height:40px; background:rgba(255,255,255,.12); color:#fff; font-family:'Noto Serif SC',serif; font-size:22px; display:flex; align-items:center; justify-content:center; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.15); padding:16px 0; text-align:center; font-size:12px; color:#8ba0c8; }
.site-footer .redacted { background:#1a3d7a; color:#1a3d7a; }

/* === RESPONSIVE === */
@media (max-width:900px) {
  .hero-inner { flex-direction:column; align-items:flex-start; }
  .hero-left { max-width:100%; }
  .globe-container canvas { width:300px; height:300px; }
  .globe-container { width:300px; height:300px; }
  .site-search input { width:180px; }
}
@media (max-width:768px) {
  .main-nav-inner { overflow-x:auto; }
  .main-nav li a { padding:13px 16px; font-size:14px; white-space:nowrap; }
  .section-inner { padding:40px 16px; }
  .hero-inner { padding:32px 16px 40px; }
  .about-grid, .cases-grid, .personnel-grid, .locations-grid { grid-template-columns:1fr; }
  #locationsMap { height:320px; }
  .personnel-card-inner { flex-direction:column; align-items:center; text-align:center; }
  .hero-report-form { flex-direction:column; }
  .hero-report-input[type="text"], .hero-report-input select { min-width:100%; }
  .form-footer { flex-direction:column; align-items:flex-start; }
  .footer-top { flex-direction:column; gap:24px; }
  .footer-col--right { align-items:flex-start; text-align:left; }
  .site-header-inner { flex-direction:column; align-items:flex-start; }
  .site-search { width:100%; }
  .site-search input { flex:1; width:auto; }
}
