:root{--paper:#f7f4ee;--ink:#1b1a18;--black:#141413;--gold:#9b7a40;--muted:#726e65;--line:#ddd6c9;--display:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif;--gutter:clamp(24px,5.3vw,90px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font:400 14px/1.8 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--display);font-weight:400;letter-spacing:-.045em}em{font-weight:400;color:var(--gold)}button,a,summary,input{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:6px}::selection{background:#d4c395;color:#141413}.skip{position:fixed;top:-80px;z-index:100;background:var(--black);color:white;padding:15px}.skip:focus{top:0}
.header{height:100px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;background:#141413fa;color:#f4eee2;backdrop-filter:blur(14px)}.brand{width:148px;flex-shrink:0}.brand img{width:148px;height:auto;object-fit:contain}.header nav{display:flex;align-items:center;gap:clamp(20px,2.7vw,42px);font-size:12px;font-weight:500}.header nav a{position:relative;white-space:nowrap}.header nav a:not(.nav-contact)::after{content:'';position:absolute;bottom:-8px;left:0;width:0;height:1px;background:var(--gold);transition:width .3s}.header nav a:hover::after,.header nav a[aria-current]::after{width:100%}.nav-contact{border:1px solid #9b7a4070;padding:11px 20px;display:flex;gap:28px;align-items:center}.nav-contact span{font-size:20px}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1.12fr 1fr;min-height:min(810px,calc(100svh - 100px));padding:42px var(--gutter) 44px;gap:5.2vw;max-width:1800px;margin:auto}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;padding-top:32px}.eyebrow{font-size:10px;letter-spacing:.15em;line-height:1.5;font-weight:600}.hero .eyebrow{display:flex;align-items:center;gap:12px}.small-line{height:1px;width:28px;background:var(--gold)}h1{font-size:clamp(65px,7.5vw,119px);line-height:.98;margin:27px 0 25px;font-weight:400}h1 em{white-space:nowrap}.hero-description{max-width:370px;color:var(--muted);line-height:1.9;font-size:13px}.button{display:inline-flex;gap:40px;align-items:center;padding:15px 23px;background:var(--black);color:#fff;font-size:11px;margin-top:29px;border:1px solid var(--black);transition:background .25s}.button span{font-size:20px}.button:hover{background:#393127}.hero-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;margin-top:auto;padding-top:42px;font-size:8px;letter-spacing:.12em}.scroll-link{display:flex;align-items:center;gap:12px}.scroll-link>span{border:1px solid var(--line);display:grid;place-items:center;width:33px;height:33px;border-radius:50%;font-size:15px}.hero-visual{position:relative;min-height:590px;overflow:visible}.hero-visual>img{width:100%;height:100%;position:absolute;inset:0;object-position:35% 40%;filter:saturate(.55);border-radius:150px 0 0 0}.photo-rule{position:absolute;inset:18px;border:1px solid #f6f4ee55;border-top-left-radius:135px;pointer-events:none}.hero-note{position:absolute;bottom:36px;left:-33px;background:var(--black);color:var(--paper);padding:24px 32px;display:flex;gap:20px;align-items:center;box-shadow:0 12px 40px #14141325}.hero-note p{font:400 24px/1.3 var(--display);letter-spacing:-.01em}.hero-note em{color:#d0bc95}.note-star{font-size:42px;color:#cbb588;font-family:Georgia}.vertical-word{position:absolute;right:-27px;top:80px;writing-mode:vertical-rl;font-size:8px;letter-spacing:.2em;color:var(--muted)}
.section{padding:100px var(--gutter);scroll-margin-top:0}.section-marker{display:flex;gap:24px;align-items:center;font-size:10px;letter-spacing:.16em;margin-bottom:55px;color:var(--gold)}.rule{height:1px;background:var(--line);flex:1}.about{border-top:1px solid var(--line)}.about-top{display:grid;grid-template-columns:1fr 1fr;gap:9vw}h2{font-size:clamp(46px,4.9vw,78px);line-height:1.05}.about-copy>p{color:var(--muted);max-width:510px;margin-bottom:18px}.about-copy .large-copy{font:400 29px/1.35 var(--display);color:var(--ink);margin-bottom:24px;letter-spacing:-.01em}.text-link{display:inline-flex;align-items:center;gap:28px;font-size:11px;border-bottom:1px solid var(--gold);padding-bottom:7px;margin-top:10px}.text-link>span{font-size:19px}.about-image{margin-top:60px;position:relative;height:340px;overflow:hidden}.about-image img{width:100%;height:100%;object-position:50% 40%;filter:grayscale(.7) brightness(.7)}.about-image::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#141413a0,transparent)}.image-caption{position:absolute;z-index:1;left:45px;bottom:38px;color:white}.image-caption>span{font-size:8px;letter-spacing:.2em}.image-caption p{font:400 43px/1.1 var(--display);margin-top:18px}.image-caption em{color:#e1d1ad}
.dark{background:var(--black);color:var(--paper)}.dark .rule{background:#ebedda25}.dark .section-marker{color:#c6b68e}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:65px;margin-bottom:50px}.section-heading>p{max-width:330px;color:var(--muted);font-size:12px;padding-bottom:6px}.dark .section-heading>p{color:#c2baac}.dark h2 em{color:#c5b38c}.subtle{font-size:10px;display:block;margin-top:10px;color:#b9ad97}.practice-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:60px;align-items:start}.practice{border-top:1px solid #ebedda2c}.practice summary{list-style:none;display:flex;align-items:center;gap:20px;cursor:pointer;padding:23px 0;min-height:77px}.practice summary::-webkit-details-marker{display:none}.practice-num{font-size:9px;color:#b6a685;min-width:15px}.practice h3{font:400 clamp(19px,1.8vw,25px)/1.25 var(--display);letter-spacing:-.01em}.plus{margin-left:auto;width:25px;flex-shrink:0;text-align:center;font-size:22px;font-weight:400;color:#b9a67c;transition:transform .25s}.practice[open] .plus{transform:rotate(45deg)}.practice p{font-size:12px;color:#c9c0b1;padding:0 42px 24px;max-width:540px}.practice:hover h3{color:#e3cfa6}
.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.principle-grid article{border-top:1px solid var(--line);padding-top:22px}.principle-number{font:italic 400 43px var(--display);color:#b09b74}.principle-grid h3{font:400 29px/1.2 var(--display);margin:22px 0 14px}.principle-grid p{font-size:12px;max-width:310px;color:var(--muted)}.team{padding-top:30px}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);column-gap:25px;row-gap:30px}.person{display:flex;flex-direction:column;gap:23px;border-top:1px solid var(--line);padding-top:25px;padding-bottom:20px}.initials{font:400 38px/1 var(--display);color:#9b7a40;background:#eee7d9;display:grid;place-items:center;width:76px;height:76px;border-radius:50%}.person h3{font:500 25px/1.2 var(--display);letter-spacing:-.02em}.person p{font-size:10px;color:var(--muted);margin-top:7px}.contact{padding-bottom:28px;position:relative;overflow:hidden}.contact::before{content:'N';position:absolute;right:-40px;bottom:-200px;font:400 650px/1 var(--display);color:#ffffff03;pointer-events:none}.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:10vw}.contact h2{font-size:clamp(65px,7vw,110px)}.contact-grid>div>p{max-width:340px;color:#c9c0b1;margin-top:27px;font-size:12px}.contact-mail{display:flex;align-items:center;justify-content:space-between;gap:20px;font:400 clamp(23px,2.3vw,36px)/1.3 var(--display);border-bottom:1px solid #ffffff33;padding-bottom:16px;margin-top:37px;max-width:450px}.contact-mail span{font-family:var(--sans);font-size:28px}.contact-details>div{border-top:1px solid #ffffff33;padding:24px 0 30px}.contact-details .eyebrow{display:block;color:#c5b38c;margin-bottom:15px}.contact-details a:not(.text-link){font-size:19px;display:flex;justify-content:space-between;align-items:center}.contact address{font-style:normal;color:#e1d8c8;font-size:15px;line-height:1.9}.contact-details .text-link{color:#e1d8c8;margin-top:18px}.contact-bottom{display:flex;justify-content:space-between;border-top:1px solid #ffffff26;margin-top:65px;padding-top:22px;font-size:9px;letter-spacing:.14em;color:#bcb19e}.contact-bottom a{letter-spacing:0}footer{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:24px var(--gutter);font-size:9px;color:var(--muted)}.reveal{transition:transform .8s ease,opacity .8s ease}.js .reveal{opacity:0;transform:translateY(24px)}.js .reveal.visible{opacity:1;transform:none}
@media(min-width:1800px){.section>*{max-width:1620px;margin-left:auto;margin-right:auto}.header{padding-left:max(var(--gutter),calc((100vw - 1620px)/2));padding-right:max(var(--gutter),calc((100vw - 1620px)/2))}}
@media(max-width:1000px){.header nav{gap:20px;font-size:10px}.nav-contact{padding:9px 12px;gap:16px}.hero{gap:30px;min-height:650px}.hero-visual{min-height:550px}.hero-note{left:-18px;padding:20px}.hero-note p{font-size:21px}.hero-bottom>span{display:none}.section{padding-top:75px;padding-bottom:75px}.team-grid{grid-template-columns:repeat(2,1fr)}.practice-grid{column-gap:30px}.practice h3{font-size:21px}.section-heading{gap:35px}.section-heading>p{max-width:250px}.person{flex-direction:row;align-items:center}.initials{width:62px;height:62px;flex-shrink:0}.principle-grid{gap:25px}.contact-grid{gap:50px}}
@media(max-width:720px){html{scroll-padding-top:80px}.header{height:80px}.brand,.brand img{width:121px}.menu-toggle{display:flex;align-items:center;gap:15px;background:none;border:0;padding:12px 0 12px 12px;font-size:11px}.menu-toggle i{width:22px;height:10px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);transition:transform .2s}.menu-toggle[aria-expanded=true] i{transform:rotate(-45deg)}.header nav{display:none;position:absolute;top:79px;left:0;right:0;background:var(--paper);padding:22px var(--gutter) 28px;border-bottom:1px solid var(--line);box-shadow:0 20px 25px #14141320;flex-direction:column;align-items:stretch;gap:5px;font-size:15px}.header nav.open{display:flex}.header nav a{padding:10px 0}.header nav .nav-contact{padding:12px;margin-top:8px;justify-content:space-between}.header nav a:not(.nav-contact)::after{bottom:4px}.hero{display:flex;flex-direction:column;gap:30px;padding-top:24px;padding-bottom:36px}.hero-copy{padding-top:12px}.hero .eyebrow{font-size:8px;letter-spacing:.12em}h1{font-size:clamp(64px,12vw,84px);line-height:.98;margin:24px 0}.hero-description{max-width:345px;font-size:12px}.button{margin-top:23px;padding:12px 20px}.hero-bottom{display:none}.hero-visual{min-height:350px;height:350px;margin-left:28px}.hero-visual>img{border-radius:90px 0 0 0;object-position:40% 45%}.photo-rule{border-top-left-radius:80px;inset:12px}.hero-note{bottom:20px;left:-28px;padding:17px 22px;gap:14px}.hero-note p{font-size:22px}.note-star{font-size:32px}.vertical-word{right:-17px;top:60px;font-size:7px}.section{padding-top:55px;padding-bottom:55px}.section-marker{font-size:8px;gap:15px;margin-bottom:35px}h2{font-size:clamp(43px,8vw,60px)}.about-top,.contact-grid{grid-template-columns:1fr;gap:30px}.about-copy .large-copy{font-size:25px}.about-copy>p{font-size:12px}.about-image{margin-top:35px;height:260px}.image-caption{left:23px;bottom:25px}.image-caption p{font-size:34px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{max-width:350px;margin-top:22px;font-size:12px}.practice-grid{grid-template-columns:1fr}.practice summary{padding:18px 0;min-height:65px;gap:16px}.practice h3{font-size:24px}.practice p{padding-left:31px;font-size:12px}.principle-grid{grid-template-columns:1fr;gap:30px}.principle-grid article{position:relative;padding-left:48px;padding-top:20px}.principle-number{position:absolute;top:21px;left:0;font-size:30px}.principle-grid h3{margin:0 0 12px;font-size:27px}.team{padding-top:12px}.team-grid{column-gap:18px;row-gap:12px}.person{flex-direction:column;align-items:flex-start;gap:16px;padding-top:20px;padding-bottom:15px}.person h3{font-size:23px}.person p{font-size:9px}.initials{width:55px;height:55px;font-size:30px}.contact h2{font-size:75px}.contact-grid{gap:38px}.contact-mail{margin-top:27px;font-size:29px}.contact-bottom{font-size:8px;gap:20px;margin-top:25px}footer{flex-wrap:wrap;font-size:8px;gap:8px;padding-top:20px;padding-bottom:20px}footer p{order:3;width:100%}footer>span:last-child{margin-left:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.js .reveal{transition:none;opacity:1;transform:none}}

/* Black, gold and warm ivory brand palette. */
.header { border-bottom-color:#b69a5c55; }
.header .brand, .header .brand img { width:164px; }
.header .nav-contact { border-color:#b69a5c88; color:#e2cc91; }
.header nav a:hover, .header nav a[aria-current] { color:#e2cc91; }
.header nav a:not(.nav-contact)::after { background:#cbb279; }
.hero-note { border:1px solid #b69a5c55; }
.hero-visual>img { filter:saturate(.25); }
.about-image img { filter:grayscale(1) brightness(.7); }
.dark .section-marker, .dark h2 em, .contact-details .eyebrow { color:#cfb579; }
.button { border-color:#8c744c; }
@media(max-width:720px) {
 .header .brand, .header .brand img { width:134px; }
 .header nav { background:#141413; color:#f4eee2; border-bottom-color:#b69a5c55; }
 .menu-toggle { color:#e2cc91; }
 .menu-toggle i { border-color:#e2cc91; }
}

/* Original portraits, consistently cropped without stretching. */
.person { flex-direction:column; align-items:flex-start; }
.person-photo, .person .initials { width:128px; height:128px; flex-shrink:0; border-radius:50%; }
.person-photo { object-fit:cover; object-position:center 22%; border:1px solid #b69a5c55; }
.person .initials { font-size:48px; }
@media(max-width:720px) {
 .person-photo, .person .initials { width:108px; height:108px; }
 .person .initials { font-size:40px; }
}

/* Independent columns: expanding a practice never stretches its neighbour. */
.areas { background:linear-gradient(120deg,#141413,#1e1c18); }
.areas .section-heading { margin-bottom:42px; }
.practice-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; align-items:start; }
.practice-column { display:flex; flex-direction:column; gap:10px; min-width:0; }
.practice { border:1px solid #cbb27929; background:#ffffff03; transition:background .2s,border-color .2s; }
.practice:hover { border-color:#cbb27980; background:#ffffff06; }
.practice[open] { background:#28241d; border-color:#cbb27999; box-shadow:inset 3px 0 #cbb279; }
.practice summary { padding:21px 23px; min-height:85px; gap:18px; }
.practice-num { font:400 15px var(--display); color:#bfa77a; min-width:23px; }
.practice h3 { font:400 clamp(22px,1.85vw,28px)/1.2 var(--display); color:#f3eee4; }
.practice .plus { display:grid; place-items:center; width:29px; height:29px; border:1px solid #cbb27940; border-radius:50%; font:300 22px/1 var(--sans); color:#cbb279; }
.practice[open] .plus { background:#cbb279; color:#191713; border-color:#cbb279; }
.practice[open] h3 { color:#e3cc9c; }
.practice p { margin:0 23px 0 64px; padding:0 0 19px; max-width:none; font-size:13px; line-height:1.9; color:#d0c6b5; }
.practice-contact { display:inline-flex; align-items:center; gap:22px; margin:0 23px 23px 64px; padding-top:13px; border-top:1px solid #cbb27940; color:#dfc68f; font-size:11px; }
.practice-contact span { font-size:18px; }
@media(max-width:1000px) { .practice summary { padding:19px 17px; gap:12px; } .practice p { margin-left:52px; margin-right:17px; } .practice-contact { margin-left:52px; } }
@media(max-width:720px) { .practice-grid { grid-template-columns:1fr; gap:10px; } .practice summary { min-height:78px; padding:20px 17px; } .practice h3 { font-size:24px; } .practice p { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .practice { transition:none; } }
