/* ============================================================
   CEVI — Network analytics ("Our Reach" + Where We Serve)
   Loaded after pages.css. All classes are prefixed rx- so nothing
   here can disturb other pages.
   ============================================================ */

:root{
  --rx-lux:#2563EB; --rx-vis:#FF6B00; --rx-min:#16A34A;
  --rx-panel:#16100A; --rx-panel-2:#1F170F; --rx-edge:rgba(255,255,255,0.09);
  --rx-dim:rgba(255,255,255,0.58);
}

.rx-mono{ font-family:var(--font-mono); font-variant-numeric:tabular-nums; }
.rx-num{ font-variant-numeric:tabular-nums; }

/* ---------- animated bars ---------- */
.rx-bar{ height:8px; border-radius:99px; background:rgba(18,13,9,0.08); overflow:hidden; position:relative; }
.rx-bar > i{ display:block; height:100%; width:0; border-radius:99px; background:var(--c, var(--orange-500));
  transition:width 1.1s cubic-bezier(.2,.8,.2,1); }
.rx-dark .rx-bar{ background:rgba(255,255,255,0.09); }
.rx-no-js .rx-bar > i, .rx-bar.is-in > i{ width:var(--w, 0%); }

/* stacked share bar (island groups) */
.rx-stack{ display:flex; height:14px; border-radius:99px; overflow:hidden; background:rgba(18,13,9,0.08); gap:2px; }
.rx-stack > i{ display:block; height:100%; width:0; background:var(--c); transition:width 1.2s cubic-bezier(.2,.8,.2,1); }
.rx-stack.is-in > i{ width:var(--w); }
.rx-dark .rx-stack{ background:rgba(255,255,255,0.08); }

/* ---------- HOMEPAGE: telemetry panel ---------- */
.rx-home-layout{ display:grid; grid-template-columns:380px 1fr; gap:28px; margin-top:44px; align-items:stretch; }

