/*
Theme Name: Bail Bonds Pomona
Theme URI: https://bailbondspomona.com
Description: Design layer for the Elementor Free build of bailbondspomona.com: the sister site's visual system (solid navy / orange / gold, Manrope, Tabler icons), self-hosted fonts, a small script and the mega-menu markup. Pages, header and footer are Elementor widgets.
Author: Bail Bonds Pomona
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: bbp
*/

/* ===== Self-hosted fonts (no third-party requests) ===== */
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/manrope-400.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/manrope-500.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/manrope-600.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/manrope-700.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url('assets/fonts/manrope-800.woff2') format('woff2')}
@font-face{font-family:'tabler-icons';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/tabler-icons.woff2') format('woff2')}

/* ===== Icons: <i class="ti ti-name"> in markup; .ic.ic-name pseudo-element icons on Elementor widgets (::before) and containers (::after,
   because Elementor draws a container's background overlay with ::before); .ico-name icons inside Elementor buttons ===== */
.ti{font-family:'tabler-icons' !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.ic:not(.e-con)::before,.e-con.ic::after,[class*=ico-] .elementor-button::before{font-family:'tabler-icons' !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.e-con.ic::after{order:-1}
.ti-alert-triangle::before{content:"\ea06"}
.ic-alert-triangle:not(.e-con)::before,.e-con.ic-alert-triangle::after,.ico-alert-triangle .elementor-button::before{content:"\ea06"}
.ti-arrow-right::before{content:"\ea1f"}
.ic-arrow-right:not(.e-con)::before,.e-con.ic-arrow-right::after,.ico-arrow-right .elementor-button::before{content:"\ea1f"}
.ti-article::before{content:"\f1e2"}
.ic-article:not(.e-con)::before,.e-con.ic-article::after,.ico-article .elementor-button::before{content:"\f1e2"}
.ti-bell-ringing::before{content:"\ed07"}
.ic-bell-ringing:not(.e-con)::before,.e-con.ic-bell-ringing::after,.ico-bell-ringing .elementor-button::before{content:"\ed07"}
.ti-bolt::before{content:"\ea38"}
.ic-bolt:not(.e-con)::before,.e-con.ic-bolt::after,.ico-bolt .elementor-button::before{content:"\ea38"}
.ti-bottle::before{content:"\ef0b"}
.ic-bottle:not(.e-con)::before,.e-con.ic-bottle::after,.ico-bottle .elementor-button::before{content:"\ef0b"}
.ti-brand-facebook::before{content:"\ec1a"}
.ic-brand-facebook:not(.e-con)::before,.e-con.ic-brand-facebook::after,.ico-brand-facebook .elementor-button::before{content:"\ec1a"}
.ti-brand-google::before{content:"\ec1f"}
.ic-brand-google:not(.e-con)::before,.e-con.ic-brand-google::after,.ico-brand-google .elementor-button::before{content:"\ec1f"}
.ti-brand-instagram::before{content:"\ec20"}
.ic-brand-instagram:not(.e-con)::before,.e-con.ic-brand-instagram::after,.ico-brand-instagram .elementor-button::before{content:"\ec20"}
.ti-building-bank::before{content:"\ebe2"}
.ic-building-bank:not(.e-con)::before,.e-con.ic-building-bank::after,.ico-building-bank .elementor-button::before{content:"\ebe2"}
.ti-car-crash::before{content:"\efa4"}
.ic-car-crash:not(.e-con)::before,.e-con.ic-car-crash::after,.ico-car-crash .elementor-button::before{content:"\efa4"}
.ti-cash::before{content:"\ea55"}
.ic-cash:not(.e-con)::before,.e-con.ic-cash::after,.ico-cash .elementor-button::before{content:"\ea55"}
.ti-chevron-down::before{content:"\ea5f"}
.ic-chevron-down:not(.e-con)::before,.e-con.ic-chevron-down::after,.ico-chevron-down .elementor-button::before{content:"\ea5f"}
.ti-chevron-right::before{content:"\ea61"}
.ic-chevron-right:not(.e-con)::before,.e-con.ic-chevron-right::after,.ico-chevron-right .elementor-button::before{content:"\ea61"}
.ti-clipboard-check::before{content:"\ea6c"}
.ic-clipboard-check:not(.e-con)::before,.e-con.ic-clipboard-check::after,.ico-clipboard-check .elementor-button::before{content:"\ea6c"}
.ti-clock::before{content:"\ea70"}
.ic-clock:not(.e-con)::before,.e-con.ic-clock::after,.ico-clock .elementor-button::before{content:"\ea70"}
.ti-clock-24::before{content:"\fc57"}
.ic-clock-24:not(.e-con)::before,.e-con.ic-clock-24::after,.ico-clock-24 .elementor-button::before{content:"\fc57"}
.ti-file-certificate::before{content:"\ed4d"}
.ic-file-certificate:not(.e-con)::before,.e-con.ic-file-certificate::after,.ico-file-certificate .elementor-button::before{content:"\ed4d"}
.ti-file-description::before{content:"\f028"}
.ic-file-description:not(.e-con)::before,.e-con.ic-file-description::after,.ico-file-description .elementor-button::before{content:"\f028"}
.ti-gavel::before{content:"\ef90"}
.ic-gavel:not(.e-con)::before,.e-con.ic-gavel::after,.ico-gavel .elementor-button::before{content:"\ef90"}
.ti-home::before{content:"\eac1"}
.ic-home:not(.e-con)::before,.e-con.ic-home::after,.ico-home .elementor-button::before{content:"\eac1"}
.ti-home-shield::before{content:"\f343"}
.ic-home-shield:not(.e-con)::before,.e-con.ic-home-shield::after,.ico-home-shield .elementor-button::before{content:"\f343"}
.ti-id-badge-2::before{content:"\f076"}
.ic-id-badge-2:not(.e-con)::before,.e-con.ic-id-badge-2::after,.ico-id-badge-2 .elementor-button::before{content:"\f076"}
.ti-license::before{content:"\ebc0"}
.ic-license:not(.e-con)::before,.e-con.ic-license::after,.ico-license .elementor-button::before{content:"\ebc0"}
.ti-lock::before{content:"\eae2"}
.ic-lock:not(.e-con)::before,.e-con.ic-lock::after,.ico-lock .elementor-button::before{content:"\eae2"}
.ti-mail::before{content:"\eae5"}
.ic-mail:not(.e-con)::before,.e-con.ic-mail::after,.ico-mail .elementor-button::before{content:"\eae5"}
.ti-map-2::before{content:"\eae7"}
.ic-map-2:not(.e-con)::before,.e-con.ic-map-2::after,.ico-map-2 .elementor-button::before{content:"\eae7"}
.ti-map-pin::before{content:"\eae8"}
.ic-map-pin:not(.e-con)::before,.e-con.ic-map-pin::after,.ico-map-pin .elementor-button::before{content:"\eae8"}
.ti-menu-2::before{content:"\ec42"}
.ic-menu-2:not(.e-con)::before,.e-con.ic-menu-2::after,.ico-menu-2 .elementor-button::before{content:"\ec42"}
.ti-message-2::before{content:"\eaec"}
.ic-message-2:not(.e-con)::before,.e-con.ic-message-2::after,.ico-message-2 .elementor-button::before{content:"\eaec"}
.ti-phone::before{content:"\eb09"}
.ic-phone:not(.e-con)::before,.e-con.ic-phone::after,.ico-phone .elementor-button::before{content:"\eb09"}
.ti-pill::before{content:"\ec44"}
.ic-pill:not(.e-con)::before,.e-con.ic-pill::after,.ico-pill .elementor-button::before{content:"\ec44"}
.ti-plane::before{content:"\eb6f"}
.ic-plane:not(.e-con)::before,.e-con.ic-plane::after,.ico-plane .elementor-button::before{content:"\eb6f"}
.ti-receipt::before{content:"\edfd"}
.ic-receipt:not(.e-con)::before,.e-con.ic-receipt::after,.ico-receipt .elementor-button::before{content:"\edfd"}
.ti-scale::before{content:"\ebc2"}
.ic-scale:not(.e-con)::before,.e-con.ic-scale::after,.ico-scale .elementor-button::before{content:"\ebc2"}
.ti-search::before{content:"\eb1c"}
.ic-search:not(.e-con)::before,.e-con.ic-search::after,.ico-search .elementor-button::before{content:"\eb1c"}
.ti-shield::before{content:"\eb24"}
.ic-shield:not(.e-con)::before,.e-con.ic-shield::after,.ico-shield .elementor-button::before{content:"\eb24"}
.ti-shield-check::before{content:"\eb22"}
.ic-shield-check:not(.e-con)::before,.e-con.ic-shield-check::after,.ico-shield-check .elementor-button::before{content:"\eb22"}
.ti-shopping-bag::before{content:"\f5f8"}
.ic-shopping-bag:not(.e-con)::before,.e-con.ic-shopping-bag::after,.ico-shopping-bag .elementor-button::before{content:"\f5f8"}
.ti-star-filled::before{content:"\f6a6"}
.ic-star-filled:not(.e-con)::before,.e-con.ic-star-filled::after,.ico-star-filled .elementor-button::before{content:"\f6a6"}
.ti-traffic-cone::before{content:"\ec0f"}
.ic-traffic-cone:not(.e-con)::before,.e-con.ic-traffic-cone::after,.ico-traffic-cone .elementor-button::before{content:"\ec0f"}
.ti-user::before{content:"\eb4d"}
.ic-user:not(.e-con)::before,.e-con.ic-user::after,.ico-user .elementor-button::before{content:"\eb4d"}
.ti-user-search::before{content:"\ef89"}
.ic-user-search:not(.e-con)::before,.e-con.ic-user-search::after,.ico-user-search .elementor-button::before{content:"\ef89"}

/* ===== Design system (from the sister theme; only the link rule is widened to skip Elementor buttons) ===== */
/* ============================================================
   Pomona Bail Bonds — solid-color palette
   ============================================================ */
:root{
  --navy:#072B5F; --navy2:#112E5B; --navy3:#041d40;
  --blue:#1F7396; --sky:#29B8ED; --gold:#E6AD0F; --orange:#C24E00;
  --body:#333333; --muted:#585858; --band:#F5F5F5; --line:#E1E1E1;
}
*{box-sizing:border-box;margin:0;padding:0;font-family:'Manrope',sans-serif;letter-spacing:-0.01em}
html{scroll-behavior:smooth}
body{background:#fff;color:var(--body);overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.h2{font-weight:800;font-size:clamp(21px,3vw,27px);text-transform:uppercase;letter-spacing:.4px;color:var(--navy2);line-height:1.15}
h2.h2,h3.h2{margin:0}
.rule{height:4px;width:60px;background:var(--gold);margin:12px 0 18px;border-radius:2px}
.p{font-size:15px;line-height:1.65;color:var(--body);font-weight:400}
.st{color:var(--navy2);font-weight:700;font-size:17px}
.lnk{color:var(--blue);font-weight:700;transition:color .2s}
.lnk:hover{color:var(--navy)}
.kick{color:var(--gold);font-weight:800;font-size:13px;letter-spacing:1.6px;text-transform:uppercase}
.btn-orange{display:inline-flex;align-items:center;gap:8px;background:var(--orange);color:#fff;font-weight:800;padding:14px 26px;border-radius:8px;font-size:16px;transition:transform .2s,filter .2s;border:0;cursor:pointer}
.btn-orange:hover{transform:translateY(-2px);filter:brightness(1.06)}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;background:transparent;border:2px solid rgba(255,255,255,.55);color:#fff;font-weight:800;padding:12px 24px;border-radius:8px;font-size:16px;transition:background .2s,border-color .2s;cursor:pointer}
.btn-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}
.in{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:7px;font-size:14px;color:var(--body);background:#fff;transition:border-color .2s,box-shadow .2s;font-family:inherit}
.in:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(48,152,196,.18)}

/* content links inside the main column */
.bbh-main a:not(.svc-head):not(.dir-link):not(.row):not(.btn-orange):not(.elementor-button){color:var(--blue);font-weight:700;transition:color .2s}
/* Links inside body text must be distinguishable by more than colour (a11y
   link-in-text-block); underline the ones embedded in paragraphs. */
.bbh-main .p a,.faq-wrap .a a{text-decoration:underline;text-underline-offset:2px}
.bbh-main a:not(.svc-head):not(.dir-link):not(.row):not(.btn-orange):not(.elementor-button):hover{color:var(--navy);text-decoration:underline}

/* reveal-on-scroll */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.reveal.show{opacity:1;transform:none}

/* skip link + a11y */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--gold);color:var(--navy);padding:10px 16px;font-weight:800;z-index:200}
.skip-link:focus{left:8px;top:8px}

/* Header */
header.site-header{background:var(--navy);position:sticky;top:0;z-index:60;transition:box-shadow .25s}
header.site-header.scrolled{box-shadow:0 6px 20px rgba(4,29,64,.35)}
.hd{display:flex;align-items:center;justify-content:space-between;height:68px;gap:14px}
.hd-right{display:flex;align-items:center;gap:6px}
nav.desk{display:flex;align-items:center}
.nav-list{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.nav-list>li{position:static}
.nav-list>li>a,.mega-toggle{display:inline-flex;align-items:center;gap:5px;background:none;border:0;cursor:pointer;color:#dbe6f2;font-family:inherit;font-size:14px;font-weight:600;padding:8px 12px;border-radius:8px;transition:color .2s,background .2s}
.nav-list>li>a:hover,.mega-toggle:hover,.has-mega:hover .mega-toggle,.mega-toggle[aria-expanded="true"]{color:#fff;background:rgba(255,255,255,.08)}
.mega-toggle i{font-size:15px;transition:transform .25s}
.has-mega:hover .mega-toggle i,.mega-toggle[aria-expanded="true"] i{transform:rotate(180deg)}

/* Mega panel */
/* Mega panel: constrained to the content width (1120), centered under the header. */
/* Mega menus: minimal (no CTA column) */
.mega-panel{position:absolute;left:50%;right:auto;top:100%;transform:translateX(-50%) translateY(6px);width:760px;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 28px rgba(4,29,64,.12);opacity:0;visibility:hidden;transition:opacity .18s ease,transform .18s ease,visibility .18s;z-index:70}
.has-mega:hover .mega-panel,.has-mega:focus-within .mega-panel,.mega-panel.open{opacity:1;visibility:visible;transform:translateX(-50%)}
.mega-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 36px;padding:22px 28px 18px}
.mega-grid.mega-areas{display:block}
.mega-col{min-width:0}
.mega-h{display:block;color:var(--muted);font-weight:700;font-size:11px;letter-spacing:.8px;text-transform:uppercase;margin:0 0 6px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.mega-links{list-style:none;margin:0;padding:0}
.mega-links.cols{column-count:4;column-gap:36px}
.mega-links li{break-inside:avoid}
.mega-links a{display:block;color:var(--navy2);font-weight:500;font-size:14px;line-height:1.35;padding:6px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s}
.mega-links a:hover{color:var(--blue)}
.hd .call{background:var(--orange);color:#fff;font-weight:800;font-size:15px;padding:10px 16px;border-radius:8px;display:inline-flex;align-items:center;gap:7px;transition:transform .2s,filter .2s}
.hd .call:hover{transform:translateY(-2px);filter:brightness(1.06)}
.brand{display:flex;align-items:center;gap:11px}
.brand-badge{width:42px;height:42px;border-radius:11px;background:var(--gold);display:flex;align-items:center;justify-content:center;flex:none}
.brand-badge i{color:var(--navy);font-size:25px}
.brand-word{display:flex;flex-direction:column;line-height:1}
.bw-top{color:#fff;font-weight:800;font-size:19px;letter-spacing:-.3px}
.bw-top .hl{color:var(--gold)}
.bw-sub{color:#9fc2e6;font-weight:600;font-size:9.5px;letter-spacing:.9px;text-transform:uppercase;margin-top:4px}
.brand.foot .bw-sub{color:#7f9bbd}
.burger{display:none;background:none;border:0;color:#fff;font-size:26px;cursor:pointer}
.mnav{display:none;flex-direction:column;background:var(--navy2);border-top:1px solid #1e4a7a;max-height:calc(100vh - 68px);overflow-y:auto;-webkit-overflow-scrolling:touch}
.mnav.open{display:flex;animation:fade .3s ease}
.mnav .mnav-link,.mnav-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;padding:14px 24px;color:#dbe6f2;font-weight:700;font-size:15px;background:none;border:0;border-bottom:1px solid #10315c;font-family:inherit;cursor:pointer}
.mnav .mnav-link:hover,.mnav-toggle:hover{background:#0d264d;color:#fff}
.mnav-toggle i{transition:transform .25s;font-size:18px}
.mnav-toggle[aria-expanded="true"] i{transform:rotate(180deg)}
.mnav-sub{display:none;background:var(--navy3);padding:4px 0 12px;border-bottom:1px solid #10315c}
.mnav-sub.open{display:block}
.mnav-h{display:block;color:var(--gold);font-weight:800;font-size:10.5px;letter-spacing:.6px;text-transform:uppercase;padding:12px 24px 4px}
.mnav-sub>a{display:block;color:#c7d6ea;font-weight:600;font-size:14px;padding:9px 24px}
.mnav-sub-grid{display:grid;grid-template-columns:1fr 1fr}
.mnav-sub-grid a{display:block;color:#c7d6ea;font-weight:600;font-size:13.5px;padding:8px 24px}
.mnav-sub>a:hover,.mnav-sub-grid a:hover{color:#fff;background:#0d264d}
.mnav-all{color:var(--gold)!important;font-weight:800!important;display:flex;align-items:center;gap:6px;padding-top:12px!important}
.mnav-call{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--orange);color:#fff;font-weight:800;padding:16px;font-size:16px}
.mnav-call:hover{filter:brightness(1.06);color:#fff}

/* Hero — a lighter navy than the header, with a faint top light for separation */
.hero{background:#12386c;border-top:1px solid rgba(255,255,255,.10);box-shadow:inset 0 6px 24px rgba(255,255,255,.05)}
.hero-in{display:grid;grid-template-columns:1.25fr 1fr;gap:34px;align-items:center;padding-top:clamp(36px,6vw,58px);padding-bottom:clamp(36px,6vw,58px)}
.hero-in.no-media{grid-template-columns:1fr}
.hero-in.no-media .lead{max-width:640px}
.hero h1{color:#fff;font-weight:800;font-size:clamp(28px,5vw,42px);line-height:1.1;margin-top:12px}
.hero .lead{color:#c7d6ea;font-size:16px;line-height:1.65;margin-top:16px;max-width:520px}
.hero img{width:100%;height:clamp(200px,32vw,270px);object-fit:cover;border-radius:14px;animation:floaty 7s ease-in-out infinite}
.hero .hero-media.noimg{display:none}
.rating{display:flex;align-items:center;gap:8px;margin-top:16px;color:#dbe6f2;font-size:13px;font-weight:600}
.rating .stars{color:var(--gold);font-size:15px;letter-spacing:1px;display:inline-flex}
.breadcrumb{padding:10px 0 0;font-size:12.5px;color:#9fc2e6;font-weight:600}
.breadcrumb a{color:#c7d6ea;text-decoration:underline;text-underline-offset:2px}
.breadcrumb a:hover{color:#fff}
.breadcrumb .sep{opacity:.5;margin:0 6px}

/* Trust bar */
.trust{background:var(--navy);border-top:3px solid var(--gold)}
.trust-in{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;text-align:center;padding-top:22px;padding-bottom:22px}
.trust .ti-wrap{color:#dbe6f2;font-size:14px;font-weight:700}
.trust i{color:var(--gold);font-size:26px;display:block;margin-bottom:6px;transition:transform .3s}
.trust .ti-wrap:hover i{transform:translateY(-3px) scale(1.08)}

/* Body two-column with sticky sidebar */
.body-in{display:grid;grid-template-columns:1.85fr 1fr;gap:40px;align-items:start;padding-top:48px;padding-bottom:48px}
.body-in.no-sidebar{grid-template-columns:1fr;max-width:820px}
.block{display:flex;gap:14px;margin-bottom:18px;padding:8px;border-radius:10px;transition:background .2s}
.block:hover{background:var(--band)}
.block i{color:var(--blue);font-size:24px;margin-top:2px}
.svc{margin-bottom:18px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;transition:transform .2s,border-color .2s,box-shadow .2s}
.svc:hover{transform:translateY(-3px);border-color:var(--blue);box-shadow:0 10px 24px rgba(7,43,95,.10)}
.svc .head,.svc .svc-head{display:flex;align-items:center;gap:10px;margin-bottom:6px;color:var(--blue);font-weight:800;font-size:16px}
.svc .head i,.svc .svc-head i{color:var(--blue);font-size:20px}
.svc .svc-head:hover{color:var(--navy)}
.step{display:flex;gap:14px;margin-bottom:16px}
.num{flex:none;width:36px;height:36px;border-radius:50%;background:var(--gold);color:var(--navy);font-weight:800;font-size:16px;display:flex;align-items:center;justify-content:center}
.sec+.sec{margin-top:42px}
.bbh-main p.p{margin-bottom:14px}
.nearby-line{margin:6px 0 4px;font-size:15px}
.nearby-line a{margin-right:2px}

/* County tabs + directory */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 16px}
.tab{padding:8px 15px;border:1px solid var(--line);border-radius:999px;font-size:13px;font-weight:700;color:var(--navy2);cursor:pointer;background:#fff;transition:all .2s;white-space:nowrap}
.tab:hover{border-color:var(--blue);color:var(--blue)}
.tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.county{display:none}
.county.active{display:block;animation:fade .4s ease}
table.dir{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:10px;overflow:hidden;font-size:13.5px;margin:6px 0 8px}
table.dir th{background:var(--navy);color:#fff;font-weight:700;text-align:left;padding:10px 12px}
table.dir td{padding:10px 12px;border-top:1px solid var(--line);color:var(--body);vertical-align:top}
table.dir tbody tr{transition:background .15s}
table.dir tbody tr:nth-child(even) td{background:var(--band)}
table.dir tbody tr:hover td{background:#eaf1fb}
table.dir td.tp{font-weight:700;color:var(--navy2);white-space:nowrap}
table.dir td.ph{color:var(--navy2);font-weight:700;white-space:nowrap}
.dir-link{color:var(--blue);font-weight:700;display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.dir-link:hover{color:var(--navy)}

/* FAQ accordion */
.faq-item{border-bottom:1px solid var(--line)}
.faq-item .q{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 0;cursor:pointer}
.faq-item .q span{color:var(--navy2);font-weight:700;font-size:15.5px}
.faq-item .q i{color:var(--blue);font-size:20px;transition:transform .3s;flex:none}
.faq-item.open .q i{transform:rotate(180deg)}
.faq-item .a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq-item .a .p{padding:0 0 16px;margin:0}

/* Sidebar */
aside.bbh-aside{position:sticky;top:86px;display:flex;flex-direction:column;gap:16px}
.card{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.card .hd2{background:var(--navy);padding:14px 16px}
.card .hd2 b{color:#fff;font-weight:800;font-size:16px;display:block}
.card .hd2 small{color:#9fc2e6;font-size:11px;font-weight:600}
.card .bd{padding:16px 16px 18px;display:flex;flex-direction:column;gap:12px}
.callbox{background:var(--orange);border-radius:14px;padding:18px;text-align:center;color:#fff}
.callbox .lab{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:#ffffff}
.callbox .num2{font-weight:800;font-size:var(--t-lic);margin:6px 0 3px;display:inline-flex;align-items:center;gap:8px;color:#fff}
.callbox .ring{display:inline-flex;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.2);align-items:center;justify-content:center;animation:pulse 2s ease-out infinite}
.trustcard{background:var(--navy);border-radius:14px;padding:18px}
.sb-t{color:var(--gold);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.7px;margin-bottom:11px}
.trustcard .row2{color:#dbe6f2;font-size:13px;font-weight:600;margin-bottom:9px}
.trustcard i{color:var(--gold);width:22px}
.links{border:1px solid var(--line);border-radius:14px;padding:18px}
.links .row{padding:10px 0;border-bottom:1px solid var(--line);color:var(--blue);font-weight:700;font-size:14px;display:flex;justify-content:space-between;align-items:center;transition:padding-left .2s,color .2s}
.links .row:last-child{border-bottom:0}
.links .row:hover{padding-left:6px;color:var(--navy)}
.hours{background:var(--band);border:1px solid var(--line);border-radius:14px;padding:18px}

/* Lead form */
.lead-form{display:flex;flex-direction:column;gap:12px}
.lead-form .form-msg{font-size:13px;font-weight:700;padding:8px 10px;border-radius:7px;display:none;margin:0}
.lead-form.is-ok .form-msg.ok{display:block;background:#e6f4ea;color:#1c6b34}
.lead-form.is-err .form-msg.err{display:block;background:#fdecea;color:#b3261e}
.lead-form.is-loading .btn-orange{opacity:.7;pointer-events:none}
.hp-field{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}

/* In-content figures (section images) */
.bbh-figure{margin:0 0 18px;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.bbh-figure img{width:100%;height:auto;display:block}
.bbh-figure figcaption{font-size:12.5px;color:var(--muted);padding:8px 12px;background:var(--band);font-weight:600}
.sec-img{max-width:100%}
.sec-img img{max-height:300px;object-fit:cover}

/* Reunited / help image band */
.help-band{background:var(--navy2)}
.reband{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.reband img{width:100%;height:100%;min-height:290px;object-fit:cover}
.reband .txt{padding:clamp(30px,5vw,48px) clamp(24px,4vw,44px);color:#c7d6ea}
.reband .txt .kick{color:var(--gold)}
.reband .txt p{color:#c7d6ea;font-size:15px;line-height:1.65}
.reband .txt .rule{margin:12px 0 16px}

/* Bottom CTA */
.cta{background:var(--orange);text-align:center;padding:clamp(38px,6vw,52px) 0;color:#fff}
.cta h3{font-weight:800;font-size:clamp(22px,4vw,30px);text-transform:uppercase;letter-spacing:.5px}
.cta .es{font-size:16px;font-weight:600;max-width:620px;margin:12px auto 4px}
.cta .sub{font-size:14px;font-weight:400;color:#ffffff;max-width:620px;margin:0 auto 20px}
.cta .btn-white{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--orange);font-weight:800;font-size:18px;padding:14px 30px;border-radius:8px;transition:transform .2s}
.cta .btn-white:hover{transform:translateY(-2px)}
/* Inline anchor links inside the orange CTA band must read on orange. */
.cta .es a,.cta .sub a{color:#fff;font-weight:800;text-decoration:underline;text-underline-offset:2px}
.cta .es a:hover,.cta .sub a:hover{color:#fff2e6}

/* Footer */
footer.site-footer{background:var(--navy3);padding:42px 0}
.ft{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:26px}
.ft h4{color:var(--gold);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px}
.ft .col a,.ft .col div{color:#c7d6ea;font-size:13px;font-weight:500;line-height:2;transition:color .2s}
.ft .col a:hover{color:#fff}
.ft .desc{color:#9fb4cf;font-size:12px;line-height:1.6;margin-top:10px}
.ft .social{display:flex;gap:14px;margin-top:12px;color:var(--sky);font-size:20px}
.ft .social a{color:var(--sky);display:inline-flex;align-items:center}
.ft .social svg{width:20px;height:20px;transition:transform .2s}
.ft .social a:hover svg{transform:translateY(-3px)}
.ft-map{margin-top:12px;max-width:280px}
.ft-map iframe{display:block;width:100%;border-radius:8px;filter:grayscale(.2)}
/* Ins. Code 1725.5: the CDI licence must be at least as large as the largest phone number on the page (.callbox .num2). Both read --t-lic; change them together. */
:root{--t-lic:23px}
.ft-lic{font-size:var(--t-lic);font-weight:800;color:#fff;line-height:1.3;margin-top:22px;letter-spacing:.2px}
.ft-lic span{color:var(--gold)}
.ft-legal{border-top:1px solid #10315c;margin-top:26px;padding-top:16px;color:#7f9bbd;font-size:12px;line-height:1.6}
.ft-bottom{margin-top:12px;padding-top:12px;border-top:1px solid #10315c;display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:12.5px;font-weight:600}
.ft-bottom a{color:#c7d6ea}
.ft-bottom a:hover{color:#fff}
.ft-bottom span{color:#4d6486}

/* Single post (Article) */
.post-body{max-width:760px}
.post-body h2{color:var(--navy2);font-weight:800;font-size:24px;margin:28px 0 10px}
.post-body h3{color:var(--navy2);font-weight:700;font-size:19px;margin:22px 0 8px}
.post-body p{font-size:16px;line-height:1.7;margin-bottom:16px}
.post-body ul,.post-body ol{margin:0 0 16px 22px}
.post-body li{margin-bottom:7px;line-height:1.6}
.post-body img{border-radius:12px;margin:16px 0}
.post-meta{color:var(--muted);font-size:13px;font-weight:600;margin-top:6px}
.post-body blockquote{border-left:4px solid var(--gold);padding:6px 0 6px 18px;margin:18px 0;color:var(--muted);font-style:italic}

/* Plain-HTML content typography (legal pages) — scoped so it never overrides
   the class-based structured content (.h2/.p) on service/area/FAQ pages. */
.bbh-main h2:not([class]){color:var(--navy2);font-weight:800;font-size:22px;margin:28px 0 10px;line-height:1.25}
.bbh-main h3:not([class]){color:var(--navy2);font-weight:700;font-size:18px;margin:22px 0 8px}
.bbh-main p:not([class]){font-size:15.5px;line-height:1.7;margin-bottom:14px;color:var(--body)}
.bbh-main ul:not([class]),.bbh-main ol:not([class]){margin:0 0 16px 22px}
.bbh-main ul:not([class]) li,.bbh-main ol:not([class]) li{margin-bottom:7px;line-height:1.6}
.bbh-main strong{color:var(--navy2)}

/* Table of contents (single FAQ / blog) — H2s only */
.bbh-toc{background:var(--band);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:0 10px 10px 0;padding:16px 18px;margin:0 0 24px}
.bbh-toc-t{color:var(--navy2);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px}
.bbh-toc ol{margin:0;padding-left:20px}
.bbh-toc li{margin-bottom:5px;line-height:1.45}
.bbh-toc a{color:var(--blue);font-weight:600;font-size:14.5px}
.bbh-toc a:hover{color:var(--navy);text-decoration:underline}
.bbh-main h2[id],.bbh-main h3[id]{scroll-margin-top:90px}

/* FAQ archive cards */
.faq-archive{display:flex;flex-direction:column;gap:14px}
.faq-card{display:block;border:1px solid var(--line);border-radius:12px;padding:16px 18px;transition:border-color .2s,box-shadow .2s,transform .2s}
.faq-card:hover{border-color:var(--blue);box-shadow:0 10px 24px rgba(7,43,95,.08);transform:translateY(-2px)}
.faq-card-q{display:block;color:var(--navy2);font-weight:800;font-size:17px;margin-bottom:6px}
.faq-card-a{display:block;color:var(--muted);font-size:14px;line-height:1.55;margin-bottom:8px}
.faq-card-more{color:var(--blue);font-weight:700;font-size:13.5px;display:inline-flex;align-items:center;gap:5px}

/* Blog archive cards */
.blog-list{display:flex;flex-direction:column;gap:24px}
.blog-card{border-bottom:1px solid var(--line);padding-bottom:22px}
.blog-card:last-child{border-bottom:0}
.blog-card-meta{color:var(--muted);font-size:12.5px;font-weight:600;margin-bottom:6px}
.blog-card-t{margin:0 0 8px;font-size:22px;font-weight:800;line-height:1.25}
.blog-card-t a{color:var(--navy2)}
.blog-card-t a:hover{color:var(--blue)}

/* Pagination */
.pagination{margin-top:30px;display:flex;flex-wrap:wrap;gap:8px}
.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:8px;color:var(--navy2);font-weight:700;font-size:14px}
.pagination .page-numbers.current{background:var(--navy);color:#fff;border-color:var(--navy)}
.pagination a.page-numbers:hover{border-color:var(--blue);color:var(--blue)}
.screen-reader-text{position:absolute;left:-9999px}

/* FAQ article pages */
.faq-related{list-style:none;margin:0;padding:0}
.faq-related li{padding:10px 0;border-bottom:1px solid var(--line)}
.faq-related li:last-child{border-bottom:0}
.faq-related a{color:var(--blue);font-weight:700}
.faq-related a:hover{color:var(--navy)}
.faq-wrap .a a{color:var(--blue);font-weight:700}

/* HTML sitemap */
.sitemap-list{list-style:none;margin:0 0 10px;padding:0;columns:2;column-gap:26px}
.sitemap-list li{padding:6px 0;break-inside:avoid}
.sitemap-list a{color:var(--blue);font-weight:600;font-size:14px}
.sitemap-list a:hover{color:var(--navy)}
@media(max-width:640px){.sitemap-list{columns:1}}

/* Detailed inmate-tracking form */
.inmate-card{max-width:760px;border:1px solid var(--line);border-radius:14px;padding:22px 22px 24px;background:#fff;box-shadow:0 10px 24px rgba(7,43,95,.06)}
.inmate-form{gap:14px}
.if-section{display:flex;align-items:center;gap:8px;color:#8F6B00;font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.6px;margin:8px 0 2px;padding-top:14px;border-top:1px solid var(--line)}
.if-section:first-of-type{border-top:0;padding-top:0}
.if-section i{color:#8F6B00;font-size:17px}
.if-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.if-grid label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:700;color:var(--navy2)}
.if-grid label .in{font-weight:400}
.if-full{grid-column:1/-1}
.req{color:var(--orange)}
.if-consent{display:flex;gap:9px;align-items:flex-start;font-size:13px;color:var(--body);font-weight:400;line-height:1.55;margin-top:4px}
.if-consent input{margin-top:3px;flex:none;width:16px;height:16px}
.if-consent a{color:var(--blue);font-weight:700}
@media(max-width:560px){.if-grid{grid-template-columns:1fr}}

/* 404 on-page search */
.sr-list{margin-top:14px;display:flex;flex-direction:column;gap:6px}
.sr-item{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:10px;color:var(--navy2);font-weight:700;font-size:15px;transition:border-color .2s,color .2s,background .2s}
.sr-item:hover{border-color:var(--blue);color:var(--blue);background:var(--band)}
.sr-none{padding:14px 2px;color:var(--muted);font-size:14px}

/* Hub: area grid */
.areas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:8px 0 8px}
.areas-grid a{border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-weight:700;color:var(--navy2);font-size:14px;display:flex;justify-content:space-between;align-items:center;transition:border-color .2s,color .2s,transform .2s}
.areas-grid a:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-2px)}
.areas-grid a i{color:var(--blue)}
.area-group-t{color:var(--gold);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.6px;margin:22px 0 8px}

/* Sticky mobile call bar */
.mobile-callbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--orange);color:#fff;font-weight:800;padding:13px;text-align:center;font-size:16px;box-shadow:0 -4px 14px rgba(0,0,0,.2)}
.mobile-callbar i{margin-right:6px}

/* Animations */
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.5)}100%{box-shadow:0 0 0 12px rgba(255,255,255,0)}}

/* Responsive */
@media(max-width:1024px){
  .mega-grid{gap:6px 24px;padding:20px 22px 16px}
  .mega-links.cols{column-count:3}
}
@media(max-width:980px){
  nav.desk{display:none}
  .burger{display:block}
}
@media(max-width:900px){
  .body-in{grid-template-columns:1fr;gap:30px}
  aside.bbh-aside{position:static;order:2}
  .areas-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:860px){
  .hero-in,.trust-in,.ft,.reband{grid-template-columns:1fr}
  .trust-in{grid-template-columns:1fr 1fr}
  .hd .call .lbl{display:none}
  .hd .call{padding:9px 12px}
  .mobile-callbar{display:block}
  body.has-callbar{padding-bottom:52px}
  table.dir thead{display:none}
  table.dir,table.dir tbody,table.dir tr,table.dir td{display:block;width:100%}
  table.dir tr{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;padding:6px 4px;background:#fff}
  table.dir tr:nth-child(even) td{background:transparent}
  table.dir td{border:0;padding:5px 12px}
  table.dir td::before{content:attr(data-label);display:block;font-size:10.5px;font-weight:800;color:var(--gold);text-transform:uppercase;letter-spacing:.5px;margin-bottom:1px}
}
/* Trust bar stays 2 columns on mobile (never a single column). */
@media(max-width:560px){.areas-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion: reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}

/* Guide/pillar-page content: quick-answer callout + scoped content tables. */
.bbh-main .quick-answer{background:var(--band);border-left:4px solid var(--gold);border-radius:0 10px 10px 0;padding:14px 18px;margin:6px 0 4px;font-size:15px;line-height:1.6;color:var(--navy2)}
.bbh-main .quick-answer strong{color:var(--navy)}
.bbh-main h3.st{display:block;margin:16px 0 6px}
.bbh-main .tbl-wrap{overflow-x:auto;margin:2px 0 16px}
.tbl-wrap table{border-collapse:collapse;width:100%;font-size:14.5px}
.tbl-wrap th,.tbl-wrap td{border:1px solid var(--line);padding:9px 12px;text-align:left;vertical-align:top}
.tbl-wrap th{background:var(--band);color:var(--navy2);font-weight:800}

/* Pomona: ensure content is always visible even if scroll-reveal JS does not fire */
.reveal{opacity:1 !important;transform:none !important}

/* ===== Container rules restated for Elementor containers (generated by adapt.py) ===== */
.elementor .wrap.e-con{max-width:1120px;margin:0 auto;padding:0 24px}
.elementor .hd.e-con{display:flex;align-items:center;justify-content:space-between;height:68px;gap:14px}
.elementor .hd-right.e-con{display:flex;align-items:center;gap:6px}
.elementor .hero.e-con{background:#12386c;border-top:1px solid rgba(255,255,255,.10);box-shadow:inset 0 6px 24px rgba(255,255,255,.05)}
.elementor .hero-in.e-con{display:grid;grid-template-columns:1.25fr 1fr;gap:34px;align-items:center;padding-top:clamp(36px,6vw,58px);padding-bottom:clamp(36px,6vw,58px)}
.elementor .hero-in.no-media.e-con{grid-template-columns:1fr}
.elementor .trust.e-con{background:var(--navy);border-top:3px solid var(--gold)}
.elementor .trust-in.e-con{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;text-align:center;padding-top:22px;padding-bottom:22px}
.elementor .trust .ti-wrap.e-con{color:#dbe6f2;font-size:14px;font-weight:700}
.elementor .body-in.e-con{display:grid;grid-template-columns:1.85fr 1fr;gap:40px;align-items:start;padding-top:48px;padding-bottom:48px}
.elementor .body-in.no-sidebar.e-con{grid-template-columns:1fr;max-width:820px}
.elementor .block.e-con{display:flex;gap:14px;margin-bottom:18px;padding:8px;border-radius:10px;transition:background .2s}
.elementor .block.e-con:hover{background:var(--band)}
.elementor .svc.e-con{margin-bottom:18px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;transition:transform .2s,border-color .2s,box-shadow .2s}
.elementor .svc.e-con:hover{transform:translateY(-3px);border-color:var(--blue);box-shadow:0 10px 24px rgba(7,43,95,.10)}
.elementor .step.e-con{display:flex;gap:14px;margin-bottom:16px}
.elementor .sec+.sec.e-con{margin-top:42px}
.elementor .bbh-aside.e-con{position:sticky;top:86px;display:flex;flex-direction:column;gap:16px}
.elementor .card.e-con{border:1px solid var(--line);border-radius:14px;overflow:hidden}
.elementor .card .hd2.e-con{background:var(--navy);padding:14px 16px}
.elementor .card .bd.e-con{padding:16px 16px 18px;display:flex;flex-direction:column;gap:12px}
.elementor .callbox.e-con{background:var(--orange);border-radius:14px;padding:18px;text-align:center;color:#fff}
.elementor .trustcard.e-con{background:var(--navy);border-radius:14px;padding:18px}
.elementor .links.e-con{border:1px solid var(--line);border-radius:14px;padding:18px}
.elementor .hours.e-con{background:var(--band);border:1px solid var(--line);border-radius:14px;padding:18px}
.elementor .cta.e-con{background:var(--orange);text-align:center;padding:clamp(38px,6vw,52px) 0;color:#fff}
.elementor .ft.e-con{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:26px}
.elementor .ft-lic.e-con{font-size:var(--t-lic);font-weight:800;color:#fff;line-height:1.3;margin-top:22px;letter-spacing:.2px}
.elementor .ft-legal.e-con{border-top:1px solid #10315c;margin-top:26px;padding-top:16px;color:#7f9bbd;font-size:12px;line-height:1.6}
.elementor .ft-bottom.e-con{margin-top:12px;padding-top:12px;border-top:1px solid #10315c;display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:12.5px;font-weight:600}
.elementor .mobile-callbar.e-con{display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--orange);color:#fff;font-weight:800;padding:13px;text-align:center;font-size:16px;box-shadow:0 -4px 14px rgba(0,0,0,.2)}
@media(max-width:900px){
.elementor .body-in.e-con{grid-template-columns:1fr;gap:30px}
.elementor .bbh-aside.e-con{position:static;order:2}
}@media(max-width:860px){
.elementor .hero-in.e-con,.elementor .trust-in.e-con,.elementor .ft.e-con{grid-template-columns:1fr}
.elementor .trust-in.e-con{grid-template-columns:1fr 1fr}
.elementor .mobile-callbar.e-con{display:block}
}

/* ===== Elementor adapters ===== */
/* Hand-written adapters: the sister theme styles plain elements (h2.h2, p.p, a.btn-orange, i.ti); in Elementor those are widgets whose
   class sits on the widget wrapper and whose inner element carries Elementor's own defaults. Selectors start with .elementor so they win.
   Container-level rules (display, padding, gap, position, text-align) are generated from the sister rules by adapt.py. */

/* ---- Elementor housekeeping ---- */
body .elementor.elementor .e-con{min-width:0}
body .elementor.elementor .elementor-widget{min-width:0}
.elementor-widget-text-editor p,.elementor-widget-text-editor ul,.elementor-widget-text-editor ol{margin:0}
/* the sister styles class-less p/ul/li as legal-page typography; text widgets with a class keep the class typography */
body .elementor.elementor .p p,body .elementor.elementor .lp p,body .elementor.elementor .lead p,body .elementor.elementor .es p,body .elementor.elementor .sub p,body .elementor.elementor .lab p,body .elementor.elementor .sb-t p,body .elementor.elementor .row2 p,body .elementor.elementor .hours-line p,body .elementor.elementor .help-or p,body .elementor.elementor .quick-answer p,body .elementor.elementor .nap-sub p,body .elementor.elementor .num p,body .elementor.elementor .ti-txt p,body .elementor.elementor .hd2-s p,body .elementor.elementor .desc p,body .elementor.elementor .ft-legal-t p{font-size:inherit;line-height:inherit;color:inherit;letter-spacing:inherit;margin:0}
body .elementor.elementor .p ul,body .elementor.elementor .p ol{font-size:inherit}
body .elementor.elementor .elementor-widget.rule{background:transparent;width:auto;height:auto;border-radius:0}
html{scroll-padding-top:84px}
.h2[id]{scroll-margin-top:6px}
body .elementor.elementor .e-con.hd-right{width:auto;flex:none}
body .elementor.elementor .hd>.elementor-widget,body .elementor.elementor .hd>.e-con{flex:0 0 auto}
body .elementor.elementor .hd{flex-wrap:nowrap}
body .elementor.elementor .hd>.elementor-widget:first-child{flex:0 1 auto;min-width:0}
body .elementor.elementor .block>.blk-body,body .elementor.elementor .step>.stp-body{flex:1 1 0;min-width:0;width:auto}

/* ---- header: the mega panel is positioned against the sticky header, as in the sister ---- */
.site-header,.site-header .elementor,.site-header .e-con,.site-header .elementor-widget,.site-header .elementor-shortcode{position:static}
.site-header{position:sticky}
body .elementor.elementor .bbp-btn-call .elementor-button{display:inline-flex;align-items:center;gap:7px;background:var(--orange);color:#fff;font-weight:800;font-size:15px;line-height:normal;padding:10px 16px;border-radius:8px;border:0;transition:transform .2s,filter .2s}
body .elementor.elementor .bbp-btn-call .elementor-button:hover{transform:translateY(-2px);filter:brightness(1.06);background:var(--orange);color:#fff}
body .elementor.elementor .bbp-btn-call .elementor-button-content-wrapper{display:inline}
body .elementor.elementor .hd-right .elementor-widget-html{display:none}
@media(max-width:980px){body .elementor.elementor .hd-right .elementor-widget-html{display:block}}

/* ---- hero picture (Elementor Image widget in .hero-in beside .hero-copy): the sister's `.hero img` look ---- */
body .elementor.elementor .hero-in:not(.no-media) .lead{max-width:520px}
body .elementor.elementor .hero .hero-media{width:100%;min-width:0;margin:0}
body .elementor.elementor .hero .hero-media .elementor-widget-container{display:block}
body .elementor.elementor .hero .hero-media img{display:block;width:100%;max-width:100%;height:clamp(200px,32vw,270px);object-fit:cover;border-radius:14px;box-shadow:0 14px 34px rgba(4,29,64,.35);animation:floaty 7s ease-in-out infinite}
@media(max-width:860px){body .elementor.elementor .hero .hero-media img{height:clamp(200px,52vw,340px)}body .elementor.elementor .hero-in:not(.no-media){row-gap:24px}}

/* ---- headings ---- */
body .elementor.elementor .h2 .elementor-heading-title{font-weight:800;font-size:clamp(21px,3vw,27px);text-transform:uppercase;letter-spacing:.4px;color:var(--navy2);line-height:1.15;margin:0}
body .elementor.elementor .st .elementor-heading-title{color:var(--navy2);font-weight:700;font-size:17px;line-height:normal;margin:0}
body .elementor.elementor .sec>.st{margin:16px 0 6px}
body .elementor.elementor .bbh-main .sec>.p+.st{margin-top:2px}
body .elementor.elementor .bbh-main>.sec:last-child>.p:last-child{margin-bottom:14px}
body .elementor.elementor .kick .elementor-heading-title{color:var(--gold);font-weight:800;font-size:13px;letter-spacing:1.6px;text-transform:uppercase;line-height:normal}
body .elementor.elementor .hero h1.elementor-heading-title{color:#fff;font-weight:800;font-size:clamp(28px,5vw,42px);line-height:1.1;margin-top:12px}
body .elementor.elementor .hero .lead{color:#c7d6ea;font-size:16px;line-height:1.65;margin-top:16px;max-width:640px}
body .elementor.elementor .hero .hero-call{margin-top:18px}
body .elementor.elementor .hero .hero-in .hero-copy{max-width:none}

/* ---- paragraphs and links in the main column ---- */
body .elementor.elementor .p{font-size:15px;line-height:1.65;color:var(--body);font-weight:400}
body .elementor.elementor .bbh-main .p{margin-bottom:14px}
body .elementor.elementor .p strong{color:var(--navy2)}
body .elementor.elementor .bbh-main .quick-answer{margin:0 0 4px;color:var(--navy2)}
body .elementor.elementor .bbh-main .tbl-wrap{margin:0 0 16px}
body .elementor.elementor .bbh-main .sec>:last-child{margin-bottom:0}
body .elementor.elementor .bbp-list.lp ul,body .elementor.elementor .bbp-list.lp ol{margin:0 0 16px 22px}
body .elementor.elementor .bbp-list.lp li{font-size:16px;line-height:1.6;margin-bottom:7px}
body .elementor.elementor .sec>.bbp-list.lp:last-child ul,body .elementor.elementor .sec>.bbp-list.lp:last-child ol{margin-bottom:0}
body .elementor.elementor .sec>.bbp-list.lp:last-child li:last-child{margin-bottom:0}
body .elementor.elementor .sec+.sec.sec-legal{margin-top:28px}
body .elementor.elementor .bbp-list.p ul,body .elementor.elementor .bbp-list.p ol{margin:0}
body .elementor.elementor .bbp-list.p li{margin:0;line-height:1.65}
body .elementor.elementor .bbh-main .bbp-list.p{margin-bottom:0}
body .elementor.elementor .bbh-main .bbp-list.lp{margin-bottom:0}
body .elementor.elementor .bbh-main .sec>.bbp-list.p+.p{margin-top:0}
body .elementor.elementor #areas .p a{margin-right:2px}
body .elementor.elementor .bbh-main .svc-head a:hover{text-decoration:none;color:var(--navy)}

/* ---- rule (divider widget) ---- */
body .elementor.elementor .rule{margin:12px 0 18px}
body .elementor.elementor .rule .elementor-divider{display:block;padding:0}
body .elementor.elementor .rule .elementor-divider-separator{display:block;width:60px;height:4px;background:var(--gold);border:0;border-radius:2px;margin:0}

/* ---- buttons (Elementor button widget) ---- */
body .elementor.elementor .bbp-btn .elementor-button{display:inline-flex;align-items:center;gap:8px;background:var(--orange);color:#fff;font-weight:800;padding:14px 26px;border-radius:8px;font-size:16px;line-height:normal;transition:transform .2s,filter .2s;border:0;cursor:pointer;fill:#fff}
body .elementor.elementor .bbp-btn .elementor-button:hover,body .elementor.elementor .bbp-btn .elementor-button:focus{transform:translateY(-2px);filter:brightness(1.06);background:var(--orange);color:#fff}
body .elementor.elementor .bbp-btn .elementor-button-content-wrapper,body .elementor.elementor .bbp-btn-white .elementor-button-content-wrapper,body .elementor.elementor .bbp-callbar .elementor-button-content-wrapper{display:inline}
body .elementor.elementor .bbp-btn-white .elementor-button{display:inline-flex;align-items:center;gap:8px;background:#fff;color:var(--orange);font-weight:800;font-size:18px;line-height:normal;padding:14px 30px;border-radius:8px;border:0;transition:transform .2s}
body .elementor.elementor .bbp-btn-white .elementor-button:hover,body .elementor.elementor .bbp-btn-white .elementor-button:focus{transform:translateY(-2px);background:#fff;color:var(--orange)}
body .elementor.elementor .bbp-callbar .elementor-button{display:flex;align-items:center;justify-content:center;gap:6px;background:transparent;color:#fff;font-weight:800;font-size:16px;line-height:normal;padding:0;border:0;width:100%}
body .elementor.elementor .bbp-callbar .elementor-button:hover{background:transparent;color:#fff}

/* ---- list-style cards ---- */
body .elementor.elementor .block.e-con::after{color:var(--blue);font-size:24px;margin-top:2px;flex:none}
body .elementor.elementor .svc .svc-head,body .elementor.elementor .svc .head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
body .elementor.elementor .block>.blk-body{margin-left:14px}
body .elementor.elementor .svc .svc-head::before,body .elementor.elementor .svc .head::before{color:var(--blue);font-size:20px;flex:none}
body .elementor.elementor .svc .svc-head .elementor-heading-title,body .elementor.elementor .svc .head .elementor-heading-title{color:var(--blue);font-weight:800;font-size:16px;line-height:normal;margin:0}
body .elementor.elementor .svc .svc-head:hover .elementor-heading-title{color:var(--navy)}
/* the whole row (icon, title, arrow, empty space) is the link, as the sister's a.svc-head */
body .elementor.elementor .svc .svc-head{position:relative;cursor:pointer}
body .elementor.elementor .svc .svc-head .elementor-heading-title a::after{content:"";position:absolute;inset:0}
body .elementor.elementor .svc .svc-head:hover::before,body .elementor.elementor .svc .svc-head:hover::after{color:var(--navy)}
body .elementor.elementor .svc-head .elementor-heading-title a{color:inherit !important;font-weight:inherit !important;text-decoration:none !important}
body .elementor.elementor .svc .svc-head::after{content:"\ea1f";font-family:'tabler-icons' !important;font-style:normal;font-weight:normal;line-height:1;font-size:14px;color:var(--blue)}
body .elementor.elementor .step .num{flex:none;width:36px;max-width:36px;height:36px;border-radius:50%;background:var(--gold);color:var(--navy);font-weight:800;font-size:16px;line-height:normal;display:flex;align-items:center;justify-content:center;margin:0}
body .elementor.elementor .step .num p{margin:0;color:var(--navy)}
body .elementor.elementor .nap-links .lnk{font-weight:700}
body .elementor.elementor .card.nap-card{margin:0 0 14px}
body .elementor.elementor .card.nap-card:last-child{margin-bottom:0}
body .elementor.elementor .nap-card .bd .p{margin-bottom:0}
body .elementor.elementor .nap-card .hd2-k .elementor-heading-title{color:var(--gold);font-weight:800;font-size:10.5px;letter-spacing:.8px;text-transform:uppercase;line-height:normal;margin:0 0 3px}

/* ---- aside cards ---- */
body .elementor.elementor .hd2 .hd2-b .elementor-heading-title{color:#fff;font-weight:800;font-size:16px;display:block;line-height:normal;margin:0}
body .elementor.elementor .hd2 .hd2-s{color:#9fc2e6;font-size:11px;font-weight:600;margin-top:5px;padding-bottom:2px}
body .elementor.elementor .hd2 .hd2-s p{line-height:normal}
body .elementor.elementor .callbox .callsub{color:#fff;font-size:13px;font-weight:400}
body .elementor.elementor .hours .hours-sub{color:var(--muted);font-size:13px;font-weight:500;margin-top:3px}
body .elementor.elementor .lead-form-w .wpcf7{margin:0}
body .elementor.elementor .callbox .lab{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:#fff}
body .elementor.elementor .callbox .num2-w{color:#fff}
body .elementor.elementor .callbox .num2 .ring{color:#fff}
body .elementor.elementor .sb-t{color:var(--gold);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.7px;margin-bottom:11px}
body .elementor.elementor .links .sb-t,body .elementor.elementor .hours .sb-t{color:var(--navy2)}
body .elementor.elementor .trustcard .row2{display:flex;align-items:flex-start;color:#dbe6f2;font-size:13px;font-weight:600;margin-bottom:9px}
body .elementor.elementor .trustcard .row2:last-child{margin-bottom:0}
body .elementor.elementor .trustcard .row2::before{color:var(--gold);width:auto;margin-right:2.4px;flex:none;margin-top:1px}
body .elementor.elementor .links .links-rows{display:block}
body .elementor.elementor .links .row{color:var(--blue)}
body .elementor.elementor .links .row:hover{color:var(--navy)}
body .elementor.elementor .hours .hours-line{display:flex;align-items:flex-start;gap:2.8px;color:var(--body);font-size:15px;font-weight:700}
body .elementor.elementor .hours .hours-line::before{color:var(--blue);margin-top:2px}

/* ---- Contact Form 7 inside the lead card ---- */
.lead-form .wpcf7-form-control-wrap{display:block}
.lead-form .wpcf7-form-control-wrap .in,.lead-form textarea.in{display:block}
.lead-form textarea.in{resize:none}
.lead-form .btn-orange{justify-content:center;width:100%;font-family:inherit}
.wpcf7 .wpcf7-spinner{display:none}
.wpcf7 form .wpcf7-response-output{margin:12px 0 0;padding:8px 10px;border:0;border-radius:7px;font-size:13px;font-weight:700}
.wpcf7 form.sent .wpcf7-response-output{background:#e6f4ea;color:#1c6b34}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output,.wpcf7 form.spam .wpcf7-response-output,.wpcf7 form.aborted .wpcf7-response-output{background:#fdecea;color:#b3261e}
.wpcf7-not-valid-tip{display:block;margin-top:3px;font-size:12px;font-weight:600;color:#b3261e}
.screen-reader-text{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* ---- FAQ (Elementor accordion drawn as the sister's .faq-item) ---- */
body .elementor.elementor .faq-wrap .elementor-accordion{border:0}
body .elementor.elementor .faq-wrap .elementor-accordion .elementor-accordion-item{border:0;border-bottom:1px solid var(--line)}
body .elementor.elementor .faq-wrap .elementor-accordion .elementor-tab-title{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:15px 0;margin:0;cursor:pointer;background:transparent;border:0;line-height:normal;font-size:16px;font-weight:400;color:var(--body)}
body .elementor.elementor .faq-wrap .elementor-accordion .elementor-tab-title::after{content:"\ea5f";font-family:'tabler-icons' !important;font-style:normal;font-weight:normal;line-height:1;color:var(--blue);font-size:20px;transition:transform .3s;flex:none}
body .elementor.elementor .faq-wrap .elementor-accordion .elementor-tab-title.elementor-active::after{transform:rotate(180deg)}
body .elementor.elementor .faq-wrap .elementor-accordion .elementor-accordion-icon{display:none}
body .elementor.elementor .faq-wrap .elementor-accordion a.elementor-accordion-title{color:var(--navy2) !important;font-weight:700 !important;font-size:15.5px;line-height:normal;text-decoration:none !important;flex:1 1 auto}
body .elementor.elementor .faq-wrap .elementor-accordion .elementor-tab-content{padding:0 0 16px;border:0;margin:0;font-size:15px;line-height:1.65;color:var(--body);font-weight:400}
body .elementor.elementor .faq-wrap .elementor-accordion .elementor-tab-content p{font-size:15px;line-height:1.65;letter-spacing:-.01em;margin:0 0 16px}
body .elementor.elementor .faq-wrap .elementor-accordion .elementor-tab-content p:last-child{margin-bottom:0}
body .elementor.elementor .faq-wrap .elementor-tab-content a{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:2px}

/* ---- jail / court directory ---- */
body .elementor.elementor .dir-wrap{margin:4px 0 14px}
body .elementor.elementor .dir-wrap .tabs{margin-top:0}
body .elementor.elementor .dir-wrap button.tab{font-family:inherit;line-height:normal}
body .elementor.elementor .dir-wrap .tp,body .elementor.elementor .dir-wrap .ph{color:var(--navy2)}
body .elementor.elementor .bbh-main .sec>.dir-wrap.dir-wrap{margin-top:0;margin-bottom:-8px}
/* the directory phone number is a tel: link that reads as the sister's plain navy number */
body .elementor.elementor .bbh-main table.dir td.ph a,body .elementor.elementor .bbh-main table.dir td.ph a:hover{color:inherit !important;text-decoration:none !important;cursor:inherit}
body .elementor.elementor .faq-wrap .elementor-tab-title:focus-visible,body .elementor.elementor .faq-wrap a.elementor-accordion-title:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}

/* ---- related questions list ---- */
body .elementor.elementor .faq-related ul{list-style:none;margin:0;padding:0}
body .elementor.elementor .bbh-main .faq-related li{margin-bottom:0;line-height:normal}

/* ---- legal pages (plain-HTML typography in the sister) ---- */
body .elementor.elementor .lh2 .elementor-heading-title{color:var(--navy2);font-weight:800;font-size:22px;margin:28px 0 10px;line-height:1.25}
body .elementor.elementor .lh3 .elementor-heading-title{color:var(--navy2);font-weight:700;font-size:18px;margin:22px 0 8px;line-height:normal}
body .elementor.elementor .lp{font-size:15.5px;line-height:1.7;margin-bottom:14px;color:var(--body)}
body .elementor.elementor .sec>.lh2:first-child .elementor-heading-title{margin-top:0}

/* ---- CTA band ---- */
body .elementor.elementor .cta .cta-h .elementor-heading-title{color:#fff;font-weight:800;font-size:clamp(22px,4vw,30px);text-transform:uppercase;letter-spacing:.5px;line-height:normal;margin:0;text-align:center}
body .elementor.elementor .cta .es{color:#fff;font-size:16px;font-weight:600;max-width:620px;margin:12px auto 4px}
body .elementor.elementor .cta .sub{color:#fff;font-size:14px;font-weight:400;max-width:620px;margin:0 auto 20px}
body .elementor.elementor .cta .es+.elementor-widget-button,body .elementor.elementor .cta .sub+.elementor-widget-button{margin-top:16px}
body .elementor.elementor .cta .cta-h+.elementor-widget-button{margin-top:20px}
body .elementor.elementor .cta .cta-h+.es{margin-top:12px}
body .elementor.elementor .cta .e-con.wrap{align-items:center}

/* ---- trust bar ---- */
body .elementor.elementor .trust .ti-wrap{text-align:center;align-items:center}
body .elementor.elementor .trust .ti-wrap.e-con::after{color:var(--gold);font-size:26px;display:block;margin-bottom:6px;transition:transform .3s}
body .elementor.elementor .trust .ti-wrap.e-con:hover::after{transform:translateY(-3px) scale(1.08)}
body .elementor.elementor .trust .ti-txt{color:#dbe6f2;font-size:14px;font-weight:700}

/* ---- footer ---- */
body .elementor.elementor .ft .elementor-heading-title{color:var(--gold);font-weight:800;font-size:12px;text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px;line-height:normal}
body .elementor.elementor .ft .col .elementor-widget-text-editor{color:#c7d6ea;font-size:13px;font-weight:500;line-height:2}
body .elementor.elementor .ft .col a{color:#c7d6ea}
body .elementor.elementor .ft .col a:hover{color:#fff}
body .elementor.elementor .ft .col .desc{color:#9fb4cf;font-size:12px;line-height:1.6;margin-top:10px}
body .elementor.elementor .ft-lic .ft-lic-t{color:#fff;font-size:var(--t-lic);font-weight:800;line-height:1.3;letter-spacing:.2px}
body .elementor.elementor .ft-lic .ft-lic-t span{color:var(--gold)}
body .elementor.elementor .ft-legal .ft-legal-t{color:#7f9bbd;font-size:12px;line-height:1.6}
body .elementor.elementor .ft-bottom .ft-bottom-t{font-size:12.5px;font-weight:600}
body .elementor.elementor .ft-bottom .ft-bottom-t a{color:#c7d6ea}
body .elementor.elementor .ft-bottom .ft-bottom-t a:hover{color:#fff}
body .elementor.elementor .ft-bottom .ft-bottom-t span{color:#7f9bbd}
body .elementor.elementor .e-con.ft-bottom{flex-direction:row;justify-content:flex-start}
body .elementor.elementor .ft .col .desc,body .elementor.elementor .ft .col .desc p{font-weight:400}

/* ---- narrow screens ---- */
/* four mega items need more room than the sister's two: the burger takes over below 1040px instead of 980px */
@media(max-width:1040px){
  nav.desk{display:none}
  .burger{display:block}
  body .elementor.elementor .hd .elementor-widget-shortcode:has(nav.desk){display:none}
  body .elementor.elementor .hd-right .elementor-widget-html{display:block}
}
@media(min-width:1041px){.mnav,.mnav.open{display:none}}
@media(max-width:860px){
  body .elementor.elementor .hd .bbp-btn-call .elementor-button{gap:0;padding:9px 12px;position:relative}
  /* label hidden visually but kept for screen readers (the sister keeps it through aria-label) */
  .elementor .hd .bbp-btn-call .elementor-button-text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  body .elementor.elementor .hd .bbp-btn-call .elementor-button-content-wrapper{display:contents}
  body .elementor.elementor .mobile-callbar.e-con{padding:0}
  body .elementor.elementor .mobile-callbar .bbp-callbar{width:100%}
  body .elementor.elementor .bbp-callbar .elementor-button{padding:13px;min-height:48px}
  html{scroll-padding-bottom:64px}
  body .elementor.elementor .hero h1.elementor-heading-title{margin-top:12px}
}
@media(max-width:767px){
  body .elementor.elementor .block.e-con,body .elementor.elementor .step.e-con{flex-direction:row}
}
@media (prefers-reduced-motion:reduce){body .elementor.elementor .svc,body .elementor.elementor .bbp-btn .elementor-button{transition:none}}

/* ---- jail / court section, call-back row, table of contents ---- */
body .elementor.elementor .help-row{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:14px;margin-top:0}
body .elementor.elementor .help-row .elementor-button{line-height:1.7}
body .elementor.elementor .help-row .help-or{font-size:15.5px;font-weight:400;line-height:1.7;color:var(--body)}
body .elementor.elementor .help-row .help-or a{color:var(--blue);font-weight:700;font-size:15.5px}
body .elementor.elementor .bbh-main .toc-w{margin:0 0 24px}
body .elementor.elementor .bbh-main .toc-w .bbh-toc{margin:0}
.has-mega.mega-wrap .mega-links a{white-space:normal;overflow:visible;text-overflow:clip}
.has-mega:focus-within:not(:hover) .mega-panel:not(.open){opacity:0;visibility:hidden;transform:translateX(-50%) translateY(6px)}

/* ---- Elementor editor only: paint the canvas behind the header and footer templates so their light text can be read ---- */
body.elementor-editor-active.single-elementor-hf .elementor-widget-shortcode .elementor-widget-empty-icon{display:none}
body.elementor-editor-active.single-elementor-hf .elementor-section-wrap:has(.hd){background:var(--navy)}
body.elementor-editor-active.single-elementor-hf .elementor-section-wrap:has(.ft){background:var(--navy3);padding:42px 0}
