:root{--ink:#11110f;--muted:#67635d;--paper:#f3efe8;--paper-2:#e8e0d5;--line:#d5ccbf;--accent:#8c7355;--dark:#161614;--max:1180px;--display:"Roma Nova",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.65}a{color:inherit}
.site-header{position:fixed;inset:0 0 auto 0;height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:rgba(247,244,238,.94);backdrop-filter:blur(12px);z-index:50;border-bottom:1px solid rgba(0,0,0,.07)}
.brand{display:flex;align-items:center;text-decoration:none}.brand-text{font-family:var(--display);font-size:1.33rem;font-weight:600;letter-spacing:.025em}.nav{display:flex;gap:30px}.nav a{text-decoration:none;font-size:.9rem}.nav a:hover{opacity:.58}.menu-toggle{display:none;border:0;background:none;font-size:1.55rem}
.hero{position:relative;min-height:92vh;margin-top:82px;display:grid;align-items:end;background:#171715;overflow:hidden}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,14,13,.72) 0%,rgba(21,20,18,.42) 48%,rgba(20,18,16,.17) 100%)}.hero-content{position:relative;z-index:2;width:min(var(--max),90%);margin:0 auto;padding:100px 0 105px;color:#fff}.hero h1{font-family:var(--display);font-weight:400;font-size:clamp(3.4rem,7vw,7.2rem);line-height:.94;letter-spacing:-.025em;margin:8px 0 20px;max-width:980px}.hero-subtitle{font-size:1.16rem;color:#f1ede6}.eyebrow{margin:0 0 14px;font-size:.69rem;letter-spacing:.21em;font-weight:600;color:var(--accent)}.eyebrow.light{color:#f0ece6}.btn{display:inline-block;margin-top:28px;padding:13px 24px;text-decoration:none;border:1px solid currentColor}.btn-light{color:#fff}.btn-light:hover{background:#fff;color:#111}
.section{width:min(var(--max),90%);margin:auto;padding:110px 0}.split{display:grid;grid-template-columns:1fr 1.15fr;gap:10%;align-items:start}.section h2,.mission h2{font-family:var(--display);font-weight:400;font-size:clamp(2.4rem,4.6vw,4.6rem);line-height:1.02;letter-spacing:-.02em;margin:0}.copy-lg p{font-size:1.08rem;color:var(--muted)}
.areas-section{width:100%;max-width:none;background:var(--paper);padding-left:5%;padding-right:5%}.section-heading{max-width:760px;margin-bottom:52px}.area-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:var(--line);gap:1px}.area-grid article{background:var(--paper);padding:34px 26px;min-height:240px;transition:transform .25s ease,background .25s ease}.area-grid article:hover{background:#faf8f4;transform:translateY(-3px)}.num{font-size:.78rem;color:var(--accent)}h3{font-family:var(--display);font-weight:400;font-size:1.47rem;line-height:1.17}.area-grid p,.lawyer p,.contact-grid p{color:var(--muted)}
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}.lawyer{min-width:0}.portrait{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;display:block;background:#e5e2dc;filter:saturate(.92);transition:filter .25s ease,transform .25s ease}.lawyer:hover .portrait{filter:saturate(1);transform:translateY(-2px)}.lawyer h3{margin:18px 0 4px}.lawyer p{margin:0 0 7px}.info-link{display:inline-flex;gap:8px;align-items:center;font-size:.86rem;text-decoration:none;border-bottom:1px solid rgba(17,17,15,.4);padding-bottom:2px}.info-link span{transition:transform .2s ease}.info-link:hover span{transform:translateX(4px)}
.mission{background:var(--dark);color:white;padding:105px 5%;display:grid;grid-template-columns:1.35fr 1fr;gap:10%;align-items:end}.mission p{color:#d4d0c9}.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.tags span{border:1px solid #625c54;padding:8px 12px;font-size:.82rem}
.contact-section{display:grid;grid-template-columns:1fr 1.2fr;gap:10%}.contact-grid{display:grid;grid-template-columns:1.3fr .8fr 1.4fr;gap:24px}.contact-grid strong{font-size:.9rem}.contact-grid a{text-decoration:none}.contact-grid a:hover{text-decoration:underline}
footer{background:#f7f4ee;border-top:1px solid var(--line);padding:34px 5%;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}.footer-brand img{height:46px;width:auto}.footer-nav{display:flex;gap:18px}.footer-nav a{text-decoration:none;font-size:.82rem}.copyright{grid-column:1/-1;color:var(--muted);font-size:.8rem}
/* Individual lawyer pages */
.profile-page{background:var(--paper)}.profile-header{background:rgba(247,244,238,.97)}.profile-main{padding-top:82px}.profile-hero{width:min(var(--max),90%);margin:auto;min-height:74vh;display:grid;grid-template-columns:1fr .92fr;gap:8%;align-items:center;padding:70px 0}.profile-copy h1{font-family:var(--display);font-size:clamp(3.4rem,6.2vw,6.5rem);line-height:.92;letter-spacing:-.03em;margin:8px 0 20px}.profile-role{font-size:1.03rem;color:var(--muted);margin-bottom:40px}.profile-photo{width:100%;max-height:680px;aspect-ratio:3/4;object-fit:cover;object-position:center top;background:#ddd5ca}.profile-about{background:#fff;padding:95px 0}.profile-about-inner{width:min(900px,90%);margin:auto}.profile-about h2{font-family:var(--display);font-size:clamp(2.5rem,4vw,4rem);line-height:1;margin:0 0 36px}.profile-list{list-style:none;padding:0;margin:0}.profile-list li{padding:15px 0;border-bottom:1px solid var(--line);font-size:1.02rem}.profile-contact{width:min(var(--max),90%);margin:auto;padding:90px 0;display:grid;grid-template-columns:.8fr 1.2fr;gap:10%}.profile-contact h2{font-family:var(--display);font-size:clamp(2.3rem,4vw,3.8rem);line-height:1;margin:0}.back-link{text-decoration:none;font-size:.88rem;display:inline-flex;gap:8px;align-items:center;margin-top:22px}
@media(max-width:900px){.site-header{height:72px}.brand-text{font-size:1.12rem}.menu-toggle{display:block}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:#f7f4ee;padding:24px 7%;flex-direction:column;border-bottom:1px solid var(--line)}.nav.open{display:flex}.hero{margin-top:72px;min-height:78vh}.hero-content{padding-bottom:75px}.split,.mission,.contact-section,.profile-hero,.profile-contact{grid-template-columns:1fr;gap:34px}.area-grid,.team-grid{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr 1fr}.section{padding:78px 0}.profile-main{padding-top:72px}.profile-hero{padding-top:48px}.profile-photo{max-height:620px}footer{grid-template-columns:1fr}.footer-nav{flex-wrap:wrap}}
@media(max-width:560px){.brand-text{font-size:1rem}.hero h1{font-size:3.3rem}.area-grid,.team-grid,.contact-grid{grid-template-columns:1fr}.area-grid article{min-height:0}.section{padding:64px 0}.mission{padding:70px 5%}.footer-nav{flex-direction:column;gap:8px}.portrait{aspect-ratio:4/5}.profile-copy h1{font-size:3.35rem}.profile-hero{min-height:auto;padding-bottom:55px}.profile-about{padding:70px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-video{display:none}.hero{background:linear-gradient(120deg,#1a1917,#655d52)}}

/* v5 typography + header + contact/map refinements */
.brand{gap:14px;min-width:0}.header-logo{height:44px;width:auto;display:block}.brand-text{font-family:var(--display);font-weight:400;white-space:nowrap}.nav a{font-family:var(--display);font-weight:400;font-size:1rem}.hero h1,.section h2,.mission h2,h3,.profile-copy h1,.profile-about h2,.profile-contact h2,.eyebrow{font-family:var(--display);font-weight:400}.eyebrow{font-size:.78rem}.contact-grid{grid-template-columns:1.15fr .65fr 1.65fr}.contact-grid a[href^="mailto:"]{white-space:nowrap;font-size:clamp(.72rem,.95vw,.94rem)}.map-block{grid-column:1/-1;margin-top:48px}.map-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:12px;font-family:var(--display);font-weight:400}.map-heading span{font-size:1.05rem;letter-spacing:.08em}.map-heading a{font-family:Arial,Helvetica,sans-serif;font-size:.78rem;text-decoration:none;color:var(--muted)}.map-frame{display:block;width:100%;height:360px;border:1px solid var(--line);background:var(--paper)}.profile-contact{grid-template-columns:.8fr 1.2fr;align-items:start}.profile-map{margin-top:10px}.profile-copy h1,.profile-about h2,.profile-contact h2{font-weight:400}.site-header .brand img{flex:0 0 auto}
@media(max-width:900px){.header-logo{height:38px}.brand{gap:10px}.brand-text{font-size:1rem}.contact-grid{grid-template-columns:1fr}.contact-grid a[href^="mailto:"]{white-space:normal;font-size:.9rem}.map-frame{height:320px}.profile-map{margin-top:20px}}
@media(max-width:560px){.header-logo{height:34px}.brand-text{font-size:.88rem}.map-heading{align-items:flex-start;flex-direction:column;gap:4px}.map-frame{height:280px}}

/* v6 — homepage/header/footer + lighter Roma Nova treatment */
:root{--display:"Roma Nova",Georgia,"Times New Roman",serif}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
/* Roma Nova supplied is Regular (400); never synthesize bold for display typography. */
h1,h2,h3,h4,h5,h6,.brand-text,.nav a,.eyebrow,.map-heading,.footer-map-heading,.profile-copy h1,.profile-about h2,.profile-contact h2,.hero h1,.section h2,.mission h2{
  font-family:var(--display);
  font-weight:400 !important;
  font-synthesis:none;
}
.hero h1{letter-spacing:.005em;line-height:1.01}
.section h2,.mission h2,.profile-about h2,.profile-contact h2{letter-spacing:.005em;line-height:1.08}
h3{letter-spacing:.01em}
.eyebrow{font-weight:400 !important;letter-spacing:.18em}
.brand-text{font-weight:400 !important;letter-spacing:.035em}
.site-header .brand{display:flex;align-items:center;gap:12px}
.site-header .header-logo{display:block;height:43px;width:auto;max-width:64px;object-fit:contain}
/* Keep long email addresses on one line on desktop. */
.contact-grid a[href^="mailto:"]{white-space:nowrap;font-size:clamp(.68rem,.82vw,.9rem);letter-spacing:-.015em}
/* Map is part of the footer on every page. */
footer{grid-template-columns:minmax(180px,.7fr) minmax(280px,1fr);padding:44px 5% 28px;align-items:start}
.footer-brand{align-self:start}.footer-nav{justify-content:flex-end;align-self:start}
.footer-map-wrap{grid-column:1/-1;margin-top:22px;border-top:1px solid var(--line);padding-top:30px}
.footer-map-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px;font-weight:400}
.footer-map-heading span{font-size:1.18rem;letter-spacing:.06em}
.footer-map-heading a{font-family:Arial,Helvetica,sans-serif;font-size:.78rem;text-decoration:none;color:var(--muted)}
.footer-map-frame{display:block;width:100%;height:330px;border:1px solid var(--line);background:var(--paper)}
.copyright{grid-column:1/-1;margin-top:4px}
@media(max-width:900px){
  footer{grid-template-columns:1fr}.footer-nav{justify-content:flex-start}.footer-map-frame{height:300px}
  .contact-grid a[href^="mailto:"]{white-space:nowrap;font-size:.82rem}
}
@media(max-width:560px){
  .site-header .header-logo{height:32px;max-width:48px}.brand-text{font-size:.84rem}
  .footer-map-heading{flex-direction:column;align-items:flex-start;gap:4px}.footer-map-frame{height:260px}
  .contact-grid a[href^="mailto:"]{white-space:normal;overflow-wrap:anywhere;font-size:.86rem}
}
