/* Brokerage only. Load after the local Leaflet and request-form styles. */
.icb {
  --icb-blue: #08476c;
  --icb-deep: #063853;
  --icb-yellow: #fbc100;
  --icb-wash: #eff5f7;
  --icb-ink: #17394d;
  --icb-muted: #546c79;
  --icb-line: #b6c9d3;
  --icb-header-height: 74px;
  --icb-gutter: clamp(20px, 4vw, 64px);
  color: var(--icb-ink);
  background: #fff;
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.5;
  min-width: 0;
}
.icb * { box-sizing: border-box; }
.icb h1,
.icb h2,
.icb h3 { font-family: Arial, Helvetica, sans-serif; line-height: 1.08; letter-spacing: -.045em; }
.icb p { line-height: 1.55; }
.icb button,
.icb input,
.icb select,
.icb textarea { font-family: inherit; }
.icb button { cursor: pointer; -webkit-tap-highlight-color: transparent; }
.icb button:disabled { cursor: not-allowed; opacity: .55; }
.icb a { -webkit-tap-highlight-color: transparent; }
.icb button:focus-visible,
.icb a:focus-visible,
.icb input:focus-visible,
.icb select:focus-visible,
.icb textarea:focus-visible,
.icb [tabindex]:focus-visible { outline: 3px solid var(--icb-yellow); outline-offset: 3px; }
.icb [hidden],
.icb .icb-panel[hidden],
.icb .icb-explorer[hidden] { display: none !important; }

