: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;}

/* Responsive refinements */
html,body{max-width:100%;overflow-x:hidden;}
img,svg{max-width:100%;height:auto;}
.navbar-brand{min-width:0;white-space:nowrap;}
.navbar-toggler{flex-shrink:0;border-color:var(--border);}
.navbar-toggler:focus{box-shadow:0 0 0 .2rem rgba(181,134,55,.2);}
.site-footer a{overflow-wrap:anywhere;}
.form-control,.form-select{min-width:0;}

@media(max-width:767.98px){
  .container{--bs-gutter-x:2rem;}
  .row{--bs-gutter-x:1.5rem;}
  .site-header .container{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;}
  .site-header .navbar-collapse{grid-column:1/-1;min-width:0;}
  .site-header .navbar-nav{padding:.75rem 0 1rem;}
  .site-header .nav-link{padding:.7rem 0;}
  .site-header .navbar-nav .btn{display:block;width:100%;padding:.75rem 1rem;}
  main>.container.py-5,main>section.container.py-5{padding-top:3rem!important;padding-bottom:3rem!important;}
  h1.display-2{font-size:clamp(2.45rem,12vw,3.25rem);line-height:1.04;overflow-wrap:anywhere;}
  h1.display-3{font-size:clamp(2.2rem,10vw,2.8rem);line-height:1.08;overflow-wrap:anywhere;}
  .display-5{font-size:2rem;}
  .display-6{font-size:2rem;line-height:1.15;overflow-wrap:anywhere;}
  .lead{font-size:1.08rem;line-height:1.65;}
  .eyebrow{font-size:.68rem;line-height:1.55;letter-spacing:.17em;}
  .card-tile{padding:1.35rem;}
  article.card-tile.row{margin-right:0;margin-left:0;}
  .service-list .service-row{
    grid-template-columns:2.25rem minmax(0,1fr);
    grid-template-areas:"number title" ". description";
    gap:.35rem .7rem;
    padding:1.25rem 0;
  }
  .service-list .service-row>*{min-width:0;overflow-wrap:anywhere;}
  .service-list .service-row>span{grid-area:number;}
  .service-list .service-row>h2{grid-area:title;}
  .service-list .service-row>p{grid-area:description;}
  .cta-band .btn{width:100%;padding:.8rem 1rem;}
  .cta-band h2{font-size:1.85rem;line-height:1.2;}
  .site-footer .container{padding-top:2.5rem!important;padding-bottom:2.5rem!important;}
  #proposal-form{padding:1.25rem;}
  .form-control-lg,.form-select-lg{font-size:1rem;padding:.75rem .9rem;}
}

@media(max-width:399.98px){
  .site-header .navbar-brand{font-size:1.02rem;}
  .site-header .navbar-toggler{padding:.35rem .55rem;}
  h1.display-2{font-size:2.25rem;}
  h1.display-3{font-size:2.05rem;}
  .btn-lg{font-size:1rem;}
}
