/* Working in Shenzhen reference layout; page-local presentation. */
main.wr-page {
  --wr-blue: #006bff; --wr-navy: #061777; --wr-muted: #4d6298;
  --wr-line: #dce9fa; --wr-wash: #f2f7ff; --wr-teal: #009e8b;
  width: 100%; max-width: none; margin: 0; padding: 0; background: #fff;
  color: var(--wr-navy); font: 12px/1.35 Arial, Helvetica, sans-serif;
}
.wr-page *, .wr-page *::before, .wr-page *::after { box-sizing: border-box; }
.wr-page :is(section,article,aside,div,form,fieldset) { min-width: 0; }
.wr-page :is(h1,h2,h3,h4,p,ul,ol,figure,fieldset,dl,dd) { margin: 0; }
.wr-page :is(h1,h2,h3,h4) { color: var(--wr-navy); font-family: Arial, Helvetica, sans-serif; font-style: normal; font-weight: 800; letter-spacing: -.035em; text-transform: none; }
.wr-page :is(a,button,input,select,summary):focus-visible { outline: 3px solid #e39700; outline-offset: 3px; }
.wr-page a { color: #005dff; text-decoration: none; text-underline-offset: 3px; }
.wr-page a:hover { text-decoration: underline; }
.wr-page button { cursor: pointer; }
.wr-page :is(input,select,button) { font-family: inherit; min-width: 0; }
.wr-page img { display: block; max-width: 100%; }
.wr-page svg { display: block; flex: 0 0 auto; width: 18px; height: 18px; }
.wr-page [hidden] { display: none !important; }
.wr-page [id] { scroll-margin-top: 90px; }
.wr-page .wr-wrap { width: 95.2%; max-width: 1440px; margin-inline: auto; }
.wr-page .wr-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.wr-page .wr-button {
  display: inline-flex; justify-content: center; align-items: center; gap: 8px; min-height: 30px;
  padding: 7px 13px; border: 1px solid var(--wr-blue); border-radius: 4px;
  background: var(--wr-blue); color: #fff; font-size: 11px; line-height: 1.2; font-weight: 700; text-align: center;
}
.wr-page a.wr-button { color: #fff; }
.wr-page .wr-button svg { width: 13px; height: 13px; }
.wr-page .wr-button:hover { background: #0057db; border-color: #0057db; color: #fff; text-decoration: none; }
.wr-page .wr-outline, .wr-page a.wr-outline { color: var(--wr-blue); background: #fff; }
.wr-page .wr-outline:hover { color: #0057db; background: #edf5ff; }

/* Skyline and primary next steps. */
.wr-page .wr-hero { position: relative; isolation: isolate; overflow: hidden; background: #163a61; color: #fff; }
.wr-page .wr-hero-image { position: absolute; z-index: -2; inset: 0; display: block; }
.wr-page .wr-hero-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 57%; }
.wr-page .wr-hero::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,#001b36d9 0%,#052d5069 42%,#062d4b00 72%),linear-gradient(0deg,#001f3447,transparent 35%); }
.wr-page .wr-hero > .wr-wrap { position: relative; padding: 10px 8px 13px; min-height: 220px; }
.wr-page .wr-crumb { display: flex; gap: 7px; align-items: center; margin-bottom: 5px; font-size: 10px; }
.wr-page .wr-crumb :is(a,span) { color: #fff; }
.wr-page .wr-hero h1 { margin: 0 0 1px; color: #fff; font-size: clamp(36px,4.3vw,62px); line-height: 1.05; letter-spacing: -.045em; }
.wr-page .wr-hero-lead { color: #fff; font-size: clamp(14px,1.7vw,23px); font-weight: 700; line-height: 1.25; }
.wr-page .wr-hero-intro { max-width: 54%; margin: 5px 0 7px; color: #fff; font-size: clamp(12px,1.3vw,18px); line-height: 1.25; }
.wr-page .wr-badges { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0; }
.wr-page .wr-badges > span { display: inline-flex; align-items: center; gap: 7px; padding: 5px 9px; border: 1px solid #d9e9ff; border-radius: 6px; background: #fff; color: var(--wr-navy); font-size: 9px; line-height: 1.2; font-weight: 700; box-shadow: 0 1px 4px #001c2740; }
.wr-page .wr-badges svg { width: 14px; height: 14px; color: var(--wr-teal); }
.wr-page .wr-badges > span:nth-child(2) svg { color: #8745e5; }
.wr-page .wr-badges > span:nth-child(3) svg { color: #ff2346; }
.wr-page .wr-badges > span:nth-child(4) svg { color: var(--wr-blue); }
.wr-page .wr-hero-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.wr-page .wr-hero-actions .wr-button { min-width: 166px; min-height: 32px; border-radius: 20px; border-color: #e0ff55; padding: 7px 20px; font-size: 12px; }
.wr-page .wr-hero-actions .wr-outline { min-width: 184px; color: #0022d4; border-color: #006bff; }
.wr-page .wr-signature { position: absolute; top: 18px; right: 6px; max-width: 240px; color: #00299a; font: italic 20px/1.1 "Segoe Print", "Comic Sans MS", cursive; text-align: center; transform: rotate(-9deg); }
.wr-page .wr-signature::after { content: ""; display: block; width: 90%; height: 9px; margin: 8px 0 0 30px; border-top: 3px solid #0084ff; border-radius: 60%; transform: rotate(-3deg); }
.wr-page .wr-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(180px,18.4%); align-items: start; gap: 10px; padding-top: 10px; }
.wr-page .wr-main { display: flex; flex-direction: column; gap: 7px; }
.wr-page .wr-steps { display: grid; grid-template-columns: 1.18fr 1.05fr .9fr; gap: 10px; margin-bottom: 2px; }
.wr-page .wr-step { position: relative; isolation: isolate; display: flex; align-items: start; gap: 10px; min-height: 94px; padding: 9px; border: 1px solid #edf3fb; border-radius: 6px; background: #edf6ff; overflow: hidden; }
.wr-page .wr-step::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(90deg,#eaf4ff 0%,#edf6fff5 49%,#edf6ff00 86%); }
.wr-page .wr-step-image { position: absolute; z-index: -2; inset: 0 0 0 35%; width: 65%; height: 100%; object-fit: cover; }
.wr-page .wr-step-image img { width: 100%; height: 100%; object-fit: cover; }
.wr-page .wr-step-icon { display: grid; flex: 0 0 44px; width: 44px; height: 44px; place-items: center; color: #fff; border-radius: 50%; background: linear-gradient(145deg,#0094ff,#005bff); box-shadow: inset 0 0 0 1px #ffffff35; }
.wr-page .wr-step-icon svg { width: 28px; height: 28px; }
.wr-page .wr-step:nth-child(3) .wr-step-icon { background: linear-gradient(145deg,#0aaf9b,#007b6b); }
.wr-page .wr-step-copy { position: relative; width: 70%; }
.wr-page .wr-step h2 { margin-bottom: 3px; font-size: 14px; line-height: 1.1; letter-spacing: -.05em; }
.wr-page .wr-step p { max-width: 160px; margin-bottom: 7px; color: #091f69; font-size: 10px; line-height: 1.25; }
.wr-page .wr-step .wr-button { min-height: 24px; padding: 5px 12px; font-size: 10px; }

/* Dense, readable cards keep the page useful as a working dashboard. */
.wr-page .wr-panel, .wr-page .wr-side-panel { border: 1px solid var(--wr-line); border-radius: 7px; background: #fff; padding: 7px; }
.wr-page .wr-heading { display: flex; align-items: flex-start; gap: 9px; margin-bottom: 8px; }
.wr-page .wr-heading-icon { display: grid; place-items: center; flex: 0 0 23px; width: 23px; height: 23px; border-radius: 5px; color: #fff; background: var(--wr-blue); }
.wr-page .wr-heading-icon svg { width: 17px; height: 17px; }
.wr-page .wr-heading-copy { flex: 1; }
.wr-page .wr-heading h2 { margin: 0 0 1px; font-size: 15px; line-height: 1.15; }
.wr-page .wr-heading p { color: var(--wr-muted); font-size: 10px; line-height: 1.3; }
.wr-page .wr-heading-link { flex: 0 0 auto; align-self: center; display: inline-flex; align-items: center; gap: 5px; margin-left: auto; font-size: 10px; }
.wr-page .wr-heading-link svg { width: 13px; height: 13px; }
.wr-page .wr-controls { display: grid; grid-template-columns: 1.48fr 1fr 1fr 1fr; gap: 10px; margin-bottom: 9px; }
.wr-page .wr-controls :is(input,select) { width: 100%; min-height: 25px; border: 1px solid #ccdef9; border-radius: 4px; background: #fff; color: #314b83; font-size: 9px; padding: 5px 7px; }
.wr-page .wr-search { position: relative; }
.wr-page .wr-search input { padding-right: 28px; }
.wr-page .wr-search > svg { position: absolute; width: 16px; height: 16px; right: 7px; top: 5px; color: var(--wr-blue); }
.wr-page .wr-controls label { display: block; }
.wr-page .wr-job-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); align-items: stretch; gap: 10px; }
.wr-page .wr-job-card { display: flex; flex-direction: column; border: 1px solid #d7e6fc; border-radius: 5px; overflow: hidden; background: linear-gradient(150deg,#fff,#fbfdff); }
.wr-page .wr-job-image { width: 100%; height: clamp(68px,6.6vw,96px); object-fit: cover; object-position: center; }
.wr-page .wr-job-image img { width: 100%; height: 100%; object-fit: cover; }
.wr-page .wr-job-body { display: flex; flex: 1; flex-direction: column; padding: 6px 10px 4px; }
.wr-page .wr-job-body h3 { margin-bottom: 3px; color: #080b84; font-size: 11px; line-height: 1.13; }
.wr-page .wr-job-body h4 { min-height: 2.25em; margin-bottom: 7px; color: #070c77; font-size: 11px; line-height: 1.13; }
.wr-page .wr-job-meta { display: grid; gap: 3px; padding: 0; margin: auto 0 7px; list-style: none; }
.wr-page .wr-job-meta li { display: flex; align-items: flex-start; gap: 7px; color: var(--wr-muted); font-size: 9px; line-height: 1.2; }
.wr-page .wr-job-meta svg { width: 10px; height: 11px; color: var(--wr-blue); margin-top: 0; }
.wr-page .wr-job-meta li:first-child svg { color: var(--wr-teal); }
.wr-page .wr-job-actions { display: grid; gap: 4px; margin-top: auto; }
.wr-page .wr-job-actions .wr-button { width: 100%; min-height: 22px; padding: 4px 5px; font-size: 9px; border-radius: 3px; font-weight: 400; }
.wr-page .wr-job-actions .wr-button svg { width: 10px; height: 10px; }
.wr-page .wr-save { display: flex; align-items: center; justify-content: center; gap: 4px; min-height: 21px; width: 100%; border: 0; color: #006bff; background: none; font-size: 9px; padding: 4px; }
.wr-page .wr-save svg { width: 11px; height: 11px; }
.wr-page .wr-save[aria-pressed="true"] { color: #007b68; background: #e8fbf6; }
.wr-page .wr-note { display: flex; align-items: flex-start; gap: 6px; padding: 6px 7px; margin-top: 5px; border-radius: 4px; color: #263f8c; background: #edf6ff; font-size: 9px; line-height: 1.3; }
.wr-page .wr-note > svg { width: 13px; height: 13px; color: var(--wr-blue); }
.wr-page .wr-offer-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 5px; }
.wr-page .wr-offer-card { position: relative; display: grid; grid-template-columns: 25px 1fr; align-content: start; gap: 6px 5px; padding: 7px 5px; border: 1px solid var(--wr-line); border-radius: 6px; background: linear-gradient(140deg,#fff,#fbfdff); }
.wr-page .wr-number { display: grid; place-items: center; flex: 0 0 21px; width: 21px; height: 21px; border-radius: 50%; background: var(--wr-teal); color: #fff; font-size: 12px; font-weight: 700; line-height: 1; }
.wr-page .wr-offer-card h3 { font-size: 9px; line-height: 1.15; letter-spacing: -.04em; }
.wr-page .wr-offer-card > svg { width: 24px; height: 24px; padding: 3px; border-radius: 4px; color: var(--wr-blue); background: #e9f3ff; }
.wr-page .wr-offer-card p { color: var(--wr-muted); font-size: 9px; line-height: 1.25; }
.wr-page .wr-middle-grid { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(0,1fr); gap: 6px; }
.wr-page .wr-permit-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 7px; padding: 2px 7px 0; }
.wr-page .wr-permit-step { position: relative; }
.wr-page .wr-permit-step:not(:last-child)::after { content: "⟶"; position: absolute; top: 0; left: 28px; width: calc(100% - 29px); color: #00a9dc; font-size: 21px; line-height: 20px; text-align: center; }
.wr-page .wr-permit-step .wr-number { margin-bottom: 7px; }
.wr-page .wr-permit-step:last-child .wr-number { background: var(--wr-blue); }
.wr-page .wr-permit-step h3 { margin-bottom: 5px; font-size: 9px; line-height: 1.15; letter-spacing: -.04em; }
.wr-page .wr-permit-step p { color: var(--wr-muted); font-size: 8.5px; line-height: 1.25; }
.wr-page .wr-warning { display: flex; align-items: center; gap: 7px; padding: 5px 7px; border: 1px solid #ffe2bd; border-radius: 5px; background: #fff2e0; color: #d93400; margin-top: 9px; font-size: 9px; line-height: 1.3; }
.wr-page .wr-warning > svg { width: 18px; height: 18px; color: #f68c00; }
.wr-page .wr-panel-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 9px; margin-top: 6px; }
.wr-page .wr-panel-actions .wr-button { min-height: 25px; padding: 5px 10px; font-weight: 400; font-size: 9px; }
.wr-page .wr-budget .wr-heading { margin-bottom: 6px; }
.wr-page .wr-budget form { margin: 0; }
.wr-page .wr-salary-label { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 3px 5px; border: 1px solid #dfe9f9; border-radius: 4px; font-size: 9px; }
.wr-page .wr-salary-label input { width: 49%; min-height: 24px; border: 1px solid #d4e3f7; border-radius: 4px; padding: 3px 8px; color: #0e1f75; background: #fff; font-size: 10px; }
.wr-page .wr-budget-lines { display: grid; gap: 2px; padding: 7px 8px; border-top: 1px dashed #d2e1f3; margin-top: 5px; }
.wr-page .wr-budget-lines > :is(div,p,li) { display: flex; justify-content: space-between; gap: 7px; color: var(--wr-muted); font-size: 9px; line-height: 1.22; }
.wr-page .wr-budget-lines :is(span,label):first-child { display: flex; align-items: center; gap: 8px; }
.wr-page .wr-budget-lines svg { width: 10px; height: 10px; }
.wr-page .wr-budget-lines :is(strong,output,span:last-child) { color: #e92131; font-weight: 400; }
.wr-page .wr-budget-total { display: flex; justify-content: space-between; align-items: center; gap: 5px; border-radius: 4px; padding: 4px 9px; color: #006452; background: #e9faf4; font-size: 10px; font-weight: 700; }
.wr-page .wr-budget-total :is(strong,output) { font-size: 15px; line-height: 1.15; }
.wr-page .wr-budget-foot { display: flex; align-items: center; justify-content: space-between; gap: 5px; padding: 4px 9px 0; color: var(--wr-muted); font-size: 7px; line-height: 1.3; }
.wr-page .wr-budget-foot a { display: inline-flex; align-items: center; gap: 3px; font-size: 8px; }
.wr-page .wr-budget-foot svg { width: 10px; height: 10px; }

/* Neighborhoods and useful guides. */
.wr-page .wr-area-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)) 1.05fr; gap: 6px; }
.wr-page .wr-area-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--wr-line); border-radius: 5px; background: #fff; }
.wr-page .wr-area-card > img, .wr-page .wr-area-card > picture, .wr-page .wr-area-card > picture img { width: 100%; height: clamp(57px,5.5vw,80px); object-fit: cover; }
.wr-page .wr-area-body { display: flex; flex: 1; flex-direction: column; padding: 5px 6px 3px; }
.wr-page .wr-area-body h3 { margin-bottom: 3px; font-size: 10px; line-height: 1.15; }
.wr-page .wr-area-body p { margin-bottom: 5px; color: var(--wr-muted); font-size: 9px; line-height: 1.25; }
.wr-page .wr-area-body ul { display: grid; gap: 3px; list-style: none; margin-top: auto; margin-bottom: 5px; padding: 0; }
.wr-page .wr-area-body li { display: flex; gap: 6px; align-items: flex-start; color: var(--wr-muted); font-size: 9px; line-height: 1.2; }
.wr-page .wr-area-body li svg { width: 11px; height: 11px; color: var(--wr-blue); }
.wr-page .wr-area-body .wr-button { width: 100%; min-height: 23px; padding: 4px 3px; font-size: 9px; font-weight: 400; gap: 4px; }
.wr-page .wr-area-body .wr-button svg { width: 10px; height: 10px; }
.wr-page .wr-area-map { position: relative; display: block; min-height: 162px; height: 100%; overflow: hidden; border: 1px solid #dfedfa; border-radius: 5px; background: #cbeafb; }
.wr-page .wr-area-map img, .wr-page .wr-area-map svg { width: 100%; height: 100%; min-height: 162px; object-fit: cover; }
.wr-page .wr-guides { margin-top: 8px; margin-bottom: 12px; }
.wr-page .wr-guide-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 6px; }
.wr-page .wr-guide { display: flex; align-items: center; gap: 8px; padding: 8px; border: 1px solid var(--wr-line); border-radius: 6px; color: var(--wr-navy); background: #fff; }
.wr-page .wr-guide > svg, .wr-page .wr-guide > .wr-guide-icon { display: grid; place-items: center; flex: 0 0 33px; width: 33px; height: 33px; border-radius: 6px; padding: 5px; color: var(--wr-blue); background: #edf5ff; }
.wr-page .wr-guide:nth-child(1) > :is(svg,.wr-guide-icon), .wr-page .wr-guide:nth-child(5) > :is(svg,.wr-guide-icon) { background: #e1f7ef; color: #00967e; }
.wr-page .wr-guide:nth-child(3) > :is(svg,.wr-guide-icon) { background: #fff0d5; color: #f08d00; }
.wr-page .wr-guide:nth-child(4) > :is(svg,.wr-guide-icon) { background: #ffe5e7; color: #f5304d; }
.wr-page .wr-guide:nth-child(6) > :is(svg,.wr-guide-icon) { background: #f1e7ff; color: #a340f1; }
.wr-page .wr-guide h3 { font-size: 9px; line-height: 1.15; margin-bottom: 3px; }
.wr-page .wr-guide p { color: var(--wr-muted); font-size: 8px; line-height: 1.3; }

/* The utility rail stays aligned with the first row. */
.wr-page .wr-sidebar { display: grid; gap: 6px; }
.wr-page .wr-side-panel { padding: 7px; }
.wr-page .wr-side-panel .wr-heading { gap: 8px; margin-bottom: 7px; }
.wr-page .wr-side-panel .wr-heading-icon { flex-basis: 21px; width: 21px; height: 21px; border-radius: 4px; }
.wr-page .wr-side-panel .wr-heading-icon svg { width: 15px; height: 15px; }
.wr-page .wr-side-panel .wr-heading h2 { font-size: 11px; line-height: 1.2; letter-spacing: -.04em; }
.wr-page .wr-side-panel .wr-heading p { font-size: 9px; line-height: 1.3; margin-top: 2px; }
.wr-page .wr-facts dl { display: grid; gap: 7px; }
.wr-page .wr-facts dl > div { display: grid; grid-template-columns: 69px minmax(0,1fr); gap: 6px; }
.wr-page .wr-facts dt { display: flex; align-items: flex-start; gap: 8px; font-size: 8px; line-height: 1.3; color: #142f89; }
.wr-page .wr-facts dt svg { width: 12px; height: 13px; color: var(--wr-blue); }
.wr-page .wr-facts dd { margin: 0; color: var(--wr-muted); font-size: 8px; line-height: 1.4; }
.wr-page .wr-category-list { display: grid; padding: 0; margin: 0; list-style: none; }
.wr-page .wr-category-list button, .wr-page .wr-category-list a { display: flex; align-items: center; gap: 9px; width: 100%; border: 0; border-bottom: 1px solid #ecf1fa; padding: 5px 4px; background: none; color: var(--wr-muted); font-size: 9px; text-align: left; line-height: 1.25; }
.wr-page .wr-category-list > :last-child :is(button,a), .wr-page .wr-category-list > :is(button,a):last-child { border-bottom: 0; }
.wr-page .wr-category-list :is(button,a):hover, .wr-page .wr-category-list [aria-pressed="true"] { background: #f0f7ff; border-radius: 3px; text-decoration: none; }
.wr-page .wr-category-list svg { width: 14px; height: 14px; color: var(--wr-blue); }
.wr-page .wr-category-list :is(li,button,a):nth-child(3) svg { color: #00a592; }
.wr-page .wr-category-list :is(li,button,a):nth-child(4) svg { color: #e64bdc; }
.wr-page .wr-category-list :is(li,button,a):nth-child(5) svg { color: #009c8c; }
.wr-page .wr-category-list b { margin-left: auto; color: #051c84; font-size: 10px; font-weight: 600; }
.wr-page .wr-alert-form { display: grid; gap: 5px; }
.wr-page .wr-alert-form input { width: 100%; min-height: 26px; padding: 5px 7px; border: 1px solid #cdddfa; border-radius: 4px; color: #203c83; background: #fff; font-size: 9px; }
.wr-page .wr-alert-form button { min-height: 25px; padding: 5px; font-size: 10px; font-weight: 400; }
.wr-page .wr-alert-form p { color: var(--wr-muted); font-size: 8px; line-height: 1.3; }
.wr-page .wr-side-panel.wr-alerts .wr-heading-icon { background: #ff344f; }
.wr-page .wr-link-list { display: grid; gap: 8px; padding: 0; margin: 0; list-style: none; }
.wr-page .wr-link-list a, .wr-page .wr-link-list button { display: flex; align-items: flex-start; gap: 10px; padding: 0 4px; color: #0064ff; background: none; border: 0; font-size: 9px; line-height: 1.4; text-align: left; }
.wr-page .wr-link-list svg { width: 14px; height: 14px; color: var(--wr-blue); }
.wr-page .wr-link-list a > span { min-width: 0; }
.wr-page .wr-side-panel > .wr-button { width: 100%; min-height: 25px; font-size: 10px; font-weight: 400; padding: 5px; }
.wr-page .wr-read-list { display: grid; gap: 5px; padding: 0; margin: 0; list-style: none; }
.wr-page .wr-read-list a { display: flex; align-items: center; gap: 8px; font-size: 9px; line-height: 1.25; }
.wr-page .wr-read-list img { flex: 0 0 41px; width: 41px; height: 23px; object-fit: cover; border-radius: 3px; }
.wr-page .wr-cta { position: relative; isolation: isolate; overflow: hidden; margin: 0; padding: 11px 0; background: #0b3153; color: #fff; }
.wr-page .wr-cta::after { content: ""; position: absolute; z-index: -1; inset: 0; background: #001a4382; }
.wr-page .wr-cta > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 62%; }
.wr-page .wr-cta .wr-wrap { display: flex; align-items: center; justify-content: center; gap: 13px; }
.wr-page .wr-cta h2 { color: #fff; font-size: 22px; line-height: 1.2; letter-spacing: -.045em; }
.wr-page .wr-cta p { color: #fff; margin-top: 3px; font-size: 10px; }
.wr-page .wr-cta .wr-button { flex: 0 0 auto; min-width: 120px; min-height: 34px; padding: 8px 14px; border-color: #b5d8ff; border-radius: 6px; font-size: 10px; }
.wr-page .wr-cta .wr-outline { min-width: 188px; }

/* Dialogs, filtering and transient feedback. */
.wr-page .wr-empty { padding: 30px 12px; text-align: center; color: var(--wr-muted); font-size: 12px; }
.wr-page .wr-dialog { position: fixed; inset: 0; width: min(580px,calc(100% - 32px)); max-height: min(720px,calc(100dvh - 40px)); margin: auto; padding: 26px; overflow: auto; border: 1px solid #c9dfff; border-radius: 12px; background: #fff; color: var(--wr-navy); box-shadow: 0 24px 100px #001b4d45; font: 14px/1.5 Arial,Helvetica,sans-serif; }
.wr-page .wr-dialog::backdrop { background: #071c4aa3; backdrop-filter: blur(3px); }
.wr-page .wr-dialog h2 { padding-right: 24px; margin-bottom: 8px; font-size: 24px; }
.wr-page .wr-dialog h3 { font-size: 16px; margin: 16px 0 7px; }
.wr-page .wr-dialog p { margin-bottom: 12px; color: var(--wr-muted); }
.wr-page .wr-dialog-close { position: absolute; top: 12px; right: 12px; display: grid; place-items: center; width: 30px; height: 30px; border: 0; border-radius: 50%; background: #edf5ff; color: #005dff; font-size: 21px; line-height: 1; }
.wr-page .wr-plan-options { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 16px 0; }
.wr-page .wr-plan-options :is(label,a,button) { padding: 12px; border: 1px solid #d5e5fb; border-radius: 6px; color: #233e81; background: #f7fbff; font-size: 13px; }
.wr-page .wr-plan-options label { display: flex; align-items: center; gap: 9px; }
.wr-page .wr-plan-options input { flex: 0 0 auto; width: 16px; height: 16px; accent-color: #006bff; }
.wr-page .wr-dialog .wr-button { font-size: 13px; min-height: 38px; }
.wr-page .wr-toast { position: fixed; z-index: 1000; bottom: 22px; left: 50%; width: max-content; max-width: calc(100% - 30px); transform: translateX(-50%); border: 1px solid #cee1ff; border-radius: 7px; background: #062d72; color: #fff; padding: 12px 18px; box-shadow: 0 5px 30px #00204c38; font-size: 13px; line-height: 1.4; text-align: center; }

@media (min-width: 1200px) {
  main.wr-page { font-size: 14px; }
  .wr-page .wr-wrap { max-width: 1380px; }
  .wr-page .wr-layout { gap: 14px; padding-top: 14px; }
  .wr-page .wr-main { gap: 10px; }
  .wr-page .wr-hero > .wr-wrap { min-height: 286px; padding-block: 14px 18px; }
  .wr-page .wr-crumb { font-size: 12px; margin-bottom: 8px; }
  .wr-page .wr-hero-intro { margin-block: 7px 11px; }
  .wr-page .wr-badges > span { font-size: 11px; padding: 6px 11px; }
  .wr-page .wr-badges { gap: 8px; margin-block: 11px; }
  .wr-page .wr-hero-actions .wr-button { min-width: 212px; min-height: 40px; font-size: 14px; }
  .wr-page .wr-signature { font-size: 27px; max-width: 320px; top: 28px; }
  .wr-page .wr-steps { gap: 13px; }
  .wr-page .wr-step { padding: 12px; min-height: 126px; gap: 14px; }
  .wr-page .wr-step-icon { flex-basis: 58px; width: 58px; height: 58px; }
  .wr-page .wr-step-icon svg { width: 36px; height: 36px; }
  .wr-page .wr-step h2 { font-size: 18px; margin-bottom: 5px; }
  .wr-page .wr-step p { font-size: 13px; max-width: 200px; margin-bottom: 9px; }
  .wr-page .wr-step .wr-button { font-size: 12px; min-height: 30px; }
  .wr-page .wr-panel { padding: 10px; }
  .wr-page .wr-heading { gap: 11px; margin-bottom: 10px; }
  .wr-page .wr-heading-icon { flex-basis: 29px; width: 29px; height: 29px; }
  .wr-page .wr-heading-icon svg { width: 21px; height: 21px; }
  .wr-page .wr-heading h2 { font-size: 20px; }
  .wr-page .wr-heading p { font-size: 12px; }
  .wr-page .wr-heading-link { font-size: 12px; }
  .wr-page .wr-controls { gap: 13px; margin-bottom: 12px; }
  .wr-page .wr-controls :is(input,select) { min-height: 33px; padding: 7px 10px; font-size: 11px; }
  .wr-page .wr-search > svg { top: 8px; }
  .wr-page .wr-job-grid { gap: 12px; }
  .wr-page .wr-job-body { padding: 8px 12px 5px; }
  .wr-page .wr-job-body :is(h3,h4) { font-size: 14px; }
  .wr-page .wr-job-meta { gap: 5px; margin-bottom: 9px; }
  .wr-page .wr-job-meta li { font-size: 11px; }
  .wr-page .wr-job-meta svg { width: 13px; height: 13px; }
  .wr-page .wr-job-actions .wr-button { min-height: 28px; font-size: 11px; }
  .wr-page .wr-save { font-size: 11px; min-height: 27px; }
  .wr-page .wr-note { padding: 7px 9px; font-size: 11px; }
  .wr-page .wr-offer-grid { gap: 7px; }
  .wr-page .wr-offer-card { grid-template-columns: 29px 1fr; padding: 9px 7px; gap: 8px 7px; }
  .wr-page .wr-number { width: 27px; height: 27px; font-size: 15px; }
  .wr-page .wr-offer-card h3 { font-size: 11px; }
  .wr-page .wr-offer-card p { font-size: 11px; }
  .wr-page .wr-offer-card > svg { width: 29px; height: 29px; }
  .wr-page .wr-middle-grid { gap: 8px; }
  .wr-page .wr-permit-grid { gap: 10px; padding-inline: 8px; }
  .wr-page .wr-permit-step:not(:last-child)::after { top: 3px; left: 35px; width: calc(100% - 38px); }
  .wr-page .wr-permit-step h3 { font-size: 11px; }
  .wr-page .wr-permit-step p { font-size: 10px; }
  .wr-page .wr-warning { font-size: 10px; padding: 7px 9px; margin-top: 12px; }
  .wr-page .wr-panel-actions .wr-button { font-size: 11px; min-height: 29px; }
  .wr-page .wr-salary-label { font-size: 11px; }
  .wr-page .wr-salary-label input { font-size: 12px; min-height: 28px; }
  .wr-page .wr-budget-lines > :is(div,p,li) { font-size: 11px; line-height: 1.25; }
  .wr-page .wr-budget-lines { gap: 3px; padding-block: 9px; }
  .wr-page .wr-budget-total { font-size: 12px; padding: 6px 9px; }
  .wr-page .wr-budget-total :is(strong,output) { font-size: 18px; }
  .wr-page .wr-budget-foot { font-size: 8px; }
  .wr-page .wr-budget-foot a { font-size: 10px; }
  .wr-page .wr-area-grid { gap: 9px; }
  .wr-page .wr-area-body { padding: 7px 8px 5px; }
  .wr-page .wr-area-body h3 { font-size: 13px; }
  .wr-page .wr-area-body :is(p,li) { font-size: 11px; }
  .wr-page .wr-area-body .wr-button { min-height: 28px; font-size: 10px; }
  .wr-page .wr-area-map, .wr-page .wr-area-map :is(img,svg) { min-height: 205px; }
  .wr-page .wr-guide-grid { gap: 8px; }
  .wr-page .wr-guide { padding: 10px; gap: 10px; }
  .wr-page .wr-guide h3 { font-size: 12px; }
  .wr-page .wr-guide p { font-size: 10px; }
  .wr-page .wr-guide > :is(svg,.wr-guide-icon) { flex-basis: 42px; width: 42px; height: 42px; }
  .wr-page .wr-guides { margin-top: 12px; margin-bottom: 15px; }
  .wr-page .wr-sidebar { gap: 9px; }
  .wr-page .wr-side-panel { padding: 10px; }
  .wr-page .wr-side-panel .wr-heading h2 { font-size: 14px; }
  .wr-page .wr-side-panel .wr-heading p { font-size: 11px; }
  .wr-page .wr-facts dl { gap: 9px; }
  .wr-page .wr-facts dl > div { grid-template-columns: 80px minmax(0,1fr); gap: 7px; }
  .wr-page .wr-facts :is(dt,dd) { font-size: 10px; }
  .wr-page .wr-category-list :is(button,a) { font-size: 11px; padding-block: 7px; }
  .wr-page .wr-category-list b { font-size: 12px; }
  .wr-page .wr-alert-form input { min-height: 31px; font-size: 11px; }
  .wr-page .wr-alert-form button { min-height: 30px; font-size: 12px; }
  .wr-page .wr-alert-form p { font-size: 10px; }
  .wr-page .wr-link-list { gap: 11px; }
  .wr-page .wr-link-list :is(a,button) { font-size: 11px; }
  .wr-page .wr-read-list a { font-size: 11px; }
  .wr-page .wr-read-list img { flex-basis: 51px; width: 51px; height: 29px; }
  .wr-page .wr-side-panel > .wr-button { font-size: 12px; min-height: 30px; }
  .wr-page .wr-cta { padding-block: 15px; }
  .wr-page .wr-cta h2 { font-size: 29px; }
  .wr-page .wr-cta p { font-size: 12px; }
  .wr-page .wr-cta .wr-button { min-height: 41px; font-size: 12px; min-width: 158px; }
  .wr-page .wr-cta .wr-outline { min-width: 235px; }
}

@media (max-width: 900px) and (min-width: 781px) {
  .wr-page .wr-layout { grid-template-columns: minmax(0,1fr) 173px; gap: 8px; }
  .wr-page .wr-step { gap: 6px; padding: 8px; }
  .wr-page .wr-step-icon { flex-basis: 34px; width: 34px; height: 34px; }
  .wr-page .wr-step-icon svg { width: 23px; height: 23px; }
  .wr-page .wr-step h2 { font-size: 12px; }
  .wr-page .wr-job-grid { gap: 6px; }
  .wr-page .wr-job-body { padding-inline: 6px; }
  .wr-page .wr-offer-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .wr-page .wr-middle-grid { grid-template-columns: 1fr; }
  .wr-page .wr-guide-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}

@media (max-width: 780px) {
  main.wr-page { font-size: 14px; }
  .wr-page .wr-wrap { width: calc(100% - 28px); }
  .wr-page .wr-hero > .wr-wrap { padding: 15px 0 20px; min-height: 270px; }
  .wr-page .wr-hero h1 { font-size: clamp(33px,6vw,47px); margin-bottom: 6px; }
  .wr-page .wr-hero-lead { max-width: 80%; font-size: 17px; }
  .wr-page .wr-hero-intro { max-width: 74%; font-size: 14px; margin-block: 8px 12px; }
  .wr-page .wr-crumb { font-size: 11px; margin-bottom: 10px; }
  .wr-page .wr-signature { right: 1px; top: 73px; width: 170px; font-size: 17px; }
  .wr-page .wr-badges { gap: 5px; max-width: 80%; margin-bottom: 11px; }
  .wr-page .wr-badges > span { padding: 5px 7px; font-size: 9px; }
  .wr-page .wr-hero-actions .wr-button { font-size: 12px; min-height: 36px; }
  .wr-page .wr-layout { grid-template-columns: 1fr; padding-top: 12px; gap: 12px; }
  .wr-page .wr-main { gap: 10px; }
  .wr-page .wr-steps { gap: 8px; grid-template-columns: repeat(3,minmax(0,1fr)); }
  .wr-page .wr-step { display: block; min-height: 139px; padding: 10px; }
  .wr-page .wr-step-icon { width: 34px; height: 34px; margin-bottom: 7px; }
  .wr-page .wr-step-icon svg { width: 23px; height: 23px; }
  .wr-page .wr-step-copy { width: 100%; }
  .wr-page .wr-step h2 { font-size: 14px; }
  .wr-page .wr-step p { font-size: 11px; max-width: 150px; }
  .wr-page .wr-panel { padding: 10px; }
  .wr-page .wr-heading { gap: 8px; }
  .wr-page .wr-heading h2 { font-size: 18px; }
  .wr-page .wr-heading p { font-size: 11px; }
  .wr-page .wr-heading-link { font-size: 11px; }
  .wr-page .wr-controls { grid-template-columns: 1.25fr 1fr; gap: 7px; }
  .wr-page .wr-controls :is(input,select) { min-height: 36px; font-size: 12px; padding: 8px; }
  .wr-page .wr-search > svg { top: 10px; }
  .wr-page .wr-job-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .wr-page .wr-job-image { height: 110px; }
  .wr-page .wr-job-body { padding: 9px 10px 5px; }
  .wr-page .wr-job-body :is(h3,h4) { font-size: 13px; }
  .wr-page .wr-job-meta { gap: 5px; }
  .wr-page .wr-job-meta li { font-size: 11px; }
  .wr-page .wr-job-meta svg { width: 12px; height: 13px; }
  .wr-page .wr-job-actions .wr-button { min-height: 32px; font-size: 11px; }
  .wr-page .wr-save { font-size: 11px; min-height: 31px; }
  .wr-page .wr-note { padding: 8px; font-size: 10px; }
  .wr-page .wr-offer-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
  .wr-page .wr-offer-card { padding: 9px 7px; gap: 8px 6px; }
  .wr-page .wr-offer-card h3 { font-size: 11px; }
  .wr-page .wr-offer-card p { font-size: 11px; }
  .wr-page .wr-middle-grid { grid-template-columns: 1fr; gap: 10px; }
  .wr-page .wr-permit-grid { gap: 12px; }
  .wr-page .wr-permit-step h3 { font-size: 11px; }
  .wr-page .wr-permit-step p { font-size: 10px; }
  .wr-page .wr-warning { font-size: 11px; margin-top: 11px; padding: 7px; }
  .wr-page .wr-panel-actions .wr-button { min-height: 32px; font-size: 11px; }
  .wr-page .wr-salary-label { font-size: 12px; }
  .wr-page .wr-salary-label input { min-height: 35px; font-size: 14px; }
  .wr-page .wr-budget-lines { gap: 5px; padding: 10px; }
  .wr-page .wr-budget-lines > :is(div,p,li) { font-size: 12px; }
  .wr-page .wr-budget-total { font-size: 13px; padding: 7px 10px; }
  .wr-page .wr-budget-total :is(strong,output) { font-size: 19px; }
  .wr-page .wr-budget-foot, .wr-page .wr-budget-foot a { font-size: 10px; padding-top: 6px; }
  .wr-page .wr-area-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .wr-page .wr-area-card > img, .wr-page .wr-area-card > picture, .wr-page .wr-area-card > picture img { height: 90px; }
  .wr-page .wr-area-body { padding: 8px; }
  .wr-page .wr-area-body h3 { font-size: 13px; }
  .wr-page .wr-area-body :is(p,li) { font-size: 11px; }
  .wr-page .wr-area-body .wr-button { min-height: 30px; font-size: 11px; }
  .wr-page .wr-area-map { grid-column: 1/-1; height: 200px; }
  .wr-page .wr-area-map :is(svg,img) { object-fit: contain; }
  .wr-page .wr-guide-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; }
  .wr-page .wr-guide { padding: 9px; }
  .wr-page .wr-guide h3 { font-size: 11px; }
  .wr-page .wr-guide p { font-size: 10px; }
  .wr-page .wr-sidebar { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .wr-page .wr-side-panel { padding: 11px; }
  .wr-page .wr-side-panel .wr-heading h2 { font-size: 14px; }
  .wr-page .wr-side-panel .wr-heading p { font-size: 11px; }
  .wr-page .wr-facts dl > div { grid-template-columns: 82px minmax(0,1fr); }
  .wr-page .wr-facts :is(dt,dd) { font-size: 11px; }
  .wr-page .wr-category-list :is(button,a) { font-size: 11px; min-height: 30px; }
  .wr-page .wr-alert-form input { min-height: 34px; font-size: 12px; }
  .wr-page .wr-alert-form button { min-height: 34px; font-size: 12px; }
  .wr-page .wr-alert-form p { font-size: 10px; }
  .wr-page .wr-link-list { gap: 10px; }
  .wr-page .wr-link-list :is(a,button) { font-size: 11px; }
  .wr-page .wr-side-panel > .wr-button { min-height: 32px; font-size: 12px; }
  .wr-page .wr-read-list a { font-size: 11px; }
  .wr-page .wr-read-list img { flex-basis: 49px; width: 49px; height: 30px; }
  .wr-page .wr-cta .wr-wrap { flex-wrap: wrap; justify-content: flex-start; gap: 10px; }
  .wr-page .wr-cta .wr-wrap > div { flex: 1 1 100%; }
  .wr-page .wr-cta h2 { font-size: 25px; }
  .wr-page .wr-cta p { font-size: 12px; }
  .wr-page .wr-cta .wr-button { min-height: 38px; font-size: 12px; }
}

@media (max-width: 520px) {
  .wr-page .wr-wrap { width: calc(100% - 24px); }
  .wr-page .wr-hero > .wr-wrap { min-height: 0; padding: 14px 0 18px; }
  .wr-page .wr-hero-image img { object-position: 57% center; }
  .wr-page .wr-hero::after { background: linear-gradient(90deg,#001b36ec,#052d5069),linear-gradient(0deg,#001f3477,transparent 60%); }
  .wr-page .wr-hero h1 { font-size: 34px; max-width: 330px; }
  .wr-page .wr-hero-lead { max-width: 100%; font-size: 16px; }
  .wr-page .wr-hero-intro { max-width: 100%; font-size: 13px; margin: 9px 0 12px; }
  .wr-page .wr-signature { display: none; }
  .wr-page .wr-badges { max-width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
  .wr-page .wr-badges > span { font-size: 8px; gap: 5px; padding: 6px; }
  .wr-page .wr-badges svg { width: 12px; height: 12px; }
  .wr-page .wr-hero-actions { gap: 7px; }
  .wr-page .wr-hero-actions .wr-button, .wr-page .wr-hero-actions .wr-outline { flex: 1; min-width: 0; min-height: 38px; font-size: 11px; padding: 8px; gap: 5px; }
  .wr-page .wr-steps { grid-template-columns: 1fr; gap: 7px; }
  .wr-page .wr-step { display: flex; gap: 12px; min-height: 98px; padding: 11px; }
  .wr-page .wr-step-copy { width: 73%; }
  .wr-page .wr-step-icon { flex-basis: 43px; width: 43px; height: 43px; margin: 0; }
  .wr-page .wr-step-icon svg { width: 27px; height: 27px; }
  .wr-page .wr-step h2 { font-size: 16px; }
  .wr-page .wr-step p { max-width: 190px; font-size: 12px; margin: 4px 0 8px; }
  .wr-page .wr-step .wr-button { min-height: 28px; font-size: 11px; }
  .wr-page .wr-step-image { left: 40%; width: 60%; }
  .wr-page .wr-heading { flex-wrap: wrap; gap: 7px; margin-bottom: 10px; }
  .wr-page .wr-heading-copy { flex-basis: calc(100% - 35px); }
  .wr-page .wr-heading h2 { font-size: 18px; }
  .wr-page .wr-heading-link { margin-left: 30px; font-size: 11px; }
  .wr-page .wr-controls { grid-template-columns: 1fr 1fr; gap: 6px; }
  .wr-page .wr-controls > :first-child { grid-column: 1/-1; }
  .wr-page .wr-controls > :last-child { grid-column: 1/-1; }
  .wr-page .wr-controls :is(input,select) { font-size: 12px; min-height: 38px; }
  .wr-page .wr-job-grid { grid-template-columns: 1fr; gap: 10px; }
  .wr-page .wr-job-image { height: 136px; }
  .wr-page .wr-job-body { padding: 10px 12px 6px; }
  .wr-page .wr-job-body h3 { font-size: 14px; margin-bottom: 5px; }
  .wr-page .wr-job-body h4 { font-size: 16px; min-height: 0; margin-bottom: 10px; }
  .wr-page .wr-job-meta { gap: 6px; margin-bottom: 12px; }
  .wr-page .wr-job-meta li { font-size: 12px; }
  .wr-page .wr-job-actions .wr-button { min-height: 36px; font-size: 12px; }
  .wr-page .wr-save { min-height: 33px; font-size: 12px; }
  .wr-page .wr-offer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .wr-page .wr-offer-card { grid-template-columns: 27px 1fr; padding: 10px 8px; gap: 8px; }
  .wr-page .wr-offer-card h3 { font-size: 12px; }
  .wr-page .wr-offer-card p { font-size: 11px; }
  .wr-page .wr-permit-grid { grid-template-columns: 1fr; gap: 11px; padding: 3px 0; }
  .wr-page .wr-permit-step { display: grid; grid-template-columns: 25px 1fr; gap: 3px 9px; }
  .wr-page .wr-permit-step .wr-number { grid-row: span 2; margin: 0; }
  .wr-page .wr-permit-step:not(:last-child)::after { display: none; }
  .wr-page .wr-permit-step h3 { font-size: 12px; margin: 0; }
  .wr-page .wr-permit-step p { font-size: 11px; }
  .wr-page .wr-warning { align-items: flex-start; }
  .wr-page .wr-panel-actions { gap: 6px; }
  .wr-page .wr-panel-actions .wr-button { flex: 1; min-width: 0; padding-inline: 5px; }
  .wr-page .wr-budget-total { font-size: 12px; }
  .wr-page .wr-budget-foot { gap: 8px; align-items: start; padding-inline: 2px; }
  .wr-page .wr-budget-foot a { flex: 0 0 44%; }
  .wr-page .wr-area-grid { gap: 7px; }
  .wr-page .wr-area-card > img, .wr-page .wr-area-card > picture, .wr-page .wr-area-card > picture img { height: 75px; }
  .wr-page .wr-area-body { padding: 7px; }
  .wr-page .wr-area-body h3 { font-size: 13px; }
  .wr-page .wr-area-body :is(p,li) { font-size: 10px; }
  .wr-page .wr-area-body .wr-button { min-height: 31px; font-size: 10px; padding-inline: 2px; }
  .wr-page .wr-area-map { height: 210px; }
  .wr-page .wr-guide-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .wr-page .wr-guide { align-items: flex-start; gap: 7px; padding: 9px 7px; }
  .wr-page .wr-guide > :is(svg,.wr-guide-icon) { flex-basis: 28px; width: 28px; height: 28px; padding: 4px; }
  .wr-page .wr-guide h3 { font-size: 11px; }
  .wr-page .wr-guide p { font-size: 10px; }
  .wr-page .wr-sidebar { grid-template-columns: 1fr; gap: 8px; }
  .wr-page .wr-side-panel .wr-heading { flex-wrap: nowrap; }
  .wr-page .wr-side-panel .wr-heading-copy { flex-basis: auto; }
  .wr-page .wr-side-panel .wr-heading h2 { font-size: 16px; }
  .wr-page .wr-side-panel .wr-heading p { font-size: 12px; }
  .wr-page .wr-facts dl > div { grid-template-columns: 107px minmax(0,1fr); gap: 10px; }
  .wr-page .wr-facts :is(dt,dd) { font-size: 12px; }
  .wr-page .wr-category-list :is(button,a) { font-size: 12px; min-height: 34px; }
  .wr-page .wr-category-list b { font-size: 13px; }
  .wr-page .wr-link-list :is(a,button) { font-size: 12px; }
  .wr-page .wr-read-list { grid-template-columns: 1fr 1fr; gap: 9px; }
  .wr-page .wr-read-list a { align-items: flex-start; font-size: 10px; }
  .wr-page .wr-read-list img { flex-basis: 43px; width: 43px; height: 29px; }
  .wr-page .wr-cta { padding-block: 17px; }
  .wr-page .wr-cta h2 { font-size: 24px; }
  .wr-page .wr-cta p { font-size: 11px; }
  .wr-page .wr-cta .wr-button, .wr-page .wr-cta .wr-outline { flex: 1 1 auto; min-width: 0; font-size: 11px; padding-inline: 8px; }
  .wr-page .wr-dialog { padding: 22px 18px; }
  .wr-page .wr-dialog h2 { font-size: 22px; }
  .wr-page .wr-plan-options { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) { .wr-page *, .wr-page *::before, .wr-page *::after { scroll-behavior: auto !important; transition: none !important; } }
@media print {
  .wr-page .wr-layout { display: block; }
  .wr-page :is(.wr-sidebar,.wr-controls,.wr-save,.wr-hero-actions,.wr-cta,.wr-dialog,.wr-toast) { display: none !important; }
  .wr-page .wr-hero { color: #000; background: #fff; }
  .wr-page .wr-hero :is(h1,p,a) { color: #000; }
  .wr-page .wr-hero > .wr-wrap { min-height: 0; }
  .wr-page .wr-hero-image, .wr-page .wr-hero::after { display: none; }
  .wr-page .wr-panel { break-inside: avoid; margin-bottom: 10px; }
  .wr-page .wr-job-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* Fit the existing shared shell to this page's compact reference proportions. */
.wr-page :is(h1,h2,h3,h4) { font-weight: 700; }
.wr-page :is(p,dt,dd,li) { font-weight: 400; }
.wr-page .wr-hero-intro { font-weight: 400; }
.wr-page .wr-hero-lead { font-weight: 700; }
.wr-page .wr-search { position: relative; }
.wr-page .wr-search > button {
  position: absolute; top: 0; right: 0; display: grid; place-items: center;
  width: 28px; height: 100%; min-height: 0; margin: 0; padding: 0;
  border: 0; border-left: 1px solid #dce7f8; border-radius: 0 4px 4px 0;
  color: var(--wr-blue); background: transparent;
}
.wr-page .wr-search > button svg { width: 16px; height: 16px; }
.wr-page .wr-controls select, .wr-page .wr-alert-form select {
  appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m2 2 4 4 4-4' fill='none' stroke='%23005dff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 8px center; background-size: 10px 7px; padding-right: 24px;
}
.wr-page .wr-alert-form select { width: 100%; min-height: 26px; padding: 5px 25px 5px 7px; border: 1px solid #cdddfa; border-radius: 4px; color: #314b83; background-color: #fff; font-size: 9px; }
.wr-page .wr-filter-status { grid-column: 1/-1; display: flex; align-items: center; flex-wrap: wrap; gap: 7px 13px; color: var(--wr-muted); font-size: 10px; }
.wr-page .wr-filter-status > button { padding: 2px 5px; border: 1px solid #d4e3fa; border-radius: 3px; color: #005dff; background: #f4f9ff; font-size: 10px; }
.wr-page .wr-offer-card:hover { background: #f5faff; text-decoration: none; }
.wr-page .wr-budget-cost-link { display: block; margin-top: 2px; color: var(--wr-blue); font-size: 8px; line-height: 1.2; text-align: right; }
.wr-page .wr-cta { background: linear-gradient(90deg,#001d45a6,#05244375),url('/assets/responsive/home-sunset-1280.webp') center 57%/cover; }

@media (min-width: 950px) {
  body:has(main.wr-page) .us-footer { margin: 0; padding: 9px 24px 0; border-top: 1px solid #dce8f8; }
  body:has(main.wr-page) .us-footer-inner { max-width: 1432px; }
  body:has(main.wr-page) .us-footer-grid { grid-template-columns: 180px repeat(4,minmax(0,1fr)) auto; gap: 18px; min-height: 64px; padding: 0 0 7px; }
  body:has(main.wr-page) .us-footer-brand { grid-column: auto; grid-row: auto; }
  body:has(main.wr-page) .us-footer .us-brand { gap: 5px; }
  body:has(main.wr-page) .us-footer .us-logo-city { width: 40px; height: 30px; }
  body:has(main.wr-page) .us-footer .us-wordmark > span { font-size: 19px; letter-spacing: -1px; }
  body:has(main.wr-page) .us-footer .us-wordmark small { font-size: 4.6px; letter-spacing: 1.45px; margin-top: 3px; }
  body:has(main.wr-page) .us-footer-brand > p { font-size: 8px; line-height: 1.35; margin: 5px 0 0; max-width: 175px; }
  body:has(main.wr-page) .us-footer-group > h2 { font-size: 9px; font-weight: 700; line-height: 1.25; margin: 0 0 4px; color: #0a328e; }
  body:has(main.wr-page) .us-footer-group > div { display: grid; grid-template-columns: 1fr; gap: 2px; max-width: none; }
  body:has(main.wr-page) .us-footer-group a { font-size: 8px; line-height: 1.25; }
  body:has(main.wr-page) .us-footer-contact { grid-column: auto; display: flex; flex-direction: column; gap: 5px; }
  body:has(main.wr-page) .us-footer-contact > a { padding: 4px 7px; border-radius: 4px; font-size: 9px; line-height: 1.2; }
  body:has(main.wr-page) .us-footer-city { display: none; }
  body:has(main.wr-page) .us-footer-bottom { display: flex; flex-direction: row; justify-content: space-between; min-height: 22px; padding: 0; gap: 12px; }
  body:has(main.wr-page) .us-footer-bottom > nav { gap: 5px 13px; }
  body:has(main.wr-page) .us-footer-bottom :is(p,a) { font-size: 8px; line-height: 1.3; }
  .wr-page .wr-offer-card { padding-block: 6px; gap: 5px; }
  .wr-page .wr-offer-card p { font-size: 8.5px; line-height: 1.2; }
  .wr-page .wr-permit-step h3 { margin-bottom: 4px; }
  .wr-page .wr-permit-step p { font-size: 8px; line-height: 1.2; }
  .wr-page .wr-permit-step .wr-number { margin-bottom: 5px; }
  .wr-page .wr-permit-grid { padding-top: 0; }
  .wr-page .wr-warning { margin-top: 7px; padding-block: 4px; }
  .wr-page .wr-budget-lines { gap: 1px; padding-block: 5px; }
  .wr-page .wr-budget-lines > div { font-size: 8.5px; line-height: 1.2; }
  .wr-page .wr-budget-foot { font-size: 6.5px; padding-top: 3px; }
  .wr-page .wr-budget-foot a { font-size: 7.5px; }
  .wr-page .wr-area-body p { font-size: 8.5px; margin-bottom: 4px; }
  .wr-page .wr-area-body li { font-size: 8.5px; }
  .wr-page .wr-area-body ul { gap: 2px; margin-bottom: 4px; }
  .wr-page .wr-area-map { min-height: 154px; }
  .wr-page .wr-area-map svg { min-height: 154px; }
  .wr-page .wr-guides { padding-block: 5px; margin-top: 8px; margin-bottom: 9px; }
  .wr-page .wr-guides > .wr-heading { margin-bottom: 5px; gap: 8px; }
  .wr-page .wr-guide { padding: 6px 7px; gap: 6px; }
  .wr-page .wr-guide > .wr-guide-icon { width: 28px; height: 28px; flex-basis: 28px; padding: 4px; }
  .wr-page .wr-guide h3 { font-size: 9px; line-height: 1.1; margin-bottom: 2px; }
  .wr-page .wr-guide p { font-size: 8px; line-height: 1.2; }
}
@media (min-width: 1200px) {
  body:has(main.wr-page) .us-footer { padding-top: 12px; }
  body:has(main.wr-page) .us-footer-grid { min-height: 78px; grid-template-columns: 210px repeat(4,minmax(0,1fr)) auto; }
  body:has(main.wr-page) .us-footer .us-wordmark > span { font-size: 23px; }
  body:has(main.wr-page) .us-footer .us-logo-city { width: 48px; height: 36px; }
  body:has(main.wr-page) .us-footer-brand > p { font-size: 10px; max-width: 207px; }
  body:has(main.wr-page) .us-footer-group > h2 { font-size: 11px; }
  body:has(main.wr-page) .us-footer-group a { font-size: 10px; }
  body:has(main.wr-page) .us-footer-contact > a { font-size: 11px; padding: 5px 9px; }
  body:has(main.wr-page) .us-footer-bottom { min-height: 28px; }
  body:has(main.wr-page) .us-footer-bottom :is(p,a) { font-size: 10px; }
  .wr-page .wr-offer-card { padding-block: 8px; }
  .wr-page .wr-offer-card p { font-size: 10.5px; }
  .wr-page .wr-permit-step p { font-size: 10px; }
  .wr-page .wr-budget-lines > div { font-size: 10.5px; }
  .wr-page .wr-budget-lines { gap: 3px; padding-block: 7px; }
  .wr-page .wr-budget-foot { font-size: 8px; }
  .wr-page .wr-budget-foot a, .wr-page .wr-budget-cost-link { font-size: 9px; }
  .wr-page .wr-area-body :is(p,li) { font-size: 10.5px; }
  .wr-page .wr-area-map, .wr-page .wr-area-map svg { min-height: 193px; }
  .wr-page .wr-guide { padding: 8px; gap: 8px; }
  .wr-page .wr-guide > .wr-guide-icon { width: 36px; height: 36px; flex-basis: 36px; padding: 5px; }
  .wr-page .wr-guide h3 { font-size: 11px; }
  .wr-page .wr-guide p { font-size: 10px; }
}
@media (max-width: 780px) {
  .wr-page .wr-alert-form select { min-height: 34px; font-size: 12px; }
  .wr-page .wr-budget-cost-link { font-size: 11px; margin-top: 5px; }
}

.wr-page .wr-budget-total.is-negative { color: #b82036; background: #fff0f2; }
.wr-page .wr-budget-total.is-negative strong { color: #b82036; }
.wr-page [aria-invalid="true"] { border-color: #b82036; }

/* Match the homepage language controls on narrow English screens. */
@media (max-width:360px) {
  html[lang="en"] body:has(main.wr-page) .us-languages > a, html[lang="en"] body:has(main.wr-page) .us-languages > span { padding-inline:5px; }
}
