/* Provincial works: shared typography and compact forms, independent of maps. */
.infrastructure-platform { --work-ink:#233a37; --work-line:#dbe4df; }
.infrastructure-platform .map-search-heading h1 { max-width:850px; font-size:clamp(30px,3.4vw,54px); line-height:1.08; letter-spacing:-.055em; }
.infrastructure-platform .map-welcome-copy { max-width:760px; font-size:15px; line-height:1.6; }
.infrastructure-platform .map-searchbar.has-motto { align-items:center; padding-top:28px; padding-bottom:24px; }
.infrastructure-intro { display:flex; flex-wrap:wrap; align-items:center; gap:12px 30px; border-top:1px solid var(--work-line); padding:16px 0; color:#63786e; font-size:12px; }
.infrastructure-intro strong { color:var(--work-ink); font-size:16px; margin-right:5px; }
.infrastructure-intro a { margin-left:auto; color:#a91e37; font-weight:650; text-decoration:none; }
.infrastructure-platform .topic-choices { gap:8px; padding:8px 2px 12px; }
.infrastructure-platform .discovery-topic { min-width:114px; min-height:98px; padding:12px 9px; border-radius:12px; }
.infrastructure-platform .discovery-topic-label { font-size:11px; line-height:1.35; }
.infrastructure-platform .discovery-topic-icon { width:27px; height:27px; padding:0; color:#516f68; background:none; }
.infrastructure-platform .explore-filters { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.infrastructure-platform .explore-filters .search-field { grid-column:1/-1; }
.infrastructure-platform .explore-filters .field { min-width:0; }
.infrastructure-platform .explore-filters select { width:100%; min-width:0; }
.infrastructure-platform .report-layout { grid-template-columns:minmax(0,900px) minmax(230px,310px); justify-content:center; gap:32px; }
.infrastructure-platform .form-card { padding:28px; }
.infrastructure-platform .form-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.infrastructure-platform .form-steps li { min-width:0; font-size:12px; }
.infrastructure-platform .form-steps li::after { display:none; }
.infrastructure-platform .form-card fieldset { min-width:0; }
.infrastructure-platform #categoryOptions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.infrastructure-platform .category-option { min-width:0; min-height:58px; }
.infrastructure-platform .category-option span { min-height:0; display:flex; align-items:center; padding:0; line-height:1.35; font-size:12px; border-radius:8px; }
.infrastructure-platform .field-grid { align-items:start; }
.infrastructure-platform .field { min-width:0; }
.infrastructure-platform .form-card :is(input,select,textarea) { min-width:0; max-width:100%; border-radius:9px; }
.infrastructure-platform .field-error:empty { display:none; }
.infrastructure-platform .fieldset-intro { font-size:13px; line-height:1.6; }
.infrastructure-platform .form-card fieldset legend { font-size:25px; }
.infrastructure-platform .additional-subtype { font-style:italic; }
.affected-territories { padding:17px; border:1px solid #dce5df; border-radius:10px; background:#f5f8f5; margin:14px 0 20px; }
.affected-territories > label { display:block; font-size:13px; font-weight:650; margin-bottom:8px; }
.territory-add { display:flex; gap:8px; align-items:center; }
.territory-add input { flex:1; width:100%; min-width:0; }
.affected-territories .active-filters { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.affected-territories .filter-chip { white-space:normal; text-align:left; min-height:40px; }
.work-technical { border:1px solid var(--work-line); border-radius:12px; padding:0 20px; margin:24px 0; }
.work-technical > summary { padding:19px 0; cursor:pointer; color:#2e4741; font-size:14px; font-weight:700; }
.work-technical > summary span { display:block; margin-top:5px; color:#768579; font-size:12px; font-weight:400; }
.work-technical > .field-grid { margin-top:10px; }
.work-technical > .small-note { padding-bottom:16px; }
.work-badges { display:flex; flex-wrap:wrap; gap:6px; margin:12px 0; }
.work-badges span { padding:5px 8px; border-radius:5px; background:#eef4ee; color:#3f6555; font-size:10px; font-weight:650; }
.infrastructure-summary { margin:22px 0; padding:20px; background:#f5f8f5; border:1px solid #e0e7df; border-radius:12px; color:#2f453d; }
.infrastructure-summary dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:12px 0 0; }
.infrastructure-summary-row { min-width:0; }
.infrastructure-summary dt { font-size:11px; color:#718074; margin:0 0 4px; }
.infrastructure-summary dd { margin:0; font-size:13px; overflow-wrap:anywhere; line-height:1.5; }
.infrastructure-summary-category { font-size:13px; font-weight:700; margin:0 0 8px; }
.infrastructure-method { margin:36px 0; padding:26px; border:1px solid #d6dfd7; border-radius:16px; background:#f6f8f2; }
.infrastructure-method h3 { font-size:23px; margin:8px 0 14px; }
.infrastructure-method p { max-width:1000px; font-size:14px; line-height:1.7; }
.infrastructure-source-links { display:flex; flex-wrap:wrap; gap:10px; margin:18px 0; }
.infrastructure-source-links a { border:1px solid #ccd7ca; background:#fff; border-radius:8px; color:#3d5e4c; padding:11px 14px; font-size:12px; text-decoration:none; }
.infrastructure-platform .work-charts { margin-top:20px; grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:1000px) {
  .infrastructure-platform .report-layout { grid-template-columns:minmax(0,1fr); }
  .infrastructure-platform .form-guide { display:none; }
}
@media(max-width:700px) {
  .infrastructure-platform .map-searchbar.has-motto { padding-top:20px; }
  .infrastructure-platform .map-search-heading h1 { font-size:34px; }
  .infrastructure-platform .map-welcome-copy { font-size:13px; }
  .infrastructure-intro { gap:10px 18px; font-size:11px; }
  .infrastructure-intro a { margin-left:0; }
  .infrastructure-platform .explore-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .infrastructure-platform .form-card { padding:19px; }
  .infrastructure-platform .form-steps li { font-size:11px; display:flex; flex-direction:column; gap:6px; align-items:flex-start; }
  .infrastructure-platform #categoryOptions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .infrastructure-platform .category-option span { font-size:12px; min-height:0; padding:0; }
  .infrastructure-platform .form-card fieldset legend { font-size:23px; }
  .infrastructure-platform .form-card :is(input,select,textarea) { font-size:16px; min-height:48px; }
  .infrastructure-platform .form-card .field-grid { grid-template-columns:minmax(0,1fr); }
  .territory-add { flex-direction:column; align-items:stretch; }
  .work-technical { padding:0 14px; }
  .infrastructure-summary dl { grid-template-columns:minmax(0,1fr); }
  .infrastructure-method { padding:20px; }
  .infrastructure-platform .work-charts { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:390px) { .infrastructure-platform .explore-filters { grid-template-columns:minmax(0,1fr); } .infrastructure-platform .form-card { padding:16px; } }

.infrastructure-platform .report-layout > div { min-width:0; }
.infrastructure-platform .form-actions { flex-wrap:wrap; }
.infrastructure-platform .form-card input[type="file"] { width:100%; }
.infrastructure-platform .form-card legend { max-width:100%; }

.infrastructure-platform .form-card input[type="radio"], .infrastructure-platform .form-card input[type="checkbox"] { min-height:0; padding:0; }
