:root{--pine:#14302a;--pine2:#0d211d;--cream:#f6f1e6;--paper:#fffdf8;--ink:#1d2623;--cran:#a32a3b;--cran-d:#86202f;--sage:#cfd9cd;--line:rgba(20,48,42,.18);--disp:'Cormorant Garamond',Georgia,serif;--body:'Source Sans 3',system-ui,sans-serif}
html{scroll-behavior:smooth;scroll-padding-top:70px}
body{font-family:var(--body);color:var(--ink);background:var(--paper);font-size:1.05rem;line-height:1.7}
h1,h2,h3{font-family:var(--disp);font-weight:600;line-height:1.1;color:var(--pine)}
a{color:var(--cran)}
.eyebrow{font-family:var(--body);font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--cran)}
.btn-cran{background:var(--cran);color:#fff;border:0;border-radius:2px;padding:.85rem 1.7rem;font-weight:600;letter-spacing:.04em}
.btn-cran:hover{background:var(--cran-d);color:#fff}
.btn-line{border:1px solid rgba(255,255,255,.6);color:#fff;border-radius:2px;padding:.85rem 1.7rem;font-weight:600}
.btn-line:hover{background:#fff;color:var(--pine)}
/* nav: centered logo stacked over link row */
.site-nav{background:var(--pine);position:sticky;top:0;z-index:1030;border-bottom:3px solid var(--cran)}
.nav-logo{display:block;text-align:center;padding:.9rem 0 .4rem}
.nav-logo img{width:min(380px,78vw);height:auto}
.site-nav .nav-link{color:#e9efe9;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:.6rem .9rem}
.site-nav .nav-link:hover{color:#fff;text-decoration:underline;text-underline-offset:6px}
.site-nav .navbar-toggler{border-color:rgba(255,255,255,.5);margin:0 auto .6rem}
.site-nav .navbar-toggler-icon{filter:invert(1)}
.nav-call{color:#fff!important;background:var(--cran);border-radius:2px;padding:.5rem 1rem!important}
/* hero: split panel */
.hero{display:grid;grid-template-columns:1.15fr 1fr;min-height:min(78vh,720px)}
.hero-text{background:var(--pine);color:#fff;display:flex;flex-direction:column;justify-content:center;padding:4.5rem clamp(1.5rem,6vw,5.5rem)}
.hero-text .eyebrow{color:#e8b4bb}
.hero-title{color:#fff;font-size:clamp(2.6rem,5.4vw,4.6rem);margin:.6rem 0 1.2rem}
.hero-title em{font-style:italic;font-weight:500;color:#f0d9b5}
.hero-sub{font-size:1.15rem;color:#dfe8e1;max-width:34rem}
.hero-photo{background:url('img/hero.webp') 82% center/cover no-repeat;position:relative;min-height:320px}
.hero-photo span{position:absolute;left:0;bottom:0;background:var(--cream);color:var(--pine);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:.6rem 1rem}
.fee-band{background:var(--cream);border-bottom:1px solid var(--line);text-align:center;padding:1.1rem 1rem;font-family:var(--disp);font-size:1.5rem;font-style:italic;color:var(--pine)}
section{padding:5.5rem 0}
.sec-title{font-size:clamp(2.2rem,4.4vw,3.4rem);margin:.4rem 0 1.2rem}
.rule{width:64px;height:3px;background:var(--cran);margin:1rem 0 1.5rem}
/* practice index */
.practice{background:var(--cream)}
.index{list-style:none;padding:0;margin:0;columns:2;column-gap:4rem}
.index li{break-inside:avoid;display:flex;gap:1.1rem;align-items:baseline;border-bottom:1px solid var(--line);padding:.75rem 0;font-family:var(--disp);font-size:1.55rem;font-weight:600;color:var(--pine)}
.index li b{font-family:var(--body);font-size:.8rem;letter-spacing:.1em;color:var(--cran);min-width:1.8rem}
/* about */
.kevin{width:100%;max-width:300px;height:auto;display:block;border:8px solid var(--paper);outline:1px solid var(--line);box-shadow:14px 14px 0 var(--sage)}
.about-quote{font-family:var(--disp);font-size:1.7rem;line-height:1.35;color:var(--pine);font-style:italic}
.pull{background:var(--pine);color:#fff;text-align:center;padding:4.5rem 1rem}
.pull p{font-family:var(--disp);font-size:clamp(1.8rem,4vw,3rem);font-style:italic;max-width:900px;margin:0 auto;line-height:1.25}
.pull a{color:#f0d9b5;font-weight:700;font-family:var(--body);font-style:normal;white-space:nowrap}
/* offices */
.offices{background:var(--cream)}
.office-list{list-style:none;padding:0;margin:0;columns:3;column-gap:2rem}
.office-list li{padding:.3rem 0;border-bottom:1px dotted var(--line)}
.office-list li.here{font-weight:700;color:var(--cran)}
/* contact */
.contact-card{background:var(--pine);color:#fff;padding:2.5rem}
.contact-card h3{color:#fff}
.contact-card a{color:#fff}
.bignum{font-family:var(--disp);font-size:clamp(2.4rem,5vw,3.4rem);font-weight:600;text-decoration:none;color:#f0d9b5!important;display:block;line-height:1.1}
.map{border:0;width:100%;height:100%;min-height:380px;display:block}
footer{background:var(--pine2);color:#c8d3cb;padding:3rem 0 2rem}
footer img{width:min(340px,80%);height:auto}
footer a{color:#e9efe9}
.wfw-credit{border-top:1px solid rgba(255,255,255,.14);margin-top:2rem;padding-top:1.2rem;font-size:.9rem}
.wfw-credit a{font-weight:700;color:#f0d9b5}
@media(max-width:991px){
 .hero{grid-template-columns:1fr}.hero-photo{min-height:300px;order:2}
 .index,.office-list{columns:1}
 .office-list{columns:2}
 section{padding:3.8rem 0}
}
@media(max-width:480px){.office-list{columns:1}.nav-logo img{width:86vw}}
