:root { --ink:#171a1d; --graphite:#202326; --warm:#f5f3ee; --gold:#b79a63; --stone:#cac4b8; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--warm); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
button { font:inherit; }
.site-header { height:82px; display:flex; align-items:center; gap:36px; padding:0 3.2vw; background:#fff; position:sticky; top:0; z-index:50; border-bottom:1px solid #e9e6df; }
.brand { white-space:nowrap; font-size:25px; letter-spacing:.03em; font-weight:700; }.brand span{font-weight:300}
nav { display:flex; align-items:center; justify-content:center; gap:clamp(20px,2.5vw,44px); flex:1; }
nav a { font-size:12px; letter-spacing:.06em; text-transform:uppercase; position:relative; padding:31px 0; }
nav a:after { content:""; position:absolute; left:0; bottom:20px; height:1px; width:0; background:var(--gold); transition:.25s; } nav a:hover:after, nav a:focus-visible:after{width:100%}
.lang-switch{display:flex;gap:2px}.lang-switch button,.lang-switch a{border:0;background:transparent;padding:8px 5px;font-size:11px;color:#777;cursor:pointer}.lang-switch .active{color:var(--ink);font-weight:700;border-bottom:1px solid var(--gold)}
.header-cta { border:1px solid var(--gold); padding:15px 18px; text-transform:uppercase; letter-spacing:.05em; font-size:11px; white-space:nowrap; }
.menu-toggle{display:none}
.screen-reader-text{clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;width:1px;overflow:hidden;position:absolute;white-space:nowrap}
body.admin-bar .site-header{top:32px}
.hero { min-height:calc(100vh - 82px); position:relative; display:flex; align-items:center; overflow:hidden; background:#25282b url('../images/hero-business-office.png') center/cover no-repeat; color:#fff; }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(18,20,22,.98) 0%,rgba(22,24,26,.9) 38%,rgba(22,24,26,.2) 70%,rgba(22,24,26,.04) 100%); }
.hero-content { position:relative; z-index:1; padding:72px clamp(24px,7vw,110px); width:min(790px,58%); animation:rise .6s ease-out; }
.eyebrow,.section-kicker { color:var(--gold); text-transform:uppercase; letter-spacing:.28em; font-size:12px; font-weight:700; margin:0 0 30px; }
h1 { font-size:clamp(54px,5.4vw,86px); font-weight:300; letter-spacing:-.045em; line-height:.98; margin:0; }
.hero-intro { font-size:clamp(18px,1.55vw,25px); line-height:1.5; max-width:560px; margin:42px 0 34px; color:#efede8; }
.gold-button { display:inline-flex; align-items:center; justify-content:space-between; min-width:290px; padding:21px 28px; background:var(--gold); color:#fff; text-transform:uppercase; letter-spacing:.06em; font-size:12px; font-weight:700; transition:.25s; }.gold-button:hover{background:#c8aa70}.gold-button span{font-size:24px;font-weight:300}
.hero-meta { display:flex; flex-direction:column; gap:15px; margin-top:58px; font-size:13px; color:#ddd9d0; }
.section { padding:clamp(80px,9vw,140px) clamp(24px,7vw,110px); }
.section h2 { font-size:clamp(38px,4.4vw,68px); line-height:1.05; font-weight:300; letter-spacing:-.035em; margin:0; max-width:880px; }
.about { display:grid; grid-template-columns:1.1fr .9fr; gap:70px; background:#fff; }.about-copy{padding-top:44px;font-size:19px;line-height:1.7;color:#515358}.text-link{display:inline-block;margin-top:26px;border-bottom:1px solid var(--gold);padding-bottom:5px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink)}
.pillars { grid-column:1/-1; display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #ddd8cf;margin-top:30px}.pillars div{padding:36px 28px 0 0;display:flex;flex-direction:column;gap:9px}.pillars div+div{border-left:1px solid #ddd8cf;padding-left:38px}.pillars strong{font-size:25px;font-weight:400}.pillars span{font-size:13px;color:#6c6c69}
.practices{background:var(--ink);color:#fff}.practices h2{max-width:1000px}.practice-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:75px;border-top:1px solid #45484b}.practice-grid article{padding:32px 32px 20px 0;min-height:250px}.practice-grid article+article{border-left:1px solid #45484b;padding-left:30px}.practice-grid span{color:var(--gold);font-size:12px}.practice-grid h3{font-size:22px;font-weight:400;margin:45px 0 20px}.practice-grid p{color:#bababa;line-height:1.65;font-size:15px}
.fees{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;background:#eae5dc}.fees>p{font-size:18px;line-height:1.8;color:#505157;margin-top:48px}
.contact{display:grid;grid-template-columns:1fr 1fr;gap:90px;background:#fff}.contact>div>p:not(.section-kicker){font-size:17px;line-height:1.75;color:#5b5d60;max-width:600px;margin-top:32px}.contact-card{border-top:1px solid var(--gold);padding-top:20px}.contact-card p,.contact-card a{display:flex;flex-direction:column;padding:24px 0;border-bottom:1px solid #dedbd4;gap:8px}.contact-card small,.contact-card a{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#6d6d68}.contact-card strong,.contact-card a span{font-size:19px;line-height:1.5;color:var(--ink);font-weight:400;text-transform:none;letter-spacing:0}
footer{padding:38px clamp(24px,7vw,110px);background:#111315;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}footer p,footer a{font-size:11px;color:#b7b7b4}footer .brand{font-size:19px;color:#fff}footer div{display:flex;gap:24px}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media(max-width:1000px){.site-header{padding:0 22px}.header-cta{display:none}.menu-toggle{display:flex;margin-left:auto;width:44px;height:44px;border:0;background:transparent;flex-direction:column;justify-content:center;gap:7px;z-index:2}.menu-toggle span{display:block;width:24px;height:1px;background:#222}nav{display:none;position:fixed;inset:82px 0 0;background:#fff;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:40px 28px;gap:0}nav.open{display:flex}nav a{width:100%;padding:18px 0;font-size:15px;border-bottom:1px solid #eee}.lang-switch{order:3}.hero-content{width:72%}.practice-grid{grid-template-columns:repeat(2,1fr)}.practice-grid article:nth-child(3){border-left:0}.about,.fees,.contact{gap:45px}}
@media(max-width:700px){.site-header{height:70px}.brand{font-size:20px}.lang-switch button,.lang-switch a{padding:7px 4px}.menu-toggle{order:4;margin-left:4px}nav{inset:70px 0 0}.hero{min-height:calc(100svh - 70px);background-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(18,20,22,.96),rgba(18,20,22,.78))}.hero-content{padding:60px 24px 34px;width:100%}.eyebrow{margin-bottom:22px}h1{font-size:clamp(44px,13vw,64px);overflow-wrap:anywhere}.hero-intro{font-size:17px;margin:30px 0}.gold-button{min-width:0;width:100%;padding:19px 22px}.hero-meta{margin-top:34px;font-size:12px}.section{padding:76px 24px}.section h2{font-size:40px;overflow-wrap:anywhere}.about,.fees,.contact{grid-template-columns:1fr;gap:40px}.about-copy,.fees>p{padding-top:0;margin-top:0}.pillars{grid-template-columns:1fr}.pillars div,.pillars div+div{border-left:0;border-bottom:1px solid #ddd8cf;padding:24px 0}.practice-grid{grid-template-columns:1fr;margin-top:48px}.practice-grid article,.practice-grid article+article{border-left:0;border-bottom:1px solid #45484b;padding:28px 0;min-height:0}.practice-grid h3{margin:25px 0 12px}.contact-card{padding-top:0}footer{flex-direction:column;align-items:flex-start}footer div{flex-wrap:wrap}}
@media(max-width:782px){body.admin-bar .site-header{top:46px}}
