/* Search geometry follows surface 06; shared navigation and footers stay inherited. */
.bm-search-results { --search-muted: #687078; --search-accent: #cf3912; display: block; color: #0b151d; background: radial-gradient(ellipse at 72% 5%, #f4e7df70, transparent 36%), #f5f0ea; padding-bottom: 19px; }
.bm-search-results *, .bm-search-results *::before, .bm-search-results *::after { box-sizing: border-box; }
.bm-search-results :is(h1,h2,h3,p) { margin: 0; }
.bm-search-results a { text-decoration: none; }
.bm-search-results :is(a,button,input):focus-visible { outline: 2px solid #0b151d; outline-offset: 4px; }
.bm-search-results ::selection { color: #0b151d; background: #ffd8c7; }
.bm-search-results [hidden] { display: none !important; }
.search-hero { position: relative; height: 180px; max-width: 1536px; margin-inline: auto; padding: 49px 55px 0; }
.search-eyebrow { color: #626a72; font: 500 13px/1.4 "IBM Plex Mono", monospace; letter-spacing: .16em; }
.search-hero h1 { margin-top: 14px; font-size: 56px; font-weight: 700; line-height: 1.12; letter-spacing: -.04em; text-wrap: balance; }
.search-hero-art { position: absolute; top: 5px; right: 42px; width: 524px; height: 175px; pointer-events: none; }
.search-hero-art > img { position: absolute; width: 270px; height: 180px; left: 0; top: 0; }
.search-hero-connector { position: absolute; left: 215px; top: 66px; width: 190px; height: 8px; color: #ff5125; }
.search-hero-art > p { position: absolute; left: 420px; top: 62px; color: #737980; font: 500 11px/1.5 "IBM Plex Mono", monospace; letter-spacing: .04em; white-space: nowrap; }
.search-panel { display: flex; align-items: center; gap: 20px; width: min(1426px, calc(100% - 110px)); min-height: 100px; margin-inline: auto; padding: 19px 20px; border: 1px solid #e7e1dd; border-radius: 16px; background: #ffffff8c; }
.search-form { display: flex; align-items: center; gap: 20px; min-width: 0; flex: 1; height: 60px; padding: 5px 12px 5px 27px; border: 1px solid #bfc1c4; border-radius: 40px; background: #ffffff40; }
.search-form > .bm-icon { width: 28px; height: 28px; }
.search-form input[type="search"] { flex: 1; width: 100%; min-width: 0; padding: 4px 0; border: 0; color: #0b151d; background: transparent; font: inherit; font-size: 24px; line-height: 1.3; caret-color: #d23b13; appearance: none; }
.search-form input::-webkit-search-cancel-button { display: none; }
.search-form button { display: grid; place-items: center; flex: 0 0 auto; min-height: 46px; border: 0; cursor: pointer; font: inherit; transition: background 160ms ease, color 160ms ease; -webkit-tap-highlight-color: #ff512522; }
.search-clear { position: relative; width: 54px; color: #0b151d; background: transparent; }
.search-clear::before { position: absolute; top: 7px; bottom: 7px; left: -10px; border-left: 1px solid #c8cace; content: ""; }
.search-clear > .bm-icon { width: 26px; height: 26px; }
.search-clear:hover { color: var(--search-accent); }
.search-clear:active { background: #ffe6d9; }
.search-submit { width: 105px; border-radius: 16px; color: #fff; background: #d83b10; font-size: 14px !important; font-weight: 600 !important; box-shadow: inset 0 0 0 1px #ba320d22; }
.search-submit:hover { background: #bf320c; }
.search-submit:active { background: #a92c09; }
.search-panel-note { flex: 0 0 228px; padding: 7px 0 7px 23px; border-left: 1px solid #d9d7d5; color: var(--search-muted); font-size: 15px; line-height: 1.3; }
.search-layout { display: grid; grid-template-columns: 298px minmax(0,1fr); align-items: start; gap: 29px; width: min(1432px, calc(100% - 104px)); margin: 18px auto 0; }
.search-sidebar { display: flex; flex-direction: column; min-width: 0; min-height: 630px; padding: 13px 10px 39px; border: 1px solid #e7e1dd; border-radius: 13px; background: #ffffff80; }
.search-topics { display: grid; gap: 4px; }
.search-topic { display: grid; grid-template-columns: 32px minmax(0,1fr) 22px; align-items: center; gap: 24px; min-height: 60px; padding: 8px 17px; border: 1px solid transparent; border-radius: 10px; font-size: 16px; line-height: 1.4; transition: background 160ms ease, border-color 160ms ease; }
.search-topic > .bm-icon { width: 32px; height: 32px; }
.search-topic-arrow { display: grid; place-items: center; visibility: hidden; color: #f64b21; }
.search-topic-arrow > .bm-icon { width: 23px; height: 23px; }
.search-topic[aria-current] { border-color: #f64b21; background: #fff5ef80; font-weight: 600; box-shadow: inset 0 0 0 2px #fff; }
.search-topic[aria-current] > .bm-icon { color: #f64b21; }
.search-topic[aria-current] .search-topic-arrow { visibility: visible; }
.search-topic:hover { background: #fff5ed; border-color: #e6c7b8; }
.search-topic:active { background: #ffe9da; }
.search-sidebar-note { margin: auto 10px 0; padding: 26px 10px 0; border-top: 1px solid #d9d6d2; }
.search-sidebar-note > span { position: relative; display: block; width: 90px; height: 1px; background: linear-gradient(to right,#ff5125 28px,#ded9d4 28px); }
.search-sidebar-note > span::before { position: absolute; left: 0; top: -2px; width: 6px; height: 6px; border-radius: 50%; background: #fa4d22; content: ""; }
.search-sidebar-note > p { margin-top: 23px; color: #747b83; font: 500 13px/1.45 "IBM Plex Mono", monospace; letter-spacing: .04em; }
.search-guides { min-width: 0; }
.search-guides-heading { display: flex; align-items: center; gap: 24px; min-height: 54px; padding-bottom: 6px; }
.search-guides-heading h2 { flex: 0 0 auto; color: #5e636a; font-size: 22px; font-weight: 650; line-height: 1.3; letter-spacing: -.01em; }
.search-guides-heading > span { height: 1px; flex: 1; background: #d5d0cc; }
.search-result-list { display: grid; gap: 14px; }
.search-result { display: grid; grid-template-columns: 390px minmax(0,1fr) 50px; align-items: center; gap: 34px; min-height: 181px; padding: 16px 22px 16px 15px; border: 1px solid #e7e1dd; border-radius: 13px; background: #ffffff9c; transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.search-result:first-child { min-height: 187px; }
.search-result:hover { background: #fff; border-color: #d8bcae; box-shadow: 0 5px 14px #5a39200a; }
.search-result:active { background: #fff1e8; }
.search-thumbnail { position: relative; width: 100%; min-width: 0; height: 147px; border-radius: 7px; background: #f6f3ef80; }
.search-thumbnail img { position: absolute; top: 0; width: 100%; height: auto; object-fit: contain; }
.search-thumbnail-topic img { position: static; width: 150px; height: 100%; margin-inline: auto; }
.search-diagram-caption { position: absolute; transform: translateX(-50%); font-size: 13px; line-height: 1.4; white-space: nowrap; }
.search-thumbnail-sip .search-diagram-caption { bottom: 19px; }
.caption-pbx { left: 12%; }
.caption-sip { left: 48%; }
.caption-network { left: 84%; }
.search-thumbnail-pri .search-diagram-caption { top: 5px; font-size: 12px; font-weight: 600; }
.caption-trunk { left: 24%; }
.caption-pri { left: 76%; }
.search-result-copy { min-width: 0; }
.search-result-category { color: var(--search-accent); font: 500 12px/1.4 "IBM Plex Mono", monospace; letter-spacing: .01em; }
.search-result-copy h3 { margin-top: 14px; color: #0b151d; font-size: 26px; font-weight: 600; line-height: 1.25; letter-spacing: -.04em; }
.search-result-copy mark { color: inherit; background: none; font-weight: 700; }
.search-result-excerpt { max-width: 500px; margin-top: 7px !important; color: var(--search-muted); font-size: 17px; line-height: 1.42; letter-spacing: -.014em; }
.search-result-arrow { display: grid; place-items: center; width: 50px; height: 50px; border: 1px solid #e7e0d9; border-radius: 50%; background: #f8f5f180; }
.search-result-arrow > .bm-icon { width: 24px; height: 24px; }
.search-result:hover .search-result-arrow { color: var(--search-accent); border-color: #d9ac96; }
.search-empty { min-height: 182px; padding: 36px; border: 1px solid #e7e1dd; border-radius: 13px; background: #ffffff9c; }
.search-empty > p { font-size: 22px; font-weight: 600; line-height: 1.4; }
.search-empty > a { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; margin-top: 16px; color: var(--search-accent); text-decoration: underline; text-underline-offset: 4px; }
.search-empty > a:hover { color: #9d2c0c; }
.search-empty > a:active { color: #71210a; }
@media (min-width: 921px) and (max-width: 1300px) {
  .search-hero { padding-inline: 32px; }
  .search-hero-art { right: 32px; width: 390px; }
  .search-hero-art > p { left: 280px; }
  .search-hero-connector { left: 215px; width: 55px; }
  .search-panel { width: calc(100% - 64px); }
  .search-panel-note { flex-basis: 180px; padding-left: 18px; font-size: 14px; }
  .search-layout { width: calc(100% - 64px); grid-template-columns: 230px minmax(0,1fr); gap: 24px; }
  .search-topic { gap: 16px; padding-inline: 12px; font-size: 15px; }
  .search-result { grid-template-columns: minmax(0,33%) minmax(0,1fr) 44px; gap: 20px; padding-inline: 14px; min-height: 200px; }
  .search-result:first-child { min-height: 200px; }
  .search-result-copy h3 { font-size: 23px; margin-top: 10px; }
  .search-result-excerpt { font-size: 16px; line-height: 1.45; }
  .search-result-arrow { width: 44px; height: 44px; }
  .search-diagram-caption { font-size: 10px; }
  .search-thumbnail img { top: 50%; transform: translateY(-50%); }
  .search-thumbnail-topic img { transform: none; }
  .search-thumbnail-sip .search-diagram-caption { bottom: 33px; }
  .search-thumbnail-pri .search-diagram-caption { top: 29px; font-size: 10px; }
}
@media (max-width: 920px) {
  .search-hero { height: auto; padding: 32px 20px 28px; }
  .search-hero h1 { margin-top: 14px; font-size: clamp(36px,6vw,48px); text-align: left; }
  .search-hero-art { display: none; }
  .search-panel { width: calc(100% - 40px); min-height: 84px; padding: 12px; }
  .search-form { gap: 12px; padding-left: 16px; padding-right: 6px; height: 58px; }
  .search-form > .bm-icon { width: 24px; height: 24px; }
  .search-form input[type="search"] { font-size: 18px; }
  .search-submit { width: 76px; border-radius: 15px; }
  .search-clear { width: 44px; }
  .search-clear::before { left: -5px; }
  .search-panel-note { display: none; }
  .search-layout { display: block; width: calc(100% - 40px); margin-top: 20px; }
  .search-sidebar { min-height: 0; padding: 8px; border-radius: 13px; }
  .search-topics { display: flex; gap: 8px; padding: 4px; overflow-x: auto; scroll-snap-type: x proximity; scroll-padding-inline: 4px; scrollbar-width: thin; scrollbar-color: #c5ada0 transparent; }
  .search-topic { display: flex; flex: 0 0 auto; gap: 10px; min-height: 48px; padding: 8px 12px; font-size: 14px; white-space: nowrap; scroll-snap-align: start; }
  .search-topic > .bm-icon { width: 25px; height: 25px; }
  .search-topic-arrow, .search-sidebar-note { display: none; }
  .search-guides-heading { min-height: 66px; padding-bottom: 0; gap: 16px; }
  .search-guides-heading h2 { font-size: 21px; }
  .search-result { grid-template-columns: minmax(0,1fr) 44px; gap: 14px; min-height: 0; padding: 14px 16px 20px; border-radius: 13px; }
  .search-result:first-child { min-height: 0; }
  .search-thumbnail { grid-column: 1 / -1; height: auto; aspect-ratio: 26/11; }
  .search-thumbnail img { position: absolute; inset: 0; height: 100%; }
  .search-thumbnail-topic img { width: 44%; left: 28%; }
  .search-thumbnail-sip .search-diagram-caption { bottom: 13%; }
  .search-result-copy h3 { margin-top: 10px; font-size: 24px; line-height: 1.3; letter-spacing: -.035em; }
  .search-result-excerpt { font-size: 16px; line-height: 1.5; margin-top: 10px !important; }
  .search-result-arrow { width: 44px; height: 44px; align-self: start; margin-top: 30px; }
  .search-empty { padding: 24px; }
}
@media (max-width: 480px) {
  .search-eyebrow { font-size: 12px; }
  .search-form { gap: 8px; padding-left: 12px; }
  .search-form input[type="search"] { font-size: 16px; }
  .search-form > .bm-icon { width: 22px; height: 22px; }
  .search-submit { width: 58px; }
  .search-clear::before { display: none; }
  .search-result { column-gap: 12px; padding-inline: 14px; }
  .search-result-copy h3 { font-size: 22px; }
  .search-diagram-caption { font-size: 11px; }
  .search-thumbnail-pri .search-diagram-caption { font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .bm-search-results * { transition: none !important; scroll-behavior: auto !important; }
}