.icb .icb-hero {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  min-height: 430px;
  padding: 42px var(--icb-gutter);
  overflow: hidden;
  color: #fff;
  background: var(--icb-deep);
}
.icb .icb-hero-image { position: absolute; inset: 0; z-index: -2; }
.icb .icb-hero-image img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.icb .icb-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(90deg, #032b42e6, #032b4273 58%, #032b4226),
    linear-gradient(0deg, #032b42a6, transparent 55%);
}
.icb .icb-hero-copy { width: 100%; max-width: 1312px; margin: 0 auto; }
.icb .icb-hero-copy h1 { margin: 0; max-width: 16ch; font-size: clamp(2.7rem, 4.5vw, 4.5rem); color: #fff; line-height: 1.02; text-wrap: balance; }
.icb .icb-hero-copy p { max-width: 47ch; margin: 19px 0 22px; color: #f1f5f7; font-size: clamp(.95rem, 1.25vw, 1.08rem); }
.icb [data-icb-explore] { display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 48px; padding: 12px 20px; border: 1px solid var(--icb-yellow); color: var(--icb-deep); background: var(--icb-yellow); font-size: .86rem; line-height: 1.3; font-weight: 700; }
.icb [data-icb-explore]:hover { background: #ffcf2c; }
.icb .icb-hero-caption { position: absolute; right: var(--icb-gutter); bottom: 14px; max-width: 45ch; margin: 0; color: #fff; font-size: .67rem; line-height: 1.4; text-align: right; text-shadow: 0 1px 6px #032b42; }

.icb .icb-intents {
  position: sticky;
  top: var(--icb-header-height);
  z-index: 15;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  padding: 1px var(--icb-gutter);
  background: #c3d2da;
  box-shadow: 0 4px 14px #032b4212;
}
.icb .icb-intents button { display: flex; flex-direction: column; justify-content: center; gap: 5px; min-width: 0; min-height: 90px; padding: 15px 20px; border: 0; background: #fff; color: var(--icb-blue); text-align: left; box-shadow: inset 0 -3px transparent; transition: background .2s ease, color .2s ease, box-shadow .2s ease; }
.icb .icb-intents strong { font-size: clamp(1.05rem, 1.6vw, 1.4rem); line-height: 1.15; letter-spacing: -.02em; }
.icb .icb-intents small { color: var(--icb-muted); font-size: .73rem; line-height: 1.35; }
.icb .icb-intents button:hover { background: var(--icb-wash); }
.icb .icb-intents button[aria-pressed="true"] { color: #fff; background: var(--icb-deep); box-shadow: inset 0 -3px var(--icb-yellow); }
.icb .icb-intents button[aria-pressed="true"] small { color: #dbe7ed; }
.icb .icb-intents button:focus-visible { outline-offset: -5px; }

.icb .icb-explorer,
.icb .icb-story,
.icb .icb-estimate,
.icb .icb-brief { width: 100%; max-width: 1440px; margin: 0 auto; padding: clamp(32px, 4.5vw, 64px) var(--icb-gutter); }
.icb .icb-explorer,
.icb .icb-panel,
.icb .icb-brief { scroll-margin-top: calc(var(--icb-header-height) + 110px); }
.icb .icb-section-heading { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 40px; margin-bottom: 24px; }
.icb .icb-section-heading h2 { margin: 0; max-width: 25ch; font-size: clamp(1.8rem, 3vw, 2.8rem); color: var(--icb-blue); }
.icb .icb-section-heading p { margin: 0; max-width: 57ch; color: var(--icb-muted); font-size: .94rem; }
.icb .icb-layers { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.icb .icb-layers button { min-height: 44px; padding: 9px 16px; border: 1px solid var(--icb-line); color: var(--icb-blue); background: #fff; font-size: .81rem; line-height: 1.3; }
.icb .icb-layers button:hover { border-color: var(--icb-blue); }
.icb .icb-layers button[aria-pressed="true"] { color: #fff; background: var(--icb-blue); border-color: var(--icb-blue); }
.icb .icb-layer-summary { margin: 12px 0 18px; color: var(--icb-muted); font-size: .78rem; line-height: 1.5; }
.icb .icb-layer-summary p { margin: 0; }
.icb .icb-map-workspace { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 22px; align-items: stretch; }
.icb .icb-map-shell { position: relative; isolation: isolate; z-index: 0; min-width: 0; height: 520px; overflow: hidden; border: 1px solid var(--icb-line); background: #e7f0f3; }
.icb .icb-map-canvas,
.icb .icb-map-fallback { position: absolute; inset: 0; width: 100%; height: 100%; }
.icb .icb-map-canvas { pointer-events: none; }
.icb.icb-map-initialized .icb-map-canvas { pointer-events: auto; }
.icb .icb-map-fallback > svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.icb .icb-map-fallback > button { position: absolute; display: grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--icb-blue); transform: translate(-50%, -50%); }
.icb .icb-map-fallback > button:focus-visible { outline-offset: -3px; }
.icb .icb-map-fallback > .icb-fallback-pin { gap: 2px; min-width: 44px; min-height: 44px; padding: 5px 8px; border: 2px solid transparent; background: #fffffff0; font-size: .72rem; line-height: 1.3; }
.icb .icb-map-fallback > .icb-fallback-pin.is-selected,
.icb .icb-map-fallback > .icb-fallback-pin[aria-pressed="true"] { border-color: var(--icb-yellow); background: var(--icb-deep); color: #fff; box-shadow: 0 0 0 2px #fbc10066; }
.icb .icb-fallback-pin.is-selected > span:first-child,
.icb .icb-fallback-pin[aria-pressed="true"] > span:first-child { color: var(--icb-yellow); }
.icb .icb-map-toolbar { position: absolute; left: 16px; top: 16px; z-index: 1001; display: flex; flex-wrap: wrap; gap: 6px; max-width: calc(100% - 32px); }
.icb .icb-map-toolbar button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 44px; min-height: 44px; padding: 9px 12px; border: 1px solid #b3c7d2; color: var(--icb-blue); background: #fffffff5; font-size: .76rem; line-height: 1.3; box-shadow: 0 2px 8px #06385316; }
.icb .icb-map-toolbar button:hover { background: var(--icb-wash); }
.icb .icb-map-note { position: absolute; z-index: 1000; left: 12px; right: 12px; bottom: 30px; width: fit-content; max-width: calc(100% - 24px); padding: 6px 9px; margin: 0; color: var(--icb-blue); background: #fffffff0; font-size: .66rem; line-height: 1.35; pointer-events: none; }
.icb .icb-map-status { position: absolute; z-index: 1002; left: 12px; right: 12px; bottom: 80px; margin: 0; padding: 9px 12px; border-left: 3px solid var(--icb-yellow); color: var(--icb-deep); background: #fffffff5; font-size: .76rem; line-height: 1.45; box-shadow: 0 2px 12px #06385320; }
.icb .icb-map-status:empty { display: none; }
.icb .leaflet-container { background: transparent; font-family: Arial, Helvetica, sans-serif; color: var(--icb-blue); }
.icb .leaflet-top.leaflet-left { top: 72px; }
.icb .leaflet-control-attribution { max-width: 380px; padding: 3px 6px; color: var(--icb-blue); background: #fffffff0; font: 10px/1.35 Arial, Helvetica, sans-serif; white-space: normal; }
.icb .leaflet-control-attribution a { color: var(--icb-blue); text-decoration: underline; }
.icb .leaflet-bar { border-color: #b3c7d2; border-radius: 0; box-shadow: 0 2px 8px #06385316; }
.icb .leaflet-bar a { width: 44px; height: 44px; line-height: 44px; border-radius: 0; color: var(--icb-blue); }
.icb .leaflet-bar a:focus-visible { outline-offset: -4px; }
.icb .icb-pin { display: grid; place-items: center; padding: 0; border: 0; color: var(--icb-blue); background: transparent; }
.icb .icb-pin svg { display: block; width: 40px; height: 44px; overflow: visible; filter: drop-shadow(0 2px 3px #032b4259); transition: filter .2s ease; }
.icb .icb-pin.is-selected svg,
.icb .icb-pin[aria-pressed="true"] svg,
.icb .icb-pin:hover svg { filter: drop-shadow(0 0 5px #fbc100cc) drop-shadow(0 2px 3px #032b4259); }
.icb .icb-pin button { min-width: 44px; min-height: 44px; padding: 0; border: 0; color: inherit; background: transparent; }

.icb .icb-place-detail { display: flex; flex-direction: column; min-width: 0; overflow: hidden; background: var(--icb-deep); color: #fff; }
.icb .icb-place-detail figure { margin: 0; }
.icb .icb-place-detail figure img { display: block; width: 100%; height: 200px; object-fit: contain; background: #e7f0f3; }
.icb .icb-place-detail figcaption { padding: 8px 18px; color: #d9e6ed; font-size: .66rem; line-height: 1.4; }
.icb .icb-place-detail > div,
.icb .icb-place-detail > section { display: flex; flex: 1; flex-direction: column; align-items: flex-start; gap: 11px; min-width: 0; padding: 20px; }
.icb .icb-record-kind { display: inline-block; width: fit-content; padding: 3px 0; color: #ffe38b; font-size: .72rem; line-height: 1.3; }
.icb .icb-place-detail h3 { margin: 0; color: #fff; font-size: 1.65rem; line-height: 1.12; overflow-wrap: anywhere; }
.icb .icb-place-detail p { margin: 0; color: #e1ebf0; font-size: .85rem; }
.icb .icb-place-detail small { color: #c6dce8; font-size: .73rem; line-height: 1.4; }
.icb .icb-empty [data-icb-open-brief] { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; max-width: 100%; margin-top: 8px; padding: 10px 15px; border: 1px solid var(--icb-yellow); color: var(--icb-deep); background: var(--icb-yellow); font-size: .82rem; line-height: 1.35; font-weight: 700; }
.icb .icb-empty [data-icb-open-brief]:hover { background: #ffcf2c; }
.icb .icb-place-detail a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 8px 0; border-bottom: 1px solid var(--icb-yellow); color: #fff; font-size: .8rem; line-height: 1.3; font-weight: 700; text-decoration: none; }
.icb .icb-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 20px; margin-top: 12px; }
.icb .icb-place-detail .icb-actions { margin-top: auto; padding-top: 14px; }
.icb .icb-place-strip { display: flex; gap: 10px; overflow-x: auto; overscroll-behavior-x: contain; padding: 6px 3px 10px; margin-top: 14px; scroll-snap-type: x proximity; scrollbar-width: thin; scrollbar-color: #91adb9 #eff5f7; }
.icb .icb-place-strip button { flex: 0 0 auto; display: grid; align-content: center; gap: 6px; width: clamp(170px, 20vw, 250px); min-height: 82px; padding: 12px 16px; border: 1px solid var(--icb-line); background: #fff; color: var(--icb-blue); text-align: left; scroll-snap-align: start; }
.icb .icb-place-strip strong { font-size: .9rem; line-height: 1.2; }
.icb .icb-place-strip small { color: var(--icb-muted); font-size: .73rem; line-height: 1.3; }
.icb .icb-place-strip button.is-selected,
.icb .icb-place-strip button[aria-pressed="true"] { border-color: var(--icb-yellow); color: #fff; background: var(--icb-deep); }
.icb .icb-place-strip button.is-selected small,
.icb .icb-place-strip button[aria-pressed="true"] small { color: #d9e6ed; }
.icb .icb-place-strip button:focus-visible { outline-offset: -4px; }

.icb .icb-story { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
.icb .icb-dossier { position: relative; isolation: isolate; min-width: 0; min-height: 490px; background: linear-gradient(145deg, #dfeaf0, #f4f7f8); }
.icb .icb-dossier-card { position: absolute; left: 50%; top: 34px; z-index: 1; width: min(78%, 360px); height: 410px; margin: 0; border: 1px solid #c3d3dc; background: #fff; box-shadow: 0 8px 24px #0638531f; transform: translateX(-50%) translate(-20px, 7px) rotate(-4deg); transition: transform .35s ease, box-shadow .35s ease; }
.icb .icb-dossier-card:nth-child(2) { z-index: 2; transform: translateX(-50%) translate(8px, 14px) rotate(2deg); }
.icb .icb-dossier-card:nth-child(3) { z-index: 3; transform: translateX(-50%) translate(21px, 24px) rotate(4deg); }
.icb .icb-dossier-card.is-current { z-index: 5; transform: translateX(-50%) translate(0, -5px) rotate(0deg); box-shadow: 0 14px 32px #06385333; }
.icb .icb-dossier-card img { display: block; width: 100%; height: calc(100% - 54px); padding: 8px; object-fit: contain; }
.icb .icb-dossier-card figcaption { display: flex; align-items: center; min-height: 54px; padding: 9px 14px; border-top: 1px solid #d8e3e9; font-size: .73rem; line-height: 1.35; color: var(--icb-blue); }
.icb .icb-story-content { min-width: 0; }
.icb .icb-story-content > h2,
.icb .icb-story-detail h2,
.icb .icb-estimate-builder h2,
.icb .icb-brief-copy h2 { margin: 0 0 16px; color: var(--icb-blue); font-size: clamp(1.9rem, 3vw, 2.8rem); }
.icb .icb-story-content > p,
.icb .icb-story-detail p { max-width: 60ch; color: var(--icb-muted); font-size: .94rem; }
.icb .icb-story-steps,
.icb .icb-story-steps ol { margin: 22px 0; padding: 0; list-style: none; }
.icb .icb-story-steps li { margin: 0; list-style: none; }
.icb .icb-story-steps button { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 58px; padding: 13px 15px; border: 0; border-bottom: 1px solid var(--icb-line); border-left: 3px solid transparent; background: #fff; color: var(--icb-blue); text-align: left; font-size: .86rem; line-height: 1.35; }
.icb .icb-story-steps button[aria-pressed="true"],
.icb .icb-story-steps button.is-current,
.icb .icb-story-steps .is-current > button { border-left-color: var(--icb-yellow); background: var(--icb-wash); font-weight: 700; }
.icb .icb-story-detail { padding: 22px 0 0; border-top: 1px solid var(--icb-line); }
.icb .icb-story-detail h2 { font-size: clamp(1.55rem, 2.2vw, 2rem); }
.icb .icb-story-detail p { margin: 0; }
.icb .icb-story-content .icb-actions a { display: inline-flex; align-items: center; min-height: 44px; padding: 9px 0; border-bottom: 1px solid var(--icb-blue); color: var(--icb-blue); font-size: .82rem; font-weight: 700; text-decoration: none; }

.icb .icb-estimate { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 56px); align-items: start; }
.icb .icb-estimate-visual { position: relative; margin: 0; min-width: 0; background: var(--icb-wash); }
.icb .icb-estimate-visual img { display: block; width: 100%; height: 520px; object-fit: cover; }
.icb .icb-estimate-visual figcaption,
.icb .icb-estimate-visual > small { display: block; margin: 0; padding: 10px 14px; color: var(--icb-muted); font-size: .7rem; line-height: 1.4; }
.icb .icb-estimate-builder { min-width: 0; padding: clamp(20px, 3vw, 34px); border: 1px solid var(--icb-line); background: #fff; }
.icb .icb-estimate-builder > p { color: var(--icb-muted); font-size: .92rem; }
.icb .icb-estimate-builder label { display: grid; gap: 6px; margin-top: 17px; font-size: .82rem; line-height: 1.35; font-weight: 700; color: var(--icb-blue); }
.icb .icb-estimate-builder input,
.icb .icb-estimate-builder select { width: 100%; min-width: 0; min-height: 48px; padding: 11px 12px; border: 1px solid #a3bbc8; border-radius: 0; background: #fff; color: var(--icb-ink); font-size: 1rem; line-height: 1.4; }
.icb .icb-types { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 7px; margin: 20px 0; }
.icb .icb-types button { min-height: 46px; min-width: 0; padding: 9px 10px; border: 1px solid var(--icb-line); color: var(--icb-blue); background: #fff; font-size: .79rem; line-height: 1.3; }
.icb .icb-types button[aria-pressed="true"] { color: #fff; border-color: var(--icb-blue); background: var(--icb-blue); box-shadow: inset 0 -3px var(--icb-yellow); }
.icb .icb-estimate-summary { display: block; min-height: 82px; margin: 20px 0; padding: 15px 16px; border-left: 3px solid var(--icb-yellow); color: var(--icb-blue); background: var(--icb-wash); font-size: .85rem; line-height: 1.55; white-space: pre-line; overflow-wrap: anywhere; }
.icb [data-icb-use-brief] { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 48px; max-width: 100%; padding: 12px 18px; border: 0; border-bottom: 3px solid var(--icb-yellow); background: var(--icb-blue); color: #fff; font-size: .85rem; line-height: 1.35; font-weight: 700; }

.icb .icb-brief { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(26px, 5vw, 72px); align-items: start; background: var(--icb-wash); }
.icb .icb-brief-copy { min-width: 0; }
.icb .icb-brief-copy p { max-width: 48ch; color: var(--icb-muted); font-size: .94rem; }
.icb .icb-brief-copy a { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; color: var(--icb-blue); font-size: .91rem; line-height: 1.3; font-weight: 700; overflow-wrap: anywhere; }
.icb .icb-brief-form { min-width: 0; }
.icb .icb-brief .request-form { width: 100%; margin: 0; padding: clamp(18px, 3vw, 32px); border: 1px solid #c2d2dc; color: var(--icb-ink); background: #fff; }
.icb .icb-brief .request-form fieldset { gap: 17px; }
.icb .icb-brief .request-form label { font-size: .81rem; font-weight: 700; letter-spacing: 0; }
.icb .icb-brief .request-form input,
.icb .icb-brief .request-form select,
.icb .icb-brief .request-form textarea { min-height: 48px; padding: 11px 12px; border-color: #a3bbc8; color: var(--icb-ink); background: #fff; font-size: 1rem; }
.icb .icb-brief .request-form textarea { min-height: 140px; }
.icb .icb-brief .request-required,
.icb .icb-brief .request-form small { margin: 0; font-size: .72rem; line-height: 1.55; color: #455f6e; }
.icb .icb-brief .request-form h3 { margin: 0 0 5px; color: var(--icb-blue); font-size: 1.3rem; }
.icb .icb-brief .request-submit,
.icb .icb-brief .request-new { min-height: 48px; border: 0; border-bottom: 3px solid var(--icb-yellow); background: var(--icb-blue); color: #fff; font-size: .84rem; }
.icb .icb-brief .request-submit:hover,
.icb .icb-brief .request-new:hover { background: #0b5f8f; }
.icb .icb-brief .request-status { overflow-wrap: anywhere; }

@media (max-width: 1050px) {
  .icb .icb-map-workspace { grid-template-columns: minmax(0, 1fr) 300px; gap: 16px; }
  .icb .icb-place-detail figure img { height: 180px; }
  .icb .icb-place-detail > div,
  .icb .icb-place-detail > section { padding: 18px; }
  .icb .icb-intents button { padding-left: 14px; padding-right: 14px; }
  .icb .icb-dossier-card { width: 76%; height: 370px; }
  .icb .icb-dossier { min-height: 450px; }
}
@media (max-width: 850px) {
  .icb { --icb-header-height: 66px; }
  .icb .icb-map-workspace { grid-template-columns: minmax(0, 1fr); }
  .icb .icb-place-detail { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
  .icb .icb-place-detail figure { background: #e7f0f3; }
  .icb .icb-place-detail figure img { height: 240px; }
  .icb .icb-place-detail figcaption { color: var(--icb-blue); }
  .icb .icb-story,
  .icb .icb-estimate { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .icb .icb-dossier { width: 100%; max-width: 600px; min-height: 380px; margin: 0 auto; }
  .icb .icb-dossier-card { width: min(72%, 310px); height: 315px; top: 25px; }
  .icb .icb-estimate-visual img { height: 330px; }
  .icb .icb-brief { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 620px) {
  .icb { --icb-gutter: 18px; }
  .icb .icb-hero { min-height: 370px; padding-top: 32px; padding-bottom: 42px; }
  .icb .icb-hero-copy h1 { font-size: clamp(2.25rem, 9vw, 3rem); max-width: 16ch; }
  .icb .icb-hero-copy p { font-size: .88rem; line-height: 1.45; margin-top: 15px; margin-bottom: 18px; }
  .icb .icb-hero-caption { left: var(--icb-gutter); max-width: none; bottom: 11px; text-align: left; font-size: .61rem; }
  .icb .icb-intents { padding-left: 0; padding-right: 0; }
  .icb .icb-intents button { min-height: 80px; gap: 5px; padding: 10px 7px; }
  .icb .icb-intents strong { font-size: .94rem; }
  .icb .icb-intents small { font-size: .64rem; line-height: 1.25; }
  .icb .icb-explorer,
  .icb .icb-panel,
  .icb .icb-brief { scroll-margin-top: calc(var(--icb-header-height) + 96px); }
  .icb .icb-section-heading { gap: 12px; margin-bottom: 20px; }
  .icb .icb-section-heading h2 { font-size: 1.8rem; }
  .icb .icb-section-heading p { font-size: .86rem; }
  .icb .icb-layers { gap: 6px; }
  .icb .icb-layers button { flex: 1 1 auto; padding: 9px 11px; font-size: .75rem; }
  .icb .icb-map-shell { height: 380px; }
  .icb .icb-map-toolbar { left: 10px; top: 10px; gap: 5px; max-width: calc(100% - 20px); }
  .icb .icb-map-toolbar button { padding: 8px 10px; font-size: .69rem; }
  .icb .icb-map-note { left: 8px; right: 8px; bottom: 34px; max-width: calc(100% - 16px); padding: 5px 7px; font-size: .61rem; }
  .icb .icb-map-status { left: 8px; right: 8px; bottom: 92px; padding: 8px; font-size: .69rem; }
  .icb .leaflet-control-attribution { max-width: 260px; font-size: 9px; line-height: 1.3; }
  .icb .icb-place-detail { display: flex; }
  .icb .icb-place-detail figure img { height: 210px; }
  .icb .icb-place-detail figcaption { color: #d9e6ed; }
  .icb .icb-place-detail figure { background: var(--icb-deep); }
  .icb .icb-place-detail h3 { font-size: 1.55rem; }
  .icb .icb-place-strip button { width: 190px; min-height: 78px; padding: 11px 14px; }
  .icb .icb-story-steps button { min-height: 58px; padding: 12px; }
  .icb .icb-dossier { min-height: 345px; }
  .icb .icb-dossier-card { height: 280px; width: min(72%, 270px); top: 22px; }
  .icb .icb-dossier-card figcaption { font-size: .66rem; }
  .icb .icb-estimate-visual img { height: 280px; }
  .icb .icb-estimate-builder { padding: 20px 16px; }
  .icb .icb-types { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .icb [data-icb-use-brief] { width: 100%; }
  .icb .icb-brief .request-fields { grid-template-columns: minmax(0, 1fr); }
  .icb .icb-brief .request-fields label:last-child:nth-child(odd) { grid-column: auto; }
  .icb .icb-brief .request-submit,
  .icb .icb-brief .request-new { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .icb *,
  .icb *::before,
  .icb *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .icb .icb-dossier-card { left: 0; right: 0; margin-inline: auto; transform: none !important; }
}

.icb.icb-map-loaded .icb-map-fallback { visibility: hidden; }
.icb .icb-map-marker.is-selected .icb-pin svg { filter: drop-shadow(0 0 5px #fbc100cc) drop-shadow(0 2px 3px #032b4259); }

/* Search criteria and the list alternative share the existing explorer. */
.icb .icb-search { min-width: 0; margin: 0 0 24px; padding: 22px; border: 1px solid #c5d4dc; border-top: 3px solid var(--icb-yellow); background: #f8fafb; }
.icb .icb-search-primary { display: grid; grid-template-columns: minmax(0, 1.25fr) repeat(2, minmax(0, 1fr)) auto; gap: 14px; align-items: end; }
.icb .icb-search label { display: grid; gap: 7px; min-width: 0; color: var(--icb-blue); font-size: 1rem; line-height: 1.35; font-weight: 700; }
.icb .icb-search input:not([type="checkbox"]),
.icb .icb-search select { display: block; width: 100%; min-width: 0; min-height: 48px; padding: 11px 12px; border: 1px solid #a3bbc8; border-radius: 0; color: var(--icb-ink); background: #fff; font-size: 1rem; line-height: 1.4; }
.icb .icb-search input::placeholder { color: #627a88; opacity: 1; font-weight: 400; }
.icb .icb-search button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; min-width: 44px; max-width: 100%; padding: 11px 16px; border: 1px solid var(--icb-line); color: var(--icb-blue); background: #fff; font-size: .87rem; line-height: 1.35; font-weight: 700; }
.icb .icb-search button:hover { border-color: var(--icb-blue); background: var(--icb-wash); }
.icb .icb-search button[type="submit"] { min-height: 48px; border-color: var(--icb-blue); border-bottom: 3px solid var(--icb-yellow); color: #fff; background: var(--icb-blue); }
.icb .icb-search button[type="submit"]:hover { background: var(--icb-deep); }
.icb .icb-search-more { margin-top: 17px; border-top: 1px solid #d3dfe5; }
.icb .icb-search-more > summary { width: fit-content; min-height: 44px; max-width: 100%; padding: 11px 4px; color: var(--icb-blue); cursor: pointer; font-size: .87rem; line-height: 1.4; font-weight: 700; }
.icb .icb-search-more > summary::marker { color: var(--icb-blue); }
.icb .icb-search-more > summary:hover { color: var(--icb-deep); text-decoration: underline; text-underline-offset: 4px; }
.icb .icb-search-more > summary:focus-visible,
.icb .icb-seller-preparation summary:focus-visible { outline: 3px solid var(--icb-yellow); outline-offset: 3px; box-shadow: 0 0 0 1px var(--icb-blue); }
.icb .icb-search-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 14px; padding: 10px 0 20px; }
.icb .icb-search-preferences { display: block; min-width: 0; margin: 0 0 14px; padding: 14px 0; border: 0; border-top: 1px solid #d3dfe5; }
.icb .icb-search-preferences legend { padding: 0 8px 0 0; color: var(--icb-blue); font-size: 1rem; line-height: 1.4; font-weight: 700; }
.icb .icb-search-preferences > p { max-width: 85ch; margin: 0 0 10px; color: var(--icb-muted); font-size: .8rem; line-height: 1.5; }
.icb .icb-search-preferences > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 4px 18px; min-width: 0; }
.icb .icb-search-preferences label { display: flex; align-items: center; gap: 10px; min-height: 44px; max-width: 100%; padding: 6px 0; font-size: 1rem; font-weight: 400; cursor: pointer; }
.icb .icb-search-preferences input[type="checkbox"] { flex: 0 0 20px; width: 20px; height: 20px; margin: 0; accent-color: var(--icb-blue); }
.icb .icb-search-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 10px; }
.icb .icb-search [data-icb-search-reset] { border-color: transparent; background: transparent; text-decoration: underline; text-underline-offset: 4px; }
.icb .icb-search [data-icb-search-reset]:hover { border-color: var(--icb-line); background: #fff; }
.icb .icb-search [data-icb-search-brief] { margin-left: auto; border-color: var(--icb-blue); }
.icb .icb-search-error { display: block; margin: 14px 0 0; padding: 10px 12px; border-left: 3px solid #a2322d; color: #842721; background: #fff1ef; font-size: .88rem; line-height: 1.45; }
.icb .icb-search-error:empty { display: none; }
.icb .icb-search-summary { display: block; margin: 16px 0 0; color: var(--icb-blue); font-size: .88rem; line-height: 1.5; overflow-wrap: anywhere; }
.icb .icb-search-scope { display: block; margin: 8px 0 0; max-width: 90ch; color: #4e6877; font-size: .76rem; line-height: 1.5; }
.icb .icb-views { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 18px; }
.icb .icb-views button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 88px; min-height: 44px; padding: 9px 15px; border: 1px solid var(--icb-line); color: var(--icb-blue); background: #fff; font-size: .81rem; line-height: 1.3; font-weight: 700; }
.icb .icb-views button:hover { border-color: var(--icb-blue); }
.icb .icb-views button[aria-pressed="true"] { border-color: var(--icb-blue); color: #fff; background: var(--icb-blue); box-shadow: inset 0 -3px var(--icb-yellow); }
.icb .icb-results { min-width: 0; }
.icb .icb-explorer[data-icb-view="list"] .icb-results { display: flex; flex-direction: column; gap: 20px; }
.icb .icb-explorer[data-icb-view="list"] .icb-map-shell { display: none; }
.icb .icb-explorer[data-icb-view="list"] .icb-map-workspace { grid-template-columns: minmax(0, 1fr); }
.icb .icb-explorer[data-icb-view="list"] .icb-place-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; order: -1; margin: 0; padding: 3px; overflow: visible; scroll-snap-type: none; }
.icb .icb-explorer[data-icb-view="list"] .icb-place-strip button { width: 100%; min-width: 0; min-height: 112px; padding: 18px 20px; align-content: start; overflow-wrap: anywhere; }
.icb .icb-explorer[data-icb-view="list"] .icb-place-strip strong { font-size: 1.08rem; line-height: 1.25; }
.icb .icb-explorer[data-icb-view="list"] .icb-place-strip button > span { font-size: .84rem; line-height: 1.4; }
.icb .icb-explorer[data-icb-view="list"] .icb-place-detail { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: stretch; }
.icb .icb-explorer[data-icb-view="list"] .icb-place-detail > .icb-empty { grid-column: 1 / -1; }
.icb .icb-explorer[data-icb-view="list"] .icb-place-detail > div:only-child { grid-column: 1 / -1; }
.icb .icb-explorer[data-icb-view="list"] .icb-place-detail figure { background: #e7f0f3; }
.icb .icb-explorer[data-icb-view="list"] .icb-place-detail figure img { height: 260px; }
.icb .icb-explorer[data-icb-view="list"] .icb-place-detail figcaption { color: var(--icb-blue); }

/* Seller guidance is useful independently of the illustrated step selection. */
.icb .icb-step-tasks { display: grid; gap: 9px; max-width: 65ch; margin: 18px 0 0; padding-left: 20px; color: var(--icb-muted); font-size: .9rem; line-height: 1.5; }
.icb .icb-step-tasks li { padding-left: 4px; }
.icb .icb-step-tasks li::marker { color: var(--icb-blue); }
.icb .icb-seller-preparation { width: 100%; max-width: 1440px; margin: 0 auto; padding: 0 var(--icb-gutter) clamp(32px, 4.5vw, 64px); }
.icb .icb-seller-preparation > header { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 16px 40px; margin-bottom: 22px; }
.icb .icb-seller-preparation h2 { max-width: 25ch; margin: 0; color: var(--icb-blue); font-size: clamp(1.7rem, 2.6vw, 2.5rem); }
.icb .icb-seller-preparation > header p { max-width: 58ch; margin: 0; color: var(--icb-muted); font-size: .92rem; }
.icb .icb-seller-preparation-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; align-items: start; }
.icb .icb-seller-preparation details { min-width: 0; border: 1px solid #c5d4dc; background: #f8fafb; }
.icb .icb-seller-preparation summary { min-height: 58px; padding: 17px 18px; color: var(--icb-blue); cursor: pointer; font-size: 1rem; line-height: 1.4; font-weight: 700; overflow-wrap: anywhere; }
.icb .icb-seller-preparation summary::marker { color: var(--icb-blue); }
.icb .icb-seller-preparation details[open] { border-top: 3px solid var(--icb-yellow); }
.icb .icb-seller-preparation details[open] summary { min-height: 56px; padding-top: 15px; }
.icb .icb-seller-preparation details > p,
.icb .icb-seller-preparation details > ul { margin: 0; padding: 0 18px 20px; color: var(--icb-muted); font-size: .88rem; line-height: 1.55; }
.icb .icb-seller-preparation details > ul { padding-left: 36px; }
.icb .icb-seller-preparation details li + li { margin-top: 8px; }

@media (max-width: 1050px) {
  .icb .icb-search-primary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .icb .icb-search-primary > button { align-self: end; }
  .icb .icb-explorer[data-icb-view="list"] .icb-place-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 850px) {
  .icb .icb-search-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .icb .icb-seller-preparation-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
}
@media (max-width: 620px) {
  .icb .icb-search { padding: 18px 14px; margin-bottom: 20px; }
  .icb .icb-search-primary { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .icb .icb-search-fields { gap: 16px 10px; }
  .icb .icb-search-primary > button { width: 100%; }
  .icb .icb-search-actions { flex-direction: column; align-items: stretch; }
  .icb .icb-search [data-icb-search-brief] { margin-left: 0; }
  .icb .icb-search-scope { font-size: .73rem; }
  .icb .icb-views button { flex: 1 1 0; }
  .icb .icb-explorer[data-icb-view="list"] .icb-place-strip { gap: 10px; }
  .icb .icb-explorer[data-icb-view="list"] .icb-place-strip button { min-height: 110px; padding: 16px 14px; }
  .icb .icb-explorer[data-icb-view="list"] .icb-place-strip strong { font-size: .96rem; }
  .icb .icb-explorer[data-icb-view="list"] .icb-place-detail { display: flex; }
  .icb .icb-explorer[data-icb-view="list"] .icb-place-detail figure img { height: 210px; }
  .icb .icb-explorer[data-icb-view="list"] .icb-place-detail figure { background: var(--icb-deep); }
  .icb .icb-explorer[data-icb-view="list"] .icb-place-detail figcaption { color: #d9e6ed; }
  .icb .icb-seller-preparation > header { gap: 12px; margin-bottom: 18px; }
  .icb .icb-step-tasks { font-size: .88rem; }
}
@media (max-width: 420px) {
  .icb .icb-search-fields,
  .icb .icb-explorer[data-icb-view="list"] .icb-place-strip { grid-template-columns: minmax(0, 1fr); }
}

/* Comparable property cards; the map remains an alternative view. */
.icb .icb-place-strip .icb-result{flex:0 0 auto;display:flex;flex-direction:column;min-width:0;width:clamp(190px,20vw,260px);border:1px solid var(--icb-line);background:#fff;scroll-snap-align:start}
.icb .icb-place-strip .icb-result.is-selected{border-color:#08476c;box-shadow:inset 0 -3px #fbc100}
.icb .icb-place-strip .icb-result>button{width:100%;min-width:0;min-height:100px;padding:16px;border:0;flex:1;background:transparent;color:#08476c}
.icb .icb-place-strip .icb-result>button small{color:#506b7b;font-size:13px}
.icb .icb-result-image,.icb .icb-result-caption{display:none}
.icb .icb-place-strip .icb-result-facts{font-size:14px;line-height:1.5;color:#496475}
.icb .icb-place-strip .icb-result-price{font-size:16px;line-height:1.5;font-weight:600;color:#08476c}
.icb .icb-place-strip .icb-result-link{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;padding:10px 16px;color:#08476c;font-size:14px;text-underline-offset:4px;border-top:1px solid #e1e5e1}
.icb .icb-explorer[data-icb-view="list"] .icb-result{width:auto;height:100%}
.icb .icb-explorer[data-icb-view="list"] .icb-result-image{display:block;aspect-ratio:16/10;background:#e7e8e2;overflow:hidden}
.icb .icb-result-image img{display:block;width:100%;height:100%;object-fit:cover}
.icb .icb-explorer[data-icb-view="list"] .icb-result-caption{display:block;margin:0;padding:10px 16px 0;color:#526b79;font-size:12px;line-height:1.5}
.icb .icb-explorer[data-icb-view="list"] .icb-result>button{padding:14px 16px;gap:9px}
.icb .icb-result :is(button,a):focus-visible{outline:3px solid #08476c;outline-offset:-3px}

.icb .icb-place-strip .icb-result-summary{display:flex;flex-direction:column;min-height:100%;color:#08476c;text-decoration:none}
.icb .icb-result-summary .icb-result-body{display:grid;gap:9px;padding:16px;flex:1}
.icb .icb-place-strip .icb-result-body strong{font-size:18px;line-height:1.35;font-weight:600}
.icb .icb-place-strip .icb-result-body>span{font-size:14px;line-height:1.5}
.icb .icb-place-strip .icb-result-body small{font-size:13px;line-height:1.45}
.icb .icb-place-strip .icb-result-body .icb-result-price{font-size:17px;line-height:1.5;font-weight:600}
.icb .icb-result-summary:hover .icb-result-link{text-decoration:underline;text-underline-offset:4px}
.icb .icb-result-summary:focus-visible{outline:3px solid #08476c;outline-offset:-3px}
