:root{
  --bg:#faf8f4; --fg:#22293a; --muted:#6a7183; --border:#e2ddd2;
  --card:#fffdf9; --soft:#f0ebe1; --ink:#1d2333; --ink-fg:#f2efe8;
  --accent:#b58637; --brass:#c79a42;
}
body{background:var(--bg);color:var(--fg);font-family:"Manrope",system-ui,sans-serif;}
h1,h2,h3,.brand,.display-2,.display-3,.display-5,.display-6{font-family:"Fraunces",Georgia,serif;letter-spacing:-.01em;}
.muted{color:var(--muted);}
.text-accent{color:var(--accent);}
.text-accent-dark{color:var(--accent);}
.text-brass{color:var(--brass);}
.link-accent{color:var(--fg);text-decoration:none;}
.link-accent:hover{color:var(--accent);}
.py-md-6{padding-top:5rem;padding-bottom:5rem;}
.eyebrow{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--accent);margin:0;}
.site-header{background:rgba(250,248,244,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);}
.site-header .navbar-brand{font-size:1.15rem;font-weight:600;color:var(--fg);}
.site-header .nav-link{color:var(--muted);}
.site-header .nav-link:hover,.site-header .nav-link.active{color:var(--fg);font-weight:600;}
.btn{border-radius:2px;}
.btn-ink{background:var(--ink);color:var(--ink-fg);}
.btn-ink:hover{background:#2a3247;color:#fff;}
.btn-outline-ink{border:1px solid rgba(34,41,58,.2);color:var(--fg);}
.btn-outline-ink:hover{background:var(--soft);color:var(--fg);}
.btn-brass{background:var(--brass);color:var(--ink);font-weight:600;}
.btn-brass:hover{background:#d3a850;color:var(--ink);}
.band-ink{background:var(--ink);color:var(--ink-fg);}
.band-soft{background:var(--soft);}
.cta-band{background:var(--ink);color:var(--ink-fg);}
.card-tile{background:var(--card);border:1px solid var(--border);padding:2rem;text-decoration:none;color:inherit;display:block;transition:background .15s ease;}
a.card-tile:hover{background:var(--soft);}
.service-list .service-row{display:grid;grid-template-columns:60px 1fr;gap:.25rem 1rem;padding:1.75rem .5rem;border-bottom:1px solid var(--border);text-decoration:none;color:inherit;transition:background .15s ease;}
.service-list .service-row:hover{background:var(--soft);}
.service-list .service-row:hover h2{color:var(--accent);}
@media(min-width:768px){.service-list .service-row{grid-template-columns:70px 1fr 1.4fr;align-items:baseline;}}
.marked{border-left:2px solid rgba(181,134,55,.45);padding-left:1rem;}
.role-list li+li{border-top:1px solid var(--border);}
.quote{background:var(--soft);border:1px solid var(--border);padding:2rem;font-family:"Fraunces",Georgia,serif;font-style:italic;font-size:1.2rem;margin:0;}
.site-footer{background:var(--ink);color:var(--ink-fg);}
.site-footer a{color:var(--ink-fg);opacity:.8;text-decoration:none;}
.site-footer a:hover{opacity:1;color:var(--brass);}
h1.display-2{max-width:60rem;line-height:1.05;}
