/* Obrania PCI — editorial layer. Loaded after pci.css; no font dependencies. */
body.obr-pci-section {
  background: #f4f6f5;
  color: #203d4d;
  padding: 0;
  border: 0;
}

body.obr-pci-section .site-header { background: #fff; border-bottom: 1px solid #e1e8e9; }
body.obr-pci-section .inside-header { padding-top: 20px; padding-bottom: 20px; }
body.obr-pci-section .main-navigation,
body.obr-pci-section .main-navigation ul ul { background: #102f46; }
body.obr-pci-section .main-navigation .main-nav ul li a,
body.obr-pci-section .menu-toggle { color: #fff; }
body.obr-pci-section .main-navigation .main-nav ul li:hover > a,
body.obr-pci-section .main-navigation .main-nav ul li[class*="current-menu-"] > a {
  background: #20455c;
  color: #f2cf9d;
}
body.obr-pci-section .site-info { background: #102f46; color: #e4ecef; line-height: 1.9; }
body.obr-pci-section .site-info a { color: #f2cf9d; }
body.obr-pci-section .inside-article { padding: 42px 40px; background: #fff; }
body.obr-pci-section .entry-header { margin-bottom: 24px; }
body.obr-pci-section .entry-title {
  color: #102f46;
  font-size: clamp(1.85rem, 3.4vw, 2.8rem);
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.18;
  overflow-wrap: anywhere;
}

.obr-pci {
  --pci-ink: #102f46;
  --pci-muted: #526672;
  --pci-line: #dce4e5;
  --pci-accent: #e6b778;
  --pci-soft: #f4f6f5;
  --pci-copper: #946321;
  --pci-radius: 10px;
  min-width: 0;
}
.obr-pci :is(h2, h3, h4) { color: var(--pci-ink); }
.obr-pci h2 { margin-top: 0; }
.obr-pci h3 { margin-top: 0; }
.obr-pci :is(p, li, dd) { overflow-wrap: anywhere; }
.obr-pci :is(section, header, aside, article, figure, div) { min-width: 0; }
.obr-pci :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #b6803b;
  outline-offset: 4px;
}
.obr-pci a { color: #215c78; text-decoration-color: #95b0bd; }
.obr-pci a:hover { color: #102f46; text-decoration-color: #b6803b; }
.obr-pci .obr-pci-kicker { color: #5b6d78; font-size: .73rem; line-height: 1.6; }
.obr-pci .obr-pci-lead { color: #526672; line-height: 1.75; }
.obr-pci .obr-pci-small { font-size: .86rem; line-height: 1.65; }
.obr-pci .obr-pci-nav {
  align-items: center;
  gap: 6px 24px;
  padding-bottom: 14px;
  margin-bottom: 34px;
  line-height: 1.5;
}
.obr-pci .obr-pci-nav a { display: inline-flex; align-items: center; min-height: 48px; }
.obr-pci .obr-pci-nav [aria-current="page"] { text-underline-offset: 7px; }

/* Stock photography accompanies the guide without replacing useful text. */
.obr-pci .obr-pci-hero {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: clamp(24px, 4vw, 52px);
  align-items: center;
  padding: 8px 0 44px;
}
.obr-pci .obr-pci-hero h2 {
  font-size: clamp(1.85rem, 2.9vw, 2.55rem);
  line-height: 1.13;
  letter-spacing: -.045em;
  margin: 0 0 22px;
}
.obr-pci .obr-pci-hero-main { display: grid; gap: 24px; }
.obr-pci .obr-pci-hero-main > :last-child { margin-bottom: 0; }
.obr-pci .obr-pci-hero-art,
.obr-pci .obr-pci-guide-art {
  display: block;
  margin: 0;
  overflow: hidden;
  border: 1px solid #e1e5e2;
  border-radius: var(--pci-radius);
  background: #f5f2eb;
}
.obr-pci .obr-pci-hero-art img,
.obr-pci .obr-pci-guide-art img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  margin: 0;
}
.obr-pci .obr-pci-hero-art img { aspect-ratio: 3 / 2; }
.obr-pci .obr-pci-hero-main .obr-pci-hero-art img { aspect-ratio: 3 / 2; }
.obr-pci .obr-pci-guide-art { margin: 28px 0 34px; max-width: 760px; }
.obr-pci .obr-pci-guide-art img { aspect-ratio: 3 / 2; }
.obr-pci .obr-pci-hero-art figcaption,
.obr-pci .obr-pci-guide-art figcaption {
  margin: 0;
  padding: 10px 15px;
  background: #faf9f6;
  color: #5a6870;
  font-size: .75rem;
  font-style: normal;
  line-height: 1.6;
  text-align: left;
}
.obr-pci .obr-pci-route-card { border-radius: var(--pci-radius); padding: 28px; }
.obr-pci .obr-pci-route-card > h3 { margin-top: 0; }
.obr-pci .obr-pci-route-card > p:last-child { margin-bottom: 0; }
.obr-pci .obr-pci-route-card a:not(.obr-pci-button) { color: #fff; text-decoration-color: #8aa2b0; }
.obr-pci .obr-pci-route-card a:not(.obr-pci-button):hover { color: #f2cf9d; }
.obr-pci .obr-pci-hero-link { padding: 16px 0; min-height: 48px; }
.obr-pci .obr-pci-route-card .obr-pci-number { color: #e6b778; }

/* Strong hierarchy, with enough room for a full label at narrow widths. */
.obr-pci .obr-pci-button {
  min-height: 48px;
  gap: 10px;
  border-radius: 7px;
  padding: 12px 19px;
  white-space: normal;
  overflow-wrap: anywhere;
  text-decoration: none;
  box-shadow: none;
}
.obr-pci .obr-pci-button:hover { background: #204b63; border-color: #204b63; }
.obr-pci .obr-pci-secondary { background: #fff; border-color: #b5c5cd; color: #102f46; }
.obr-pci .obr-pci-secondary:hover { background: #f0f4f4; color: #102f46; border-color: #7893a1; }
.obr-pci .obr-pci-context-clear { min-height: 48px; }
.obr-pci .obr-pci-icon {
  display: inline-block;
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  color: currentColor;
  vertical-align: -.25em;
}
.obr-pci .obr-pci-card > .obr-pci-icon { width: 28px; height: 28px; color: #946321; }
.obr-pci .obr-pci-section { padding: 36px 0; }
.obr-pci .obr-pci-section > h2 { max-width: 29em; }
.obr-pci .obr-pci-section > p { max-width: 78ch; }
.obr-pci .obr-pci-cards { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 18px; }
.obr-pci .obr-pci-card { padding: 26px 23px; border-radius: var(--pci-radius); }
.obr-pci .obr-pci-card h3 { margin: 16px 0 13px; line-height: 1.3; }
.obr-pci .obr-pci-card p { line-height: 1.7; }
.obr-pci .obr-pci-card:hover { border-color: #7a96a4; box-shadow: 0 4px 16px #102f4608; }
.obr-pci .obr-pci-link { display: inline-flex; align-items: center; min-height: 48px; padding: 12px 0; }
.obr-pci .obr-pci-split { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
.obr-pci .obr-pci-note { background: #f6f5f0; border-left-color: #b6803b; padding: 22px; }
.obr-pci .obr-pci-sidebar { background: #f4f6f5; border: 1px solid #e2e8e7; padding: 25px; }
.obr-pci .obr-pci-sidebar .obr-pci-button { width: 100%; }
.obr-pci .obr-pci-sidebar hr { border-top: 1px solid var(--pci-line); }
.obr-pci .obr-pci-dir-intro { max-width: 880px; }
.obr-pci .obr-pci-intro { max-width: 820px; }
.obr-pci .obr-pci-intro h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); }
.obr-pci .obr-pci-dir-guide-layout { grid-template-columns: minmax(0, 2.2fr) minmax(240px, .9fr); gap: 34px; }
.obr-pci .obr-pci-dir-guide-layout .obr-pci-section h2 { line-height: 1.3; }
.obr-pci .obr-pci-dir-guide-layout .obr-pci-section h3 { margin-top: 24px; }
.obr-pci footer.obr-pci-section { color: #5b6b75; padding-top: 26px; padding-bottom: 8px; }

/* Company cards stay compact without truncating contact or scope information. */
.obr-pci .obr-pci-dir-cards {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  align-items: stretch;
  gap: 18px;
}
.obr-pci .obr-pci-dir-card {
  min-width: 0;
  padding: 23px 21px;
  border-radius: var(--pci-radius);
  border-top: 3px solid #426a81;
  background: #fff;
}
.obr-pci .obr-pci-dir-card-passive { border-top-color: #b6803b; background: #fcfaf6; }
.obr-pci .obr-pci-dir-card .obr-pci-kicker { font-size: .68rem; margin-bottom: 10px; }
.obr-pci .obr-pci-dir-card h3 { font-size: 1.23rem; line-height: 1.3; margin: 0 0 14px; }
.obr-pci .obr-pci-dir-card h3 a { text-decoration: none; }
.obr-pci .obr-pci-dir-card h3 a:hover { text-decoration: underline; }
.obr-pci .obr-pci-dir-card > p { font-size: .89rem; line-height: 1.65; margin-bottom: 13px; }
.obr-pci .obr-pci-dir-card .obr-pci-small { font-size: .81rem; color: #526672; }
.obr-pci .obr-pci-dir-card .obr-pci-actions { margin: 8px 0 14px; gap: 8px; }
.obr-pci .obr-pci-dir-card > .obr-pci-actions:has(.obr-pci-button) {
  margin-top: auto;
  padding-top: 8px;
  align-items: stretch;
}
.obr-pci .obr-pci-dir-card .obr-pci-button { min-height: 48px; padding: 11px 12px; font-size: .83rem; gap: 8px; }
.obr-pci .obr-pci-dir-card .obr-pci-button:has(.obr-pci-dir-phone) { flex-wrap: wrap; width: 100%; }
.obr-pci .obr-pci-dir-card .obr-pci-dir-phone { font-size: 1.05rem !important; line-height: 1.4; margin: 0 !important; }
.obr-pci .obr-pci-dir-status {
  border-left: 2px solid #bdccd1;
  color: #536672;
  font-size: .77rem !important;
  line-height: 1.6;
  padding-left: 10px;
  margin: 4px 0 15px !important;
}
.obr-pci .obr-pci-dir-card-passive .obr-pci-dir-status { border-left-color: #c7ac83; }
.obr-pci .obr-pci-dir-detail-link { font-size: .8rem; line-height: 1.6; padding: 4px 0; }
.obr-pci .obr-pci-specialty,
.obr-pci .obr-pci-dir-card .obr-pci-tag {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 5px 9px;
  border: 1px solid #d4e0e4;
  border-radius: 4px;
  background: #f1f6f6;
  color: #355767;
  font-size: .68rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .02em;
  text-transform: none;
}
.obr-pci .obr-pci-specialty--passive,
.obr-pci .obr-pci-dir-card-passive .obr-pci-tag { border-color: #e3d6c4; background: #f7f0e5; color: #785622; }
.obr-pci .obr-pci-dir-services { gap: 8px; }
.obr-pci .obr-pci-dir-services li { font-size: .83rem; padding: 8px 11px; line-height: 1.5; }
.obr-pci .obr-pci-dir-cta { padding: 28px; background: #f1f5f5; border-radius: var(--pci-radius); }
.obr-pci .obr-pci-dir-cta p { max-width: 75ch; }
.obr-pci .obr-pci-dir-contact { border-radius: var(--pci-radius); }
.obr-pci .obr-pci-dir-map { overflow: hidden; }
.obr-pci .obr-pci-dir-map iframe { min-width: 0; max-width: 100%; }

/* Examples remain real text; comparison tables wrap instead of forcing a wide page. */
.obr-pci .obr-pci-example-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
  gap: 16px;
  margin: 24px 0;
}
.obr-pci .obr-pci-example {
  padding: 22px;
  background: #f6f7f4;
  border: 1px solid #e0e6e2;
  border-radius: 8px;
}
.obr-pci .obr-pci-example h3 { font-size: 1.03rem; margin: 0 0 12px; line-height: 1.4; }
.obr-pci .obr-pci-example p { font-size: .91rem; line-height: 1.7; }
.obr-pci .obr-pci-example > :last-child { margin-bottom: 0; }
.obr-pci .obr-pci-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--pci-line);
  border-radius: 8px;
  margin: 24px 0;
  overscroll-behavior-x: contain;
}
.obr-pci table.obr-pci-compare {
  display: table;
  width: 100%;
  min-width: 0;
  border: 0;
  border-collapse: collapse;
  margin: 0;
  table-layout: fixed;
  font-size: .87rem;
  white-space: normal;
  overflow: visible;
}
.obr-pci .obr-pci-compare caption { padding: 14px 16px; color: #526672; text-align: left; line-height: 1.6; }
.obr-pci .obr-pci-compare :is(th, td) {
  padding: 15px 16px;
  border: 0;
  border-bottom: 1px solid var(--pci-line);
  text-align: left;
  vertical-align: top;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.65;
}
.obr-pci .obr-pci-compare thead th { background: #102f46; color: #fff; font-weight: 700; }
.obr-pci .obr-pci-compare tbody th { color: #102f46; font-weight: 700; }
.obr-pci .obr-pci-compare tbody tr:nth-child(even) { background: #f6f8f6; }
.obr-pci .obr-pci-compare tbody tr:last-child > * { border-bottom: 0; }
.obr-pci .obr-pci-compare p:last-child { margin-bottom: 0; }

/* Touch targets include quantity controls and the optional checklist. */
.obr-pci .obr-pci-quantity { grid-template-columns: 48px 56px 48px; gap: 4px; }
.obr-pci .obr-pci-quantity :is(input, button) { min-height: 48px; }
.obr-pci .obr-pci-quantity .obr-pci-unknown { min-height: 48px; }
.obr-pci .obr-pci-checklist :is(input:not([type="checkbox"]), select, textarea),
.obr-pci .obr-pci-checklist-actions button { min-height: 48px; }
.obr-pci .obr-pci-form-panel { border-radius: var(--pci-radius); }
.obr-pci .obr-pci-mail-summary { font-size: 16px; }

@media (max-width: 950px) {
  .obr-pci .obr-pci-dir-guide-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .obr-pci .obr-pci-dir-guide-layout > .obr-pci-sidebar { position: static; }
  .obr-pci .obr-pci-hero { gap: 28px; }
}
@media (max-width: 700px) {
  body.obr-pci-section .inside-header { padding-top: 14px; padding-bottom: 14px; }
  body.obr-pci-section .inside-article { padding: 28px 20px; }
  body.obr-pci-section .entry-header { margin-bottom: 18px; }
  body.obr-pci-section .entry-title { font-size: clamp(1.65rem, 6vw, 2.1rem); }
  .obr-pci .obr-pci-nav { gap: 0 16px; font-size: .77rem; margin-bottom: 24px; padding-bottom: 12px; }
  .obr-pci .obr-pci-hero { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 0 0 32px; }
  .obr-pci .obr-pci-hero h2 { font-size: clamp(1.7rem, 6.6vw, 2rem); }
  .obr-pci .obr-pci-hero-art { max-width: 580px; }
  .obr-pci .obr-pci-hero-art img { aspect-ratio: 3 / 2; }
  .obr-pci .obr-pci-guide-art img { aspect-ratio: 3 / 2; }
  .obr-pci .obr-pci-section { padding: 29px 0; }
  .obr-pci .obr-pci-split { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .obr-pci .obr-pci-card { padding: 24px 21px; }
  .obr-pci .obr-pci-dir-card { padding: 23px 20px; }
  .obr-pci .obr-pci-dir-card .obr-pci-button { font-size: .85rem; }
  .obr-pci .obr-pci-dir-cta { padding: 23px 20px; }
  .obr-pci .obr-pci-table-wrap { border-radius: 6px; }
  .obr-pci .obr-pci-compare :is(th, td) { padding: 11px 9px; font-size: .8rem; }
  .obr-pci .obr-pci-dir-mobile-cta { padding: 10px 16px max(10px, env(safe-area-inset-bottom)); }
  .obr-pci.obr-pci-directory { padding-bottom: max(84px, calc(74px + env(safe-area-inset-bottom))); }
  .obr-pci .obr-pci-equipment { flex-direction: column; align-items: flex-start; gap: 12px; }
  .obr-pci .obr-pci-quantity { align-self: flex-end; grid-template-columns: 48px 56px 48px; }
}
@media (max-width: 380px) {
  body.obr-pci-section .inside-article { padding: 24px 16px; }
  .obr-pci .obr-pci-nav { column-gap: 14px; font-size: .74rem; }
  .obr-pci .obr-pci-actions > .obr-pci-button { width: 100%; }
  .obr-pci .obr-pci-route-card { padding: 24px 20px; }
  .obr-pci .obr-pci-dir-card { padding: 22px 18px; }
  .obr-pci .obr-pci-compare :is(th, td) { padding: 10px 7px; font-size: .77rem; }
  .obr-pci .obr-pci-form-panel { padding: 22px 16px; }
}
@media print {
  .obr-pci .obr-pci-dir-mobile-cta { display: none; }
  .obr-pci .obr-pci-dir-guide-layout { display: block; }
  .obr-pci .obr-pci-hero-art,
  .obr-pci .obr-pci-guide-art,
  .obr-pci .obr-pci-dir-card,
  .obr-pci .obr-pci-example { break-inside: avoid; }
}
