:root{--navy:#191923;--navy2:#1B131B;--deep:#121218;--gold:#8C6A3C;--bronze:#452C06;--bronze-l:#8C6A3C;--grey:#474747;--grey-l:#A7A9AA;--paper:#EDE7DD;--ink:#191923;--muted:#474747;--line:#D8D2C6;--arrow:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E")}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.75 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}h1,h2,h3,h4,p{margin-top:0}
a:focus-visible,button:focus-visible{outline:3px solid #9c7440;outline-offset:4px}
.skip{position:absolute;left:20px;top:-100px;z-index:50;background:#fff;padding:10px}.skip:focus{top:10px}
/* arrows */
.btn::after,.arrow-link::after,.row-link::after,.totop::before{content:"";flex:none;width:18px;height:18px;background:currentColor;-webkit-mask:var(--arrow) center/contain no-repeat;mask:var(--arrow) center/contain no-repeat;transition:transform .2s}
.btn:hover::after,.arrow-link:hover::after,.row-link:hover::after{transform:translateX(5px)}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 22px;border:1px solid transparent;border-radius:3px;font-size:14px;font-weight:bold;line-height:1.4;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.btn-gold{background:var(--bronze);color:#fff;border-color:var(--bronze)}.btn-gold:hover{background:#5c3a08;border-color:var(--bronze-l)}
.btn-outline{color:#E7E2D8;border-color:var(--grey-l)}.btn-outline:hover{background:var(--bronze);color:#fff;border-color:var(--bronze)}
.arrow-link{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:bold}.arrow-link.light{color:#D5D7D8}.arrow-link:hover{color:var(--bronze-l)}
.row-link{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px;font-weight:bold}.row-link:hover{color:#644620}
/* top bar + header */
.topbar{display:flex;justify-content:space-between;padding:8px 5.5%;background:var(--deep);color:#A3A8AB;font-size:12px;letter-spacing:.6px}.topbar a:hover{color:var(--gold)}
header{position:sticky;top:0;z-index:30;padding:14px 5.5%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:rgba(25,25,35,.97);backdrop-filter:blur(8px);color:#fff;border-bottom:1px solid #452C06}
.brand{display:flex;align-items:center;gap:16px;font-size:12px;letter-spacing:1.3px;line-height:1.6}.brand small{display:block;font-size:10px;color:var(--bronze-l);letter-spacing:2.1px;margin-top:2px}
.monogram{font:26px Georgia,serif;color:var(--bronze-l);border:1px solid #8C6A3C80;padding:10px 8px;letter-spacing:-2px;line-height:1}
header nav{display:flex;align-items:center;gap:6px;font-size:14px}
header nav a:not(.btn){position:relative;padding:8px 12px;color:#DEDFE0}
header nav a:not(.btn)::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:1px;background:var(--bronze-l);transform:scaleX(0);transition:transform .2s}
header nav a:not(.btn):hover{color:#fff}header nav a:not(.btn):hover::after{transform:scaleX(1)}
.nav-cta{margin-left:12px;padding:10px 18px;gap:14px}
.menu{display:none}
/* hero */
.hero{background:var(--navy);color:#fff;display:grid;grid-template-columns:1.25fr 1fr;padding:70px 8% 0;gap:0 65px}
.eyebrow{font-size:12px;letter-spacing:2.4px;font-weight:600;margin:0 0 25px;color:#644620}.hero .eyebrow,.contact .eyebrow{color:var(--gold)}
h1{font:clamp(42px,5.3vw,78px)/1.07 Georgia,serif;letter-spacing:-2px;margin-bottom:16px}h1 em{font-weight:normal;color:var(--gold)}
.role{font:23px Georgia,serif;color:#D5D7D8}.hero-rule{width:60px;height:1px;background:var(--gold);margin:30px 0}
.hero h2{font:29px/1.25 Georgia,serif;margin-bottom:20px}.intro{color:#B3B7BA;max-width:450px;margin-bottom:32px}
.hero-copy .arrow-link{display:flex;width:max-content;max-width:100%;margin:26px 0 30px}
.portrait{position:relative;align-self:stretch;min-height:550px;max-height:660px;overflow:hidden;background:#e5e5e5;border-radius:3px 3px 0 0}
.portrait img{width:100%;height:100%;object-fit:cover;object-position:center 22%;display:block;filter:saturate(.62)}
.portrait-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#191923ea);padding:65px 26px 25px;display:flex;align-items:end;justify-content:space-between;font-size:11px;letter-spacing:1.8px}.portrait-mark{font:36px Georgia,serif;color:var(--gold)}
.hero-copy{min-width:0}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding:25px 0;border-top:1px solid #ffffff25;margin-top:48px;font-size:12px;text-transform:uppercase;letter-spacing:1.4px;color:#B3B7BA}
/* sections */
.section{padding:95px 8%}.section h2{font:clamp(32px,3.5vw,48px)/1.15 Georgia,serif;letter-spacing:-1px;margin-bottom:28px;font-weight:normal}.practice h2{color:#fff}
.profile{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.profile-copy p{color:var(--muted)}.profile-copy .lead{font:25px/1.4 Georgia,serif;color:var(--ink)}
.education{border-left:2px solid var(--bronze);padding-left:22px;margin-top:40px}.education span{font:21px Georgia,serif}.education p{font-size:14px;color:var(--muted);margin:12px 0}
.practice{background:var(--navy);color:#DCDCE2}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:30px}.section-heading>p{font-size:14px;color:var(--muted);margin-bottom:30px}.practice .section-heading{border-bottom-color:#ffffff1f}.practice .section-heading>p{color:#B7B7BE}.practice .section h2{color:#fff}
.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.practice-grid article{padding:30px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:3px;transition:box-shadow .2s}.practice-grid article:hover{box-shadow:0 10px 28px #00000022}
.number{color:#644620;font:16px Georgia,serif;display:block;margin-bottom:26px}
h3{font:25px/1.25 Georgia,serif;margin-bottom:17px}.practice-grid p{font-size:15px;color:#B7B7BE;margin:0}
.office-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.office-grid article{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:3px;padding:28px}
.office-label{font-size:11px;letter-spacing:2px;color:#644620}.office-grid h3{font-size:30px;margin-top:16px}
.office-grid p{font-size:15px;color:var(--muted);min-height:90px}.office-grid .row-link:first-of-type{border-top:1px solid var(--line)}
/* video */
.video-section{display:grid;grid-template-columns:1fr 1fr;gap:70px}.video-section p{color:var(--muted)}
.video-panel{background:#fff;border:1px solid var(--line);border-left:3px solid var(--bronze);border-radius:3px;padding:34px;align-self:center}
.video-panel small{display:block;margin-top:18px;color:var(--muted);font-size:12px;line-height:1.7}
/* contact */
.contact{background:var(--navy2);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact h2{font-size:52px}
.contact>div>p:not(.eyebrow){color:#B3B7BA;max-width:470px}
.contact-panel{align-self:center;background:#ffffff0a;border:1px solid #B98E5640;border-radius:3px;padding:34px}.contact-panel .office-label{color:var(--bronze-l)}
.phone{display:block;font:34px/1.3 Georgia,serif;margin-top:16px;color:#fff}.contact-panel .international{font-size:14px;margin:6px 0 20px;color:#B3B7BA}
.contact-actions{display:flex;flex-wrap:wrap;gap:12px}
.email{display:flex;margin:22px 0 14px;padding:14px 0;border-top:1px solid #ffffff22;border-bottom:1px solid #ffffff22;justify-content:space-between;font-size:clamp(15px,1.5vw,19px);overflow-wrap:anywhere}
.contact-panel>p:not(.international){font-size:14px;color:#B3B7BA;margin-bottom:18px}
.contact-panel .btn-gold{width:100%}.contact-panel small{display:block;font-size:12px;line-height:1.7;color:#A3A8AB;margin-top:18px}
/* footer */
footer{background:var(--deep);color:#A7A9AA;border-top:3px solid var(--bronze);padding:60px 8% 24px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.4fr;gap:48px}
.f-brand .brand{color:#fff}.f-brand p{margin:18px 0 0;font:italic 16px Georgia,serif;color:#C8CACC}
nav.f-col{align-items:flex-start;gap:9px}.f-col{display:flex;flex-direction:column;gap:9px;font-size:14px;overflow-wrap:anywhere}.f-col h4{font:12px Arial;letter-spacing:2px;text-transform:uppercase;color:var(--bronze-l);margin-bottom:8px}
.f-col a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid #ffffff1f;margin-top:48px;padding-top:22px;font-size:12px}.footer-bottom p{margin:0}
.totop{display:inline-flex;align-items:center;gap:8px;color:var(--bronze-l);font-weight:bold;white-space:nowrap}.totop::before{transform:rotate(-90deg)}.totop:hover::before{transform:rotate(-90deg) translateX(5px)}
@media(min-width:1600px){.topbar,header,.hero,.section,footer{padding-left:max(8%,calc((100vw - 1300px)/2));padding-right:max(8%,calc((100vw - 1300px)/2))}}
@media(max-width:1100px){header{flex-wrap:wrap}header nav{flex-wrap:wrap}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:950px){header,.topbar{padding-left:5%;padding-right:5%}.brand{font-size:10px}.hero{padding:45px 6% 0;gap:35px}.portrait{min-height:520px}.hero-bottom{font-size:10px;gap:16px}.section{padding:65px 6%}.profile,.contact{gap:40px}.practice-grid{gap:14px}.office-grid{gap:16px}.office-grid article{padding:22px}.contact h2{font-size:44px}footer{padding:50px 6% 24px}}
@media(max-width:700px){.topbar{font-size:11px}header{flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.brand{max-width:78%;font-size:9px}.brand small{font-size:8px;letter-spacing:1px}.monogram{font-size:22px}
.menu{display:block;color:var(--gold);border:1px solid #B98E5680;border-radius:3px;padding:8px 14px;background:none;font-size:14px}
header nav{display:none;width:100%;padding:10px 0 4px;flex-direction:column;align-items:stretch;gap:0}header nav.open{display:flex}header nav a:not(.btn){padding:13px 4px;border-bottom:1px solid #ffffff18}header nav a:not(.btn)::after{display:none}.nav-cta{margin:14px 0 4px}
.hero{grid-template-columns:1fr;padding-top:40px}.hero h1{font-size:clamp(43px,10vw,67px)}.portrait{min-height:0;height:450px;max-width:450px;width:100%}.portrait img{object-position:center 25%}.hero-bottom{margin-top:30px;flex-wrap:wrap;font-size:11px;gap:10px 22px}
.profile,.contact,.video-section{grid-template-columns:1fr;gap:30px}.section{padding:55px 7%}.education{margin-top:25px}.section-heading{display:block}.section-heading>p br{display:none}
.practice-grid,.office-grid{grid-template-columns:1fr}.practice-grid article{padding:25px}.number{margin-bottom:14px}.office-grid p{min-height:0}
.contact h2{font-size:43px}.video-panel,.contact-panel{padding:24px}.phone{font-size:30px}.contact-actions .btn{width:100%}.hero-copy .btn{width:100%}.hero-copy .arrow-link{width:auto}
.footer-grid{grid-template-columns:1fr;gap:32px}.footer-bottom{flex-direction:column;align-items:flex-start;gap:12px}footer{padding:44px 7% 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* refinement: formal law-firm finish */
.btn,.portrait,.practice-grid article,.office-grid article,.video-panel,.contact-panel{border-radius:0}.btn{border-radius:2px}
.office-grid article{border-top-color:var(--bronze)}.video-panel{border-left-color:var(--bronze)}.education{border-left-color:var(--bronze)}
.office-grid article,.video-panel{background:#fff;border-color:var(--line)}
.practice-grid article{background:#232330;border-color:#ffffff14}.practice-grid article:hover{box-shadow:0 12px 30px #00000040}
.office-grid .row-link:first-of-type{border-top-color:var(--line)}
header{border-bottom:1px solid #644620}.topbar{background:var(--deep);border-bottom:1px solid #ffffff10}
h1{letter-spacing:-1.5px}.hero-rule{height:2px;background:var(--bronze-l);width:72px}
.portrait::before{content:"";position:absolute;inset:14px;border:1px solid #8C6A3C70;z-index:1;pointer-events:none}
.portrait-caption{z-index:2;padding:70px 34px 32px}
.hero{background:linear-gradient(180deg,#191923 0%,#1F1F2B 100%)}
.hero-bottom{border-top-color:#47474766}
.contact{background:var(--deep)}.contact-panel{background:#ffffff08;border-color:#ffffff20;border-top:3px solid var(--bronze)}
.email{border-color:#ffffff20}
.section h2{font-weight:normal}
.section-heading{border-bottom:1px solid var(--line);padding-bottom:6px}

/* ---- Inner-page components (multi-page SEO structure) ---- */
.breadcrumb{font-size:12px;letter-spacing:.5px;color:var(--grey-l);margin-bottom:22px;display:flex;flex-wrap:wrap;gap:6px}
.breadcrumb a{color:var(--grey-l);text-decoration:underline;text-underline-offset:3px}
.breadcrumb a:hover{color:var(--bronze-l)}
.breadcrumb span{opacity:.6}
.page-hero{background:linear-gradient(180deg,#191923 0%,#1F1F2B 100%);color:#fff;padding:60px 8% 56px}
.page-hero .lead{color:#B7B7BE;max-width:640px;font-size:17px;margin-top:18px}
.page-hero h1{font:clamp(34px,4.2vw,54px)/1.15 Georgia,serif;letter-spacing:-1px;font-weight:normal}
.content{max-width:760px}
.content p{color:var(--muted);margin-bottom:20px}
.content h2{font:28px/1.3 Georgia,serif;font-weight:normal;margin:44px 0 16px}
.content h2:first-child{margin-top:0}
.content ul{color:var(--muted);padding-left:20px;margin-bottom:20px}
.content li{margin-bottom:8px}
.content .lead{font:22px/1.45 Georgia,serif;color:var(--ink);margin-bottom:26px}
.info-list{list-style:none;padding:0;margin:0 0 28px;border-top:1px solid var(--line)}
.info-list li{display:flex;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:15px}
.info-list b{color:var(--ink);min-width:140px;flex:none}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{cursor:pointer;font:20px Georgia,serif;color:var(--ink);list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:16px;height:16px;flex:none;background:var(--bronze);-webkit-mask:var(--arrow) center/contain no-repeat;mask:var(--arrow) center/contain no-repeat;transform:rotate(90deg);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(-90deg)}
.faq p{color:var(--muted);margin:14px 0 0;max-width:640px}
.practice .faq summary,.practice .faq summary::after{color:#fff}
.practice .faq{border-top-color:#ffffff1f}.practice .faq details{border-bottom-color:#ffffff1f}
.practice .faq p{color:#B7B7BE}
.cta-band{background:var(--deep);color:#fff;padding:60px 8%;text-align:center}
.cta-band h2{font:30px Georgia,serif;font-weight:normal;margin-bottom:16px}
.cta-band p{color:#B7B7BE;max-width:520px;margin:0 auto 26px}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.card-grid-links{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0 10px}
.card-grid-links a{display:block;background:#fff;border:1px solid var(--line);border-top:3px solid var(--bronze);border-radius:3px;padding:24px;font-weight:bold}
.card-grid-links a:hover{box-shadow:0 10px 28px #00000014}
.card-grid-links span{display:block;font-weight:normal;color:var(--muted);font-size:14px;margin-top:8px}
@media(max-width:700px){.page-hero{padding:46px 7% 40px}.card-grid-links{grid-template-columns:1fr}.info-list li{flex-direction:column;gap:4px}.info-list b{min-width:0}}

/* practice-area page: description + side image */
.content-media{display:grid;grid-template-columns:1fr 360px;gap:56px;align-items:start;max-width:1160px}
.content-media .content{max-width:none}
.content-figure{margin:0;border:1px solid var(--bronze);padding:10px;border-radius:2px;background:#fff}
.content-figure img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;filter:saturate(.8)}
@media(max-width:900px){.content-media{grid-template-columns:1fr}.content-figure{max-width:360px;margin:0 auto}}

/* ---- added: Home link, card pictures, about + office pictures ---- */
.card-img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;margin:0 0 22px;border:1px solid var(--bronze)}
.card-grid-links .card-img{margin-bottom:18px}
.about-figure img{aspect-ratio:2/3;object-position:center 20%;filter:none}
.office-figure img{aspect-ratio:4/3;filter:none}
@media(max-width:900px){.about-figure{max-width:320px}}
