:root {
  --pbui-bg: #081321;
  --pbui-panel: #0f2035;
  --pbui-panel-2: #122842;
  --pbui-border: rgba(147, 197, 253, .18);
  --pbui-text: #eef6ff;
  --pbui-muted: #98acc6;
  --pbui-soft: #d9e9fb;
  --pbui-accent: #38bdf8;
  --pbui-floor: #f59e0b;
  --pbui-baseline: #38bdf8;
  --pbui-ceiling: #22c55e;
}

.pbui-shell { width:100%; max-width:1180px; margin-left:auto; margin-right:auto; color: var(--pbui-text); font-family: inherit; }
.pbui-shell *, .pbui-shell *::before, .pbui-shell *::after { box-sizing: border-box; }
.pbui-shell h1, .pbui-shell h2, .pbui-shell h3, .pbui-shell p { margin-top: 0; }
.pbui-shell h1 { margin-bottom: .35rem; font-size: clamp(2rem, 4vw, 3.3rem); line-height: .98; letter-spacing: -.045em; color: #fff; }
.pbui-shell h2 { margin-bottom: 0; font-size: clamp(1.2rem, 2vw, 1.55rem); letter-spacing: -.025em; color: #f8fbff; }
.pbui-shell a { color: inherit; }
.pbui-eyebrow { margin-bottom: .38rem; color: #8fb9e8; font-size: .68rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.pbui-muted { color: var(--pbui-muted); }
.pbui-updated { margin-top: .75rem; color: #6f89a7; font-size: .72rem; font-weight: 700; }
.pbui-source { margin-top: .85rem; color: #738aa7; font-size: .72rem; }
.pbui-source a { color: #9edcff; text-decoration: none; }
.pbui-source a:hover { text-decoration: underline; }
.pbui-notice { padding: 1rem 1.1rem; border: 1px solid var(--pbui-border); border-radius: 12px; background: #0d1e33; color: var(--pbui-soft); }

.pbui-hero { display: grid; grid-template-columns: minmax(0,1fr) 170px; gap: 1.15rem; align-items: stretch; margin: 0 0 1rem; }
.pbui-hero__content, .pbui-hero__photo { border: 1px solid var(--pbui-border); border-radius: 18px; background: linear-gradient(180deg, rgba(18,40,66,.96), rgba(8,23,42,.96)); }
.pbui-hero__content { display: flex; min-height: 190px; flex-direction: column; justify-content: center; padding: 1.45rem 1.5rem; }
.pbui-hero__meta { color: #a7bad1; font-size: .9rem; font-weight: 750; }
.pbui-hero__photo { display: grid; place-items: center; overflow: hidden; min-height: 190px; }
.pbui-hero__photo img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 16%; }
.pbui-hero__photo span { font-size: 3rem; font-weight: 950; color: #bfe6ff; }

.pbui-primary-metrics { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .7rem; margin-bottom: 1rem; }
.pbui-metric { min-height: 90px; padding: .9rem 1rem; border: 1px solid var(--pbui-border); border-radius: 14px; background: rgba(12,30,52,.76); }
.pbui-metric span { display: block; color: #8fa5c0; font-size: .64rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.pbui-metric strong { display: block; margin-top: .24rem; color: #f8fbff; font-size: 1.6rem; line-height: 1; letter-spacing: -.035em; }
.pbui-metric small { display: block; margin-top: .35rem; color: #7f9bbd; font-size: .7rem; font-weight: 700; }
.pbui-metric--baseline { border-color: rgba(56,189,248,.38); box-shadow: inset 0 0 0 1px rgba(56,189,248,.06); }
.pbui-metric--baseline strong { color: #dff7ff; }

.pbui-panel { margin: 0 0 1rem; padding: 1.15rem 1.2rem; border: 1px solid var(--pbui-border); border-radius: 17px; background: linear-gradient(180deg, rgba(15,32,53,.92), rgba(8,23,42,.92)); }
.pbui-section-head { display: flex; justify-content: space-between; gap: 1rem; align-items: flex-end; margin-bottom: .8rem; }
.pbui-outcome__summary { text-align: right; }
.pbui-outcome__summary strong { display: block; color: #fff; font-size: 2rem; line-height: .95; letter-spacing: -.04em; }
.pbui-outcome__summary span, .pbui-outcome__meta { color: #8fa5c0; font-size: .74rem; font-weight: 750; }
.pbui-outcome__meta { margin-bottom: .25rem; }

.pbui-range { position: relative; height: 49px; margin: .3rem .5rem 0; }
.pbui-range__track { position: absolute; top: 29px; left: 0; right: 0; height: 7px; border: 1px solid rgba(148,163,184,.16); border-radius: 999px; background: #1b2e45; }
.pbui-range__active { position: absolute; top: 29px; height: 7px; border-radius: 999px; background: linear-gradient(90deg, var(--pbui-floor), var(--pbui-baseline) 52%, var(--pbui-ceiling)); box-shadow: 0 0 14px rgba(56,189,248,.12); }
.pbui-range__marker { position: absolute; z-index: 2; top: 22px; width: 19px; height: 19px; transform: translateX(-50%); border: 3px solid #081321; border-radius: 50%; box-shadow: 0 0 0 1px rgba(255,255,255,.18); }
.pbui-range__marker--floor { top: 25px; width: 13px; height: 13px; background: var(--pbui-floor); }
.pbui-range__marker--baseline { top: 19px; width: 27px; height: 27px; background: var(--pbui-baseline); box-shadow: 0 0 0 3px rgba(56,189,248,.15), 0 0 18px rgba(56,189,248,.21); }
.pbui-range__marker--ceiling { top: 25px; width: 13px; height: 13px; background: var(--pbui-ceiling); }
.pbui-range__tick { position: absolute; top: 0; transform: translateX(-50%); color: #617b99; font-size: .62rem; font-weight: 800; }
.pbui-range__notch { position: absolute; top: 25px; width: 1px; height: 16px; transform: translateX(-50%); background: rgba(148,163,184,.22); }
.pbui-range-legend { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: .5rem; margin: .05rem .5rem .1rem; color: #7f96b2; font-size: .66rem; font-weight: 850; }
.pbui-range-legend span:nth-child(2) { text-align: center; }
.pbui-range-legend span:nth-child(3) { text-align: right; }
.pbui-range-legend b { display: block; color: #eef8ff; font-size: .9rem; line-height: 1.1; }
.pbui-range-legend__baseline b { color: #dff7ff; font-size: 1.02rem; }
.pbui-range--compact { height: 31px; margin: .55rem 0 .2rem; }
.pbui-range--compact .pbui-range__track, .pbui-range--compact .pbui-range__active { top: 12px; height: 5px; }
.pbui-range--compact .pbui-range__marker { top: 7px; width: 15px; height: 15px; border-width: 2px; }
.pbui-range--compact .pbui-range__marker--floor, .pbui-range--compact .pbui-range__marker--ceiling { top: 9px; width: 11px; height: 11px; }
.pbui-range--compact .pbui-range__marker--baseline { top: 5px; width: 19px; height: 19px; }

.pbui-tools__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .85rem 1.3rem; }
.pbui-tool__head { display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin-bottom: .35rem; color: #95abc5; font-size: .7rem; font-weight: 900; letter-spacing: .075em; text-transform: uppercase; }
.pbui-tool__head strong { color: #f8fbff; font-size: .95rem; letter-spacing: 0; }
.pbui-tool__track { height: 7px; overflow: hidden; border: 1px solid rgba(147,197,253,.09); border-radius: 999px; background: #162a43; }
.pbui-tool__track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#2563eb,#38bdf8); }

.pbui-analysis { display: grid; grid-template-columns: 1.2fr 1fr; gap: .8rem; margin-bottom: 1rem; }
.pbui-analysis__card { padding: 1rem 1.05rem; border: 1px solid var(--pbui-border); border-radius: 15px; background: rgba(8,23,42,.72); }
.pbui-analysis__card--primary { grid-row: span 2; }
.pbui-analysis__card p { margin: 0; color: #dbeafe; font-size: .9rem; line-height: 1.58; }
.pbui-chip-row { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .75rem; }
.pbui-chip { display: inline-flex; align-items: center; min-height: 25px; padding: .22rem .55rem; border: 1px solid rgba(125,211,252,.18); border-radius: 999px; background: rgba(56,189,248,.08); color: #cfe9ff; font-size: .66rem; font-weight: 850; }

.pbui-model-detail { margin-bottom: 1rem; border: 1px solid var(--pbui-border); border-radius: 14px; background: rgba(8,23,42,.50); }
.pbui-model-detail summary { padding: .85rem 1rem; cursor: pointer; color: #cfe8ff; font-size: .78rem; font-weight: 900; letter-spacing: .03em; }
.pbui-model-detail__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; padding: 0 1rem .8rem; }
.pbui-detail-stat { padding: .65rem .75rem; border-radius: 10px; background: rgba(18,40,66,.7); }
.pbui-detail-stat span { display: block; color: #8299b6; font-size: .61rem; font-weight: 900; letter-spacing: .075em; text-transform: uppercase; }
.pbui-detail-stat strong { display: block; margin-top: .15rem; color: #f8fbff; font-size: 1.1rem; }
.pbui-model-detail__note { padding: 0 1rem 1rem; margin: 0; color: #758ca7; font-size: .72rem; line-height: 1.45; }

.pbui-section-head--discovery { align-items: flex-start; }
.pbui-section-head--discovery p { max-width: 700px; margin: .45rem 0 0; color: #8fa5c0; font-size: .88rem; line-height: 1.5; }
.pbui-discovery__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; }
.pbui-discovery-card { border: 1px solid var(--pbui-border); border-radius: 16px; background: linear-gradient(180deg,rgba(15,32,53,.9),rgba(8,23,42,.92)); overflow: hidden; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.pbui-discovery-card:hover { transform: translateY(-2px); border-color: rgba(56,189,248,.35); box-shadow: 0 14px 32px rgba(2,8,23,.2); }
.pbui-discovery-card__link { display: block; padding: 1rem; text-decoration: none !important; }
.pbui-discovery-card__top { display: flex; justify-content: space-between; gap: .8rem; }
.pbui-discovery-card__rank { margin-bottom: .18rem; color: #7aa9d8; font-size: .64rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.pbui-discovery-card h3 { margin: 0; color: #fff; font-size: 1.08rem; letter-spacing: -.02em; }
.pbui-discovery-card__meta { margin-top: .18rem; color: #7f97b4; font-size: .72rem; font-weight: 750; }
.pbui-discovery-card__score { min-width: 74px; text-align: right; }
.pbui-discovery-card__score strong { display: block; color: #e9f8ff; font-size: 1.65rem; line-height: 1; letter-spacing: -.04em; }
.pbui-discovery-card__score span { color: #6f8aa8; font-size: .59rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.pbui-discovery-card__reason { margin: .7rem 0 0; color: #afc0d5; font-size: .78rem; line-height: 1.48; }
.pbui-discovery-card__cta { margin-top: .8rem; color: #a9ddff; font-size: .72rem; font-weight: 900; }

@media (max-width: 760px) {
  .pbui-hero { grid-template-columns: 1fr; }
  .pbui-hero__photo { min-height: 150px; max-height: 220px; }
  .pbui-primary-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pbui-tools__grid, .pbui-analysis, .pbui-discovery__grid { grid-template-columns: 1fr; }
  .pbui-analysis__card--primary { grid-row: auto; }
  .pbui-model-detail__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pbui-section-head { align-items: flex-start; flex-direction: column; }
  .pbui-outcome__summary { text-align: left; }
  .pbui-range { margin-left: .15rem; margin-right: .15rem; }
}

/* Integrated theme compatibility layer, v2.0.1 */
/*
 * Prospect Baseline theme-layer adjustments.
 * Safe to paste into a child theme stylesheet or Appearance > Customize > Additional CSS.
 * The component styling itself lives in the Prospect Baseline Core UI plugin.
 */

/* Give PB application-like modules enough horizontal room without changing article widths. */
.pbui-shell {
  width: min(1180px, calc(100% - 28px));
  margin-inline: auto;
}

/* Keep page-builder wrappers from crushing the profile/discovery components. */
.entry-content > .pbui-shell,
.wp-block-post-content > .pbui-shell {
  max-width: 1180px;
}

/* Reduce visual competition from generic page-title spacing on pages built around a PB module. */
.pb-page-shell .entry-header {
  margin-bottom: 1rem;
}

/* Optional wrapper for a WordPress page/group block containing a PB shortcode. */
.pb-page-shell {
  padding-block: clamp(12px, 2vw, 28px) 36px;
}

