:root{
  --ink:#0e2b2a;--ink-2:#143b39;--brass:#b98a3e;--brass-dk:#8f6a28;
  --paper:#f6f2e9;--paper-2:#ece6d6;--text:#1d2a29;--muted:#5b6b69;
}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{font-family:'Figtree',system-ui,sans-serif;color:var(--text);background:#fff;font-size:1.05rem;line-height:1.7}
h1,h2,h3,.brand-name,.tl-num,.foot-brand{font-family:'Fraunces',Georgia,serif}
a{color:var(--brass-dk)}

/* Nav */
.site-nav{background:var(--ink);padding:.6rem 0;border-bottom:1px solid rgba(185,138,62,.4)}
.navbar-brand{display:flex;flex-direction:column;line-height:1.1;padding:0}
.brand-name{font-size:1.3rem;font-weight:700;color:#fff;letter-spacing:.01em}
.brand-sub{font-size:.68rem;text-transform:uppercase;letter-spacing:.22em;color:var(--brass)}
.site-nav .nav-link{color:rgba(255,255,255,.85);font-weight:500;font-size:.95rem;padding:.5rem .8rem}
.site-nav .nav-link:hover{color:var(--brass)}
.btn-brass{background:var(--brass);color:#1a1405;border:0;font-weight:700}
.btn-brass:hover{background:#cfa053;color:#1a1405}
.btn-ghost{border:2px solid rgba(255,255,255,.55);color:#fff;font-weight:600}
.btn-ghost:hover{background:#fff;color:var(--ink)}
.btn-ink{background:var(--ink);color:#fff;font-weight:600}
.btn-ink:hover{background:var(--ink-2);color:#fff}
@media(max-width:991.98px){#mainNav{padding:1rem 0 .5rem}}

/* Hero: split panel */
.hero{display:flex;min-height:calc(100vh - 62px)}
.hero-panel{flex:0 0 46%;background:var(--ink);color:#fff;display:flex;align-items:center;padding:4rem clamp(1.5rem,4vw,4.5rem);position:relative}
.hero-panel::after{content:"";position:absolute;right:-1px;top:0;bottom:0;width:6px;background:var(--brass)}
.hero-copy{max-width:36rem}
.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:.78rem;color:var(--brass);font-weight:600;margin-bottom:1.25rem}
.hero-title{font-size:clamp(2.2rem,4.2vw,3.7rem);font-weight:600;line-height:1.08;margin-bottom:1.25rem}
.hero-lead{font-size:1.12rem;color:rgba(255,255,255,.85);margin-bottom:2rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.hero-note{margin:1.5rem 0 0;font-size:.92rem;color:var(--brass);border-top:1px solid rgba(255,255,255,.15);padding-top:1rem}
.hero-photo{flex:1;background:url('img/hero.webp') 38% center/cover no-repeat;min-height:320px}

/* Timeline strip */
.timeline{background:var(--paper);border-bottom:1px solid var(--paper-2)}
.tl-cell{padding:2rem 1.25rem;text-align:center;border-right:1px solid var(--paper-2)}
.tl-cell:last-child{border-right:0}
.tl-num{display:block;font-size:2.6rem;font-weight:700;color:var(--ink);line-height:1}
.tl-label{display:block;font-size:.88rem;color:var(--muted);margin-top:.5rem;line-height:1.4}
@media(max-width:991.98px){.tl-cell:nth-child(2){border-right:0}.tl-cell:nth-child(-n+2){border-bottom:1px solid var(--paper-2)}}

/* Sections */
.section{padding:clamp(4rem,8vw,7rem) 0}
.section-ink{background:var(--ink);color:rgba(255,255,255,.88)}
.section-paper{background:var(--paper)}
.kicker{text-transform:uppercase;letter-spacing:.22em;font-size:.78rem;font-weight:700;color:var(--brass-dk);margin-bottom:.75rem}
.kicker-light{color:var(--brass)}
.section-title{font-size:clamp(1.8rem,3.2vw,2.6rem);font-weight:600;line-height:1.15;margin-bottom:1.25rem;max-width:34rem}
.section-ink .section-title{color:#fff}

.photo-frame{margin:0;display:inline-block;padding:.5rem;background:#fff;border:1px solid var(--paper-2);box-shadow:0 10px 30px rgba(14,43,42,.12)}
.photo-frame-light{border-color:rgba(255,255,255,.2)}
.photo-frame img{display:block;width:100%;max-width:248px;height:auto}
.photo-frame-light img{max-width:216px}

/* Case cards: 6 in 2 cols */
.case-card{height:100%;background:var(--paper);border-left:4px solid var(--brass);padding:1.4rem 1.5rem}
.case-card h3{font-size:1.15rem;font-weight:700;margin-bottom:.75rem;color:var(--ink)}
.case-card ul{list-style:none;margin:0;padding:0;font-size:.97rem}
.case-card li{padding:.15rem 0;color:var(--text)}
.case-card li::before{content:"\2022";color:var(--brass);margin-right:.6rem}

/* PI */
.fee-callout{display:flex;gap:1rem;align-items:center;background:rgba(185,138,62,.14);border:1px solid var(--brass);padding:1.1rem 1.4rem;margin:1.75rem 0 2rem}
.fee-callout i{font-size:1.8rem;color:var(--brass)}
.fee-callout strong{display:block;color:#fff;font-family:'Fraunces',serif;font-size:1.25rem}
.fee-callout span{font-size:.95rem}
.chip-head{font-size:1.1rem;color:#fff;margin-bottom:1rem}
.chips{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem}
.chips li{border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:.25rem .85rem;font-size:.9rem;color:#fff}
.chips-light li{border-color:var(--brass);color:#fff}

/* Also: 6 cells = 3x2 / 2x3 */
.also-cell{background:#fff;border:1px solid var(--paper-2);padding:1.6rem 1.4rem;font-family:'Fraunces',serif;font-size:1.2rem;font-weight:600;color:var(--ink);height:100%}
.also-cell span{display:block;font-family:'Figtree',sans-serif;font-size:.8rem;letter-spacing:.2em;color:var(--brass-dk);margin-bottom:.4rem}

/* About */
.portrait{margin:0;position:relative;display:inline-block}
.portrait::before{content:"";position:absolute;inset:14px -14px -14px 14px;border:2px solid var(--brass);z-index:0}
.portrait img{position:relative;z-index:1;display:block;width:100%;max-width:245px;height:auto}
.desk-photo{margin:1.75rem 0 0}
.desk-photo img{display:block;width:100%;max-width:310px;height:auto;border:1px solid var(--paper-2)}

/* Location */
.contact-list{list-style:none;padding:0;margin:1.5rem 0 2rem}
.contact-list li{display:flex;gap:1rem;margin-bottom:1.25rem;line-height:1.5}
.contact-list i{font-size:1.4rem;color:var(--brass)}
.contact-list strong{display:block;color:#fff;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.15rem}
.contact-list a{color:#fff;text-decoration:none;border-bottom:1px solid var(--brass)}
.area-head{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--brass);font-weight:700;margin-bottom:.75rem}
.map-wrap{position:relative;height:380px;border:6px solid #fff}
.map-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.court-thumb{display:flex;gap:1.25rem;align-items:center;margin:1.5rem 0 0}
.court-thumb img{width:88px;height:auto;flex:none;border:3px solid #fff}
.court-thumb figcaption{font-family:'Fraunces',serif;font-size:1.2rem;color:#fff}

/* Footer */
.site-footer{background:#091d1c;color:rgba(255,255,255,.7);padding:2.5rem 0 1.5rem;font-size:.95rem}
.foot-brand{font-size:1.4rem;color:#fff;margin:0}
.foot-brand span{font-family:'Figtree',sans-serif;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);margin-left:.5rem}
.foot-small{margin:.25rem 0 0}
.site-footer a{color:#fff}
.powered{display:inline-block;text-decoration:none;border:1px solid rgba(185,138,62,.6);border-radius:999px;padding:.5rem 1.1rem;color:#fff}
.powered i{color:var(--brass)}
.powered:hover{background:var(--brass);color:#1a1405}
.powered:hover i{color:#1a1405}
.foot-credit{margin:1.5rem 0 0;font-size:.78rem;color:rgba(255,255,255,.5)}
.foot-credit a{color:rgba(255,255,255,.7)}

/* Responsive */
@media(max-width:991.98px){
  .hero{flex-direction:column;min-height:0}
  .hero-panel{flex:none;padding:3rem 1.5rem 3.5rem}
  .hero-panel::after{right:0;left:0;top:auto;bottom:-1px;width:auto;height:6px}
  .hero-photo{flex:none;height:55vw;min-height:260px}
}
@media(max-width:575.98px){
  .hero-actions .btn{width:100%}
  .map-wrap{height:300px}
  .court-thumb{flex-direction:column;align-items:flex-start}
}

/* g-5 rows use -1.5rem side margins; match container padding so mobile doesn't scroll sideways */
.container-xl{padding-left:1.5rem;padding-right:1.5rem}
