:root{--ink:#0e1220;--ink-2:#1a2233;--navy:#0a1b2b;--navy-2:#0e2338;--slate:#e6e9ee;--slate-2:#cdd3dd;--gold:#c4a24b;--gold-2:#a98a3e;--white:#ffffff}
body{background:#fff;color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";font-size:16px;line-height:1.6}
h1,h2,h3,h4,h5,h6{font-family:"Libre Baskerville",Georgia,serif;color:var(--ink);letter-spacing:.2px}
.navbar-law{background:var(--navy);border-bottom:1px solid rgba(255,255,255,.06)}
.navbar-law .navbar-brand{color:#fff;font-weight:600;letter-spacing:.4px}
.navbar-law .navbar-brand:hover{color:#fff}
.navbar-law .nav-link{color:rgba(255,255,255,.85);font-weight:500}
.navbar-law .nav-link:hover,.navbar-law .nav-link:focus{color:#fff}
.navbar-law .nav-link.active{color:var(--gold)}
.navbar-law .nav-link{position:relative}
.navbar-law .nav-link::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:center;transition:transform .25s ease}
.navbar-law .nav-link:hover::after,.navbar-law .nav-link.active::after{transform:scaleX(1)}
.btn{border-radius:2px}
.btn-primary{--bs-btn-bg:var(--gold);--bs-btn-border-color:var(--gold);--bs-btn-hover-bg:var(--gold-2);--bs-btn-hover-border-color:var(--gold-2);--bs-btn-color:#0a0f18}
.btn-outline-primary{--bs-btn-color:var(--gold);--bs-btn-border-color:var(--gold);--bs-btn-hover-bg:var(--gold);--bs-btn-hover-border-color:var(--gold);--bs-btn-hover-color:#0a0f18;border-radius:2px}
.btn:focus{box-shadow:0 0 0 .2rem rgba(196,162,75,.35);outline:none}
.hero{background:var(--navy);color:#fff;padding:5rem 0;border-bottom:2px solid var(--gold)}
.hero h1{color:#fff;letter-spacing:.3px}
.hero .lead{color:#dbe3ef}
.hero-exec{position:relative;background:var(--navy);min-height:560px;display:flex;align-items:center}
.hero-exec.bg-image{background-image:url('/assets/images/hero/executive-hero.jpg');background-size:cover;background-position:center}
.hero-exec .hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,27,43,.70) 0%,rgba(14,35,56,.80) 100%)}
.hero-exec .hero-content{position:relative;z-index:1}
.hero-exec .hero-ctas .btn{padding:.75rem 1.25rem}
.section{padding:4rem 0}
.section-muted{background:#f5f7fa}
.site-footer{background:var(--navy);color:#dbe3ef;border-top:1px solid rgba(255,255,255,.06)}
.site-footer a{color:var(--gold)}
.site-footer a:hover{color:var(--gold-2)}
.card-law{border:1px solid var(--slate);border-radius:6px;box-shadow:0 1px 2px rgba(3,10,26,.04)}
.card-pro{border:1px solid var(--slate);border-radius:8px;box-shadow:0 2px 4px rgba(3,10,26,.06);overflow:hidden;background:#fff}
.card-pro .photo{width:100%;height:180px;object-fit:cover;background:#f0f3f8}
.card-pro .meta{padding:1rem 1rem 0}
.card-pro .footer{padding:1rem;border-top:1px solid var(--slate);background:#fafbfe}
.card-law,.card-pro{transition:transform .2s ease,box-shadow .2s ease}
.card-law:hover,.card-pro:hover{box-shadow:0 4px 12px rgba(3,10,26,.12);transform:translateY(-2px)}
.badge-verified{background:#0f5132;color:#fff;border-radius:2px;padding:.15rem .4rem;font-size:.75rem}
.badge-verified-gold{background:var(--gold);color:#0a0f18;border-radius:2px;padding:.15rem .4rem;font-size:.75rem}
.rating{display:flex;align-items:center;gap:.35rem}
.rating .star{width:16px;height:16px}
.text-gold{color:var(--gold)}
.card-testimonial{border:1px solid var(--slate);border-radius:8px;background:#fff;box-shadow:0 2px 6px rgba(3,10,26,.06)}
.card-testimonial .quote{font-size:.95rem;line-height:1.6}
.card-testimonial .meta{font-size:.875rem;color:#6b778c}
.bg-navy{background:var(--navy)!important;color:#fff}
.border-gold{border-color:var(--gold)!important}
.link-gold{color:var(--gold);text-decoration:none}
.link-gold:hover{text-decoration:underline;color:var(--gold-2)}
.brand-logo{width:140px;height:auto;display:inline-block}
@media (min-width: 992px){
  .brand-logo{width:180px}
}
.brand-logo-footer{height:24px;width:auto;display:inline-block;filter:brightness(0) invert(1)}
.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.12em;font-weight:600;color:var(--gold);font-size:.75rem}
.headline-lg{font-size:2.25rem;line-height:1.2}
.headline-md{font-size:1.5rem;line-height:1.3}
.presence{background:linear-gradient(180deg,#f7f9fc 0%,#f3f6fb 100%);position:relative;overflow:hidden}
.presence::before{content:'';position:absolute;inset:0;background:
  repeating-linear-gradient(0deg, rgba(10,27,43,.05) 0, rgba(10,27,43,.05) 1px, transparent 1px, transparent 60px),
  repeating-linear-gradient(90deg, rgba(10,27,43,.05) 0, rgba(10,27,43,.05) 1px, transparent 1px, transparent 60px);
opacity:.25;pointer-events:none}
.cv-card{border:1px solid var(--slate);border-radius:8px;background:#fff;box-shadow:0 2px 6px rgba(3,10,26,.06);overflow:hidden}
.cv-header{padding:1.5rem;border-bottom:1px solid var(--slate)}
.cv-body{padding:1.5rem}
.cv-photo{width:100%;height:280px;object-fit:cover;background:#f0f3f8;border-radius:6px;border:1px solid var(--slate)}
.cv-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}
.cv-section{margin-bottom:1rem}
.cv-label{font-weight:600;color:#334155;font-size:.9rem;margin-bottom:.25rem}
.secure-panel{background:var(--navy);color:#dbe3ef;border:1px solid rgba(255,255,255,.06);border-left:3px solid var(--gold);padding:.75rem 1rem;border-radius:6px}
.lock-icon{width:16px;height:16px;flex:0 0 16px;border:2px solid var(--gold);border-radius:3px;position:relative}
.lock-icon:after{content:'';position:absolute;top:-6px;left:3px;width:10px;height:6px;border:2px solid var(--gold);border-bottom:none;border-radius:6px 6px 0 0}
.map-placeholder{height:220px;border:1px dashed var(--slate-2);border-radius:6px;background:repeating-linear-gradient(45deg,#f8fafc,#f8fafc 10px,#f1f5f9 10px,#f1f5f9 20px)}
.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 56px)}
.admin-sidebar{background:var(--navy-2);color:#dbe3ef;border-right:1px solid rgba(255,255,255,.08);padding:1rem}
.admin-sidebar .nav-link{color:#c9d7ea;padding:.35rem .25rem;border-radius:4px}
.admin-sidebar .nav-link:hover,.admin-sidebar .nav-link.active{color:#fff;background:rgba(255,255,255,.08)}
.admin-main{background:#f6f8fb}
.viz-bar{width:16px;background:var(--gold);border-radius:3px}
.viz-hbar{position:relative;height:28px;background:#eef2f7;border-radius:6px;overflow:hidden}
.viz-hbar-fill{position:absolute;top:0;left:0;bottom:0;background:var(--gold)}
.viz-hbar-label{position:relative;z-index:1;padding:4px 8px;font-size:.875rem}
@media (max-width: 991.98px){
  .admin-shell{grid-template-columns:1fr}
}
@media (max-width: 575.98px){
  .brand-logo{width:120px}
  .headline-lg{font-size:1.75rem}
  .hero{padding:3rem 0}
  .hero-exec{min-height:420px}
  .presence::before{display:none}
}
.offcanvas-body .nav-link{color:#c9d7ea;padding:.35rem .25rem;border-radius:4px}
.offcanvas-body .nav-link:hover,.offcanvas-body .nav-link.active{color:#fff;background:rgba(255,255,255,.08)}