.rx-panel{
  background:linear-gradient(160deg, var(--rx-panel) 0%, #24160B 100%);
  color:#fff; border-radius:18px; padding:26px 26px 24px; position:relative; overflow:hidden;
  box-shadow:var(--shadow-md); display:flex; flex-direction:column; gap:22px;
}
.rx-panel::before{ /* faint grid, techy */
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
  background-image:linear-gradient(var(--rx-edge) 1px, transparent 1px), linear-gradient(90deg, var(--rx-edge) 1px, transparent 1px);
  background-size:28px 28px; mask-image:radial-gradient(circle at 85% 0%, #000 0%, transparent 70%);
  -webkit-mask-image:radial-gradient(circle at 85% 0%, #000 0%, transparent 70%);
}
.rx-panel > *{ position:relative; }

.rx-live{ display:inline-flex; align-items:center; gap:8px; font-family:var(--font-mono); font-size:.68rem;
  letter-spacing:.14em; text-transform:uppercase; color:var(--rx-dim); }
.rx-live::before{ content:""; width:8px; height:8px; border-radius:50%; background:#22C55E; box-shadow:0 0 0 0 rgba(34,197,94,.6); animation:rx-ping 2s infinite; }
@keyframes rx-ping{ 70%{ box-shadow:0 0 0 9px rgba(34,197,94,0); } 100%{ box-shadow:0 0 0 0 rgba(34,197,94,0); } }

.rx-hero-num{ display:flex; align-items:flex-end; gap:14px; }
.rx-hero-num strong{ font-family:var(--font-display); font-size:4.6rem; line-height:.85; font-weight:800; letter-spacing:-.02em; color:#fff; }
.rx-hero-num span{ font-size:.9rem; color:var(--rx-dim); line-height:1.35; padding-bottom:4px; }
.rx-hero-num span b{ color:#fff; font-weight:600; }

.rx-label{ font-family:var(--font-mono); font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; color:var(--rx-dim); margin:0 0 10px; }

.rx-legend{ display:grid; gap:11px; margin-top:12px; }
.rx-legend-row{ display:grid; grid-template-columns:12px 1fr auto auto; align-items:center; gap:10px; font-size:.86rem; }
.rx-legend-row .dot{ width:10px; height:10px; border-radius:3px; background:var(--c); }
.rx-legend-row .nm{ color:#fff; font-weight:600; }
.rx-legend-row .ct{ font-family:var(--font-mono); color:var(--rx-dim); font-size:.78rem; }
.rx-legend-row .pc{ font-family:var(--font-mono); color:#fff; font-weight:600; min-width:52px; text-align:right; }

.rx-kpis{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.rx-kpi{ background:rgba(255,255,255,0.05); border:1px solid var(--rx-edge); border-radius:12px; padding:13px 14px; }
.rx-kpi b{ display:block; font-family:var(--font-display); font-size:1.55rem; font-weight:700; line-height:1.05; color:#fff; }
.rx-kpi b small{ font-family:var(--font-mono); font-size:.62em; font-weight:500; color:var(--orange-500); margin-left:3px; }
.rx-kpi span{ display:block; margin-top:6px; font-size:.72rem; color:var(--rx-dim); line-height:1.35; }

.rx-panel .btn{ justify-content:center; margin-top:auto; }

/* ---------- MAP additions (shared) ---------- */
.rx-map-card{ position:relative; border-radius:18px; overflow:hidden; box-shadow:var(--shadow-md); background:#F2EFE8; }
.rx-map-card .home-ph-map, .rx-map-card .serve-ph-map{ background:#F2EFE8; }
.rx-map-card .leaflet-container{ background:#F2EFE8; }
.rx-map-legend{
  position:absolute; left:14px; bottom:14px; z-index:450; background:rgba(18,13,9,.88); color:#fff;
  border-radius:12px; padding:11px 14px 12px; font-size:.7rem; backdrop-filter:blur(4px); max-width:230px;
}
.rx-map-legend p{ margin:0 0 7px; font-family:var(--font-mono); letter-spacing:.1em; text-transform:uppercase; font-size:.6rem; color:rgba(255,255,255,.65); }
.rx-ramp{ display:flex; align-items:center; gap:8px; font-family:var(--font-mono); }
.rx-ramp i{ flex:1; height:8px; border-radius:99px; background:linear-gradient(90deg, rgba(255,255,255,.25), #FF6B00); }
.rx-map-legend .rx-swatches{ display:flex; gap:10px; margin-top:9px; flex-wrap:wrap; }
.rx-map-legend .rx-swatches span{ display:inline-flex; align-items:center; gap:5px; }
.rx-map-legend .rx-swatches b{ width:9px; height:9px; border-radius:3px; display:inline-block; }

.leaflet-tooltip.rx-tip{
  background:#120D09; color:#fff; border:none; border-radius:10px; box-shadow:0 8px 24px rgba(0,0,0,.3);
  padding:9px 12px; font-family:var(--font-body); font-size:.78rem; line-height:1.4;
}
.leaflet-tooltip.rx-tip::before{ display:none; }
.rx-tip strong{ display:block; font-size:.86rem; }
.rx-tip em{ font-style:normal; color:#FFB27A; font-family:var(--font-mono); font-size:.72rem; }

.rx-hq{ position:relative; width:18px; height:18px; }
.rx-hq b{ position:absolute; inset:4px; border-radius:50%; background:#120D09; border:2px solid #fff; box-shadow:0 0 0 2px #FF6B00; }
.rx-hq::before{ content:""; position:absolute; inset:0; border-radius:50%; background:rgba(255,107,0,.45); animation:rx-pulse 2.2s ease-out infinite; }
@keyframes rx-pulse{ 0%{ transform:scale(.6); opacity:1; } 100%{ transform:scale(2.8); opacity:0; } }

/* modal extras */
.rx-modal-stats{ display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.rx-chip{ font-family:var(--font-mono); font-size:.68rem; background:var(--bone); border:1px solid var(--line); border-radius:99px; padding:5px 10px; color:var(--ink); }
.rx-chip b{ color:var(--orange-600); font-weight:600; }
.rx-modal-bar{ margin-top:12px; }
.province-detail-km{ font-family:var(--font-mono); font-size:.72rem !important; color:var(--ink-soft) !important; }

/* ---------- WHERE WE SERVE: top strip upgrade ---------- */
.serve-stat-card .rx-card-pct{ display:block; font-family:var(--font-mono); font-size:.78rem; font-weight:600; color:var(--orange-600); margin-top:6px; }
.serve-stat-card .rx-card-sub{ display:block; font-size:.7rem; color:var(--ink-soft); margin-top:2px; font-weight:500; }
.serve-stat-card .rx-bar{ margin-top:12px; height:6px; }
.serve-stat-card{ text-align:left; }
.serve-stat-card strong{ font-size:2.3rem; }
.rx-stack-wrap{ grid-column:1 / -1; background:#fff; border:1px solid var(--line); border-radius:14px; padding:16px 20px; }
.rx-stack-wrap .rx-label{ color:var(--ink-soft); margin-bottom:9px; display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; }

/* ---------- WHERE WE SERVE: analytics board ---------- */
.rx-board{ padding:84px 0; }
.rx-board .section-head p{ color:var(--rx-dim); }
.rx-board-grid{ display:grid; grid-template-columns:repeat(12,1fr); gap:18px; margin-top:8px; }
.rx-card{ background:linear-gradient(165deg, var(--rx-panel-2), #170F08); border:1px solid var(--rx-edge); border-radius:16px; padding:24px; color:#fff; min-width:0; }
.rx-card h3{ color:#fff; font-size:1.05rem; margin:0 0 4px; }
.rx-card .rx-sub{ font-size:.78rem; color:var(--rx-dim); margin:0 0 18px; line-height:1.45; }
.rx-c-pareto{ grid-column:span 7; }
.rx-c-conc{ grid-column:span 5; }
.rx-c-rings{ grid-column:span 7; }
.rx-c-foot{ grid-column:span 5; }

/* province ranking */
.rx-rank{ display:grid; gap:9px; }
.rx-rank-row{ display:grid; grid-template-columns:22px minmax(92px,1.1fr) 2fr 34px 54px 58px; align-items:center; gap:10px; font-size:.82rem; }
.rx-rank-head{ font-family:var(--font-mono); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:var(--rx-dim); }
.rx-rank-row .no{ font-family:var(--font-mono); color:var(--rx-dim); font-size:.72rem; }
.rx-rank-row .nm{ font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rx-rank-row .ct{ font-family:var(--font-mono); text-align:right; }
.rx-rank-row .pc{ font-family:var(--font-mono); text-align:right; color:#fff; }
.rx-rank-row .cu{ font-family:var(--font-mono); text-align:right; color:var(--rx-dim); }
.rx-rank-extra{ display:none; }
.rx-rank.is-all .rx-rank-extra{ display:grid; }
.rx-more{ margin-top:14px; background:none; border:1px solid var(--rx-edge); color:#fff; border-radius:99px; padding:8px 16px;
  font-family:var(--font-mono); font-size:.7rem; letter-spacing:.06em; cursor:pointer; transition:background .15s, border-color .15s; }
.rx-more:hover{ background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.3); }

/* concentration tiles */
.rx-tiles{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.rx-tile{ background:rgba(255,255,255,.04); border:1px solid var(--rx-edge); border-radius:12px; padding:14px; }
.rx-tile b{ display:block; font-family:var(--font-display); font-size:1.8rem; line-height:1; font-weight:700; }
.rx-tile b small{ font-family:var(--font-mono); font-size:.5em; color:var(--orange-500); font-weight:500; margin-left:3px; }
.rx-tile span{ display:block; margin-top:7px; font-size:.74rem; color:#fff; font-weight:600; }
.rx-tile code{ display:block; margin-top:5px; font-family:var(--font-mono); font-size:.64rem; color:var(--rx-dim); line-height:1.4; word-break:break-word; }
.rx-gauge{ margin-top:16px; }
.rx-gauge-bar{ position:relative; height:10px; border-radius:99px; background:linear-gradient(90deg,#16A34A 0%, #EAB308 45%, #EF4444 100%); }
.rx-gauge-bar i{ position:absolute; top:-4px; width:4px; height:18px; border-radius:2px; background:#fff; box-shadow:0 0 0 2px rgba(0,0,0,.45); left:var(--p); transform:translateX(-50%); transition:left 1.2s cubic-bezier(.2,.8,.2,1); }
.rx-gauge-scale{ display:flex; justify-content:space-between; margin-top:8px; font-family:var(--font-mono); font-size:.6rem; color:var(--rx-dim); }

/* distance rings */
.rx-rings{ display:grid; gap:11px; }
.rx-ring-row{ display:grid; grid-template-columns:110px 1fr 38px 56px 62px; align-items:center; gap:10px; font-size:.8rem; }
.rx-ring-row .nm{ color:#fff; font-weight:500; }
.rx-ring-row .ct, .rx-ring-row .pc, .rx-ring-row .cu{ font-family:var(--font-mono); text-align:right; }
.rx-ring-row .cu{ color:var(--rx-dim); }
.rx-dist-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:20px; }
.rx-dist-stats .rx-tile b{ font-size:1.45rem; }

/* footprint */
.rx-foot-list{ display:grid; gap:0; }
.rx-foot-list > div{ display:flex; justify-content:space-between; align-items:baseline; gap:14px; padding:12px 0; border-top:1px solid var(--rx-edge); font-size:.84rem; }
.rx-foot-list > div:first-child{ border-top:none; padding-top:0; }
.rx-foot-list span{ color:var(--rx-dim); }
.rx-foot-list b{ font-family:var(--font-mono); font-weight:600; text-align:right; }
.rx-cover{ margin-top:16px; }
.rx-cover .rx-cover-top{ display:flex; justify-content:space-between; font-size:.78rem; margin-bottom:8px; }
.rx-cover .rx-cover-top b{ font-family:var(--font-mono); color:var(--orange-500); }

/* methodology */
.rx-method{ margin-top:22px; border:1px dashed var(--rx-edge); border-radius:14px; padding:16px 20px; color:var(--rx-dim); font-size:.76rem; line-height:1.65; }
.rx-method summary{ cursor:pointer; color:#fff; font-family:var(--font-mono); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; }
.rx-method code{ font-family:var(--font-mono); color:#FFB27A; font-size:.74rem; }
.rx-method ul{ list-style:disc; padding-left:18px; margin:10px 0 0; }
.rx-method li{ margin:4px 0; }

/* directory extras */
.serve-office-share{ display:inline-block; font-family:var(--font-mono); font-size:.66rem; color:var(--orange-600); background:var(--orange-tint);
  border-radius:99px; padding:2px 8px; margin-left:2px; font-weight:600; }
.serve-office-prov{ font-family:var(--font-mono); font-size:.7rem !important; color:var(--ink-soft) !important; }
.serve-map-wrap.rx-map-card{ box-shadow:var(--shadow-md); }

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .rx-c-pareto, .rx-c-conc, .rx-c-rings, .rx-c-foot{ grid-column:1 / -1; }
}
@media (max-width:980px){
  .rx-home-layout{ grid-template-columns:1fr; }
  .rx-hero-num strong{ font-size:3.8rem; }
}
@media (max-width:600px){
  .rx-rank-row{ grid-template-columns:20px 1fr 28px 52px; }
  .rx-rank-row .bar, .rx-rank-row .cu{ display:none; }
  .rx-rank-head .bar, .rx-rank-head .cu{ display:none; }
  .rx-ring-row{ grid-template-columns:92px 1fr 52px; }
  .rx-ring-row .ct, .rx-ring-row .cu{ display:none; }
  .rx-dist-stats{ grid-template-columns:1fr 1fr; }
  .rx-tiles{ grid-template-columns:1fr 1fr; }
  .rx-card{ padding:20px 16px; }
  .rx-panel{ padding:22px 18px; }
  .rx-map-legend{ left:8px; bottom:46px; max-width:200px; }
}

@media (prefers-reduced-motion:reduce){
  .rx-bar > i, .rx-stack > i, .rx-gauge-bar i{ transition:none; }
  .rx-hq::before, .rx-live::before{ animation:none; }
}

/* homepage: let the map fill the full height of the telemetry panel */
.rx-home-layout .home-map-wrap{ min-height:600px; }
.rx-home-layout .home-ph-map{ position:absolute; inset:0; height:100%; min-height:0; }
@media (max-width:980px){
  .rx-home-layout .home-map-wrap{ min-height:0; height:480px; }
}
@media (max-width:600px){
  .rx-home-layout .home-map-wrap{ height:420px; }
}

.serve-office-row.is-open .serve-office-detail{ max-height:260px; }

/* nested counter spans must inherit the big number's look, not the label rules */
.rx-num{ display:inline !important; font-size:inherit !important; color:inherit !important; margin:0 !important; font-weight:inherit !important; line-height:inherit !important; font-family:inherit !important; }
.rx-hero-num strong .rx-num{ font-family:var(--font-display) !important; }
.rx-kpi b .rx-num, .rx-tile b .rx-num{ font-family:var(--font-display) !important; }
.rx-legend-row .pc .rx-num{ font-family:var(--font-mono) !important; }
.rx-card-pct .rx-num{ font-family:var(--font-mono) !important; color:var(--orange-600) !important; }
.serve-stat-card > strong .rx-num{ font-family:var(--font-display) !important; }
.rx-map-card .home-map-hint, .rx-map-card .serve-map-hint{ left:auto; right:14px; transform:none; }
@media (max-width:600px){ .rx-map-card .home-map-hint, .rx-map-card .serve-map-hint{ display:none; } }
@media (max-width:600px){ .rx-map-legend .rx-swatches{ display:none; } .rx-map-legend{ bottom:10px; } }

/* directory grouped by island group */
.serve-group-head{ position:sticky; top:0; z-index:3; display:flex; align-items:center; gap:10px; padding:10px 16px; background:var(--bone); border-bottom:1px solid var(--line); border-top:1px solid var(--line); }
.serve-group:first-child .serve-group-head{ border-top:none; }
.serve-group-dot{ width:10px; height:10px; border-radius:3px; background:var(--c); }
.serve-group-head strong{ font-family:var(--font-display); font-size:.95rem; }
.serve-group-count{ margin-left:auto; font-family:var(--font-mono); font-size:.72rem; color:var(--ink-soft); }
.serve-group-count b{ color:var(--black); }


/* ================= OFFICE FINDER (directory) ================= */
.rx-map-wide .serve-ph-map{ height:560px; }
.od-console{
  margin-top:28px; border-radius:20px; padding:26px;
  background:linear-gradient(165deg, #1F170F 0%, #130D07 100%); color:#fff; border:1px solid var(--rx-edge);
  box-shadow:var(--shadow-md); position:relative; overflow:hidden;
}
.od-console::before{ content:""; position:absolute; inset:0; pointer-events:none; opacity:.45;
  background-image:linear-gradient(var(--rx-edge) 1px, transparent 1px), linear-gradient(90deg, var(--rx-edge) 1px, transparent 1px);
  background-size:30px 30px; -webkit-mask-image:radial-gradient(circle at 100% 0%, #000, transparent 60%); mask-image:radial-gradient(circle at 100% 0%, #000, transparent 60%); }
.od-console > *{ position:relative; }
.od-top{ display:flex; justify-content:space-between; align-items:flex-end; gap:18px; flex-wrap:wrap; margin-bottom:20px; }
.od-title{ color:#fff; font-size:1.5rem; margin:0; }
.od-search{ display:flex; align-items:center; gap:10px; min-width:min(100%,360px); background:rgba(255,255,255,.06); border:1px solid var(--rx-edge); border-radius:12px; padding:0 12px; color:var(--rx-dim); transition:border-color .15s, background .15s; }
.od-search:focus-within{ border-color:var(--orange-500); background:rgba(255,255,255,.09); }
.od-search input{ flex:1; background:transparent; border:0; outline:0; color:#fff; padding:13px 0; font:inherit; font-size:.9rem; min-width:0; }
.od-search input::placeholder{ color:rgba(255,255,255,.4); }
.od-search kbd{ font-family:var(--font-mono); font-size:.7rem; border:1px solid var(--rx-edge); border-radius:6px; padding:2px 7px; color:var(--rx-dim); }

.od-tabs{ display:inline-flex; gap:4px; padding:4px; background:rgba(255,255,255,.06); border:1px solid var(--rx-edge); border-radius:14px; max-width:100%; overflow-x:auto; }
.od-tab{ display:inline-flex; align-items:center; gap:8px; border:0; background:transparent; color:var(--rx-dim); padding:10px 16px; border-radius:10px; cursor:pointer; font:inherit; font-size:.88rem; font-weight:600; white-space:nowrap; transition:background .2s, color .2s; }
.od-tab i{ width:9px; height:9px; border-radius:3px; background:var(--c); }
.od-tab b{ font-family:var(--font-mono); font-size:.72rem; font-weight:500; background:rgba(255,255,255,.1); border-radius:99px; padding:2px 8px; }
.od-tab:hover{ color:#fff; }
.od-tab.is-active{ background:#fff; color:var(--black); }
.od-tab.is-active b{ background:var(--orange-500); color:#fff; }

.od-chips{ display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.od-chip{ border:1px solid var(--rx-edge); background:transparent; color:rgba(255,255,255,.8); border-radius:99px; padding:6px 13px; font:inherit; font-size:.78rem; cursor:pointer; transition:all .15s; }
.od-chip b{ font-family:var(--font-mono); font-weight:500; color:var(--orange-500); margin-left:3px; }
.od-chip:hover{ border-color:rgba(255,255,255,.4); color:#fff; }
.od-chip.is-active{ background:rgba(255,107,0,.16); border-color:var(--orange-500); color:#fff; }

.od-status{ display:flex; justify-content:space-between; align-items:center; gap:12px; margin:20px 0 14px; font-size:.74rem; color:var(--rx-dim); min-height:24px; }
.od-reset{ background:none; border:0; color:#FFB27A; cursor:pointer; font:inherit; font-size:.76rem; text-decoration:underline; }

.od-grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px; }
.od-card{ background:rgba(255,255,255,.045); border:1px solid var(--rx-edge); border-left:3px solid var(--c); border-radius:14px; padding:16px 16px 14px; display:flex; flex-direction:column; gap:8px;
  transition:transform .2s, background .2s, border-color .2s, box-shadow .2s; animation:od-in .35s ease both; }
.od-card:hover{ transform:translateY(-3px); background:rgba(255,255,255,.08); box-shadow:0 12px 28px rgba(0,0,0,.35); }
.od-card[hidden]{ display:none; }
.od-card.is-head{ background:linear-gradient(160deg, rgba(255,107,0,.2), rgba(255,255,255,.05)); border-color:rgba(255,107,0,.5); grid-column:span 1; }
@keyframes od-in{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }
.od-card-top{ display:flex; justify-content:space-between; align-items:center; gap:10px; }
.od-no{ font-size:.7rem; color:rgba(255,255,255,.4); }
.od-badge{ display:inline-flex; align-items:center; gap:6px; font-family:var(--font-mono); font-size:.64rem; letter-spacing:.04em; color:rgba(255,255,255,.75); text-align:right; }
.od-badge i{ width:7px; height:7px; border-radius:50%; background:var(--c); flex-shrink:0; }
.od-card h4{ color:#fff; font-size:1.02rem; margin:2px 0 0; line-height:1.25; }
.od-addr{ color:rgba(255,255,255,.62); font-size:.8rem; line-height:1.5; margin:0; flex:1; }
.od-meta{ color:rgba(255,255,255,.55); font-size:.76rem; margin:0; }
.od-actions{ display:flex; flex-wrap:wrap; gap:7px; margin-top:6px; }
.od-btn{ display:inline-flex; align-items:center; gap:6px; background:rgba(255,255,255,.07); border:1px solid var(--rx-edge); color:#fff; border-radius:8px; padding:6px 10px; font:inherit; font-size:.74rem; font-weight:600; cursor:pointer; transition:background .15s, border-color .15s; }
.od-btn:hover{ background:rgba(255,107,0,.2); border-color:var(--orange-500); }
.od-btn-call{ color:#FFB27A; }
.od-empty{ color:var(--rx-dim) !important; }
.od-more-wrap{ text-align:center; margin-top:20px; }

@media (max-width:1100px){ .od-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:700px){
  .od-grid{ grid-template-columns:1fr; }
  .od-console{ padding:18px 14px; }
  .rx-map-wide .serve-ph-map{ height:400px; }
  .od-search{ min-width:100%; }
  .od-search kbd{ display:none; }
  .od-tabs{ display:flex; width:100%; }
  .od-tab{ flex:1; justify-content:center; padding:10px 8px; }
  .od-tab i{ display:none; }
}
@media (prefers-reduced-motion:reduce){ .od-card{ animation:none; transition:none; } }
