:root{--ink:#0b0b0b;--paper:#f2f0eb;--line:rgba(242,240,235,.28);--gold:#cbb990;--serif:"Italiana",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:16px;font-weight:300}a{color:inherit;text-decoration:none}.nav{position:absolute;z-index:5;top:0;left:0;width:100%;height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid var(--line)}.wordmark{font-size:.84rem;letter-spacing:.29em;font-weight:500}.wordmark span{font-weight:300;color:var(--gold)}nav{display:flex;gap:2.4rem;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}nav a{opacity:.75;transition:.3s}nav a:hover{opacity:1;color:var(--gold)}.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:132px 8vw 90px;overflow:hidden}.hero-image,.veil{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-image{object-position:center}.veil{background:linear-gradient(90deg,rgba(7,7,7,.9) 0%,rgba(7,7,7,.73) 33%,rgba(7,7,7,.08) 68%,rgba(7,7,7,.2) 100%)}.hero-copy{position:relative;z-index:2;width:min(620px,55vw)}.eyebrow,.section-no{margin:0 0 2rem;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}h1,h2{font-family:var(--serif);font-weight:400;margin:0;line-height:.94;letter-spacing:-.015em}h1{font-size:clamp(4.3rem,7.8vw,8rem)}h1 em,h2 em{font-weight:400;color:var(--gold)}.intro{max-width:500px;margin:2rem 0 1.8rem;line-height:1.75;color:rgba(242,240,235,.75)}.text-link{display:inline-flex;gap:1rem;align-items:center;padding-bottom:.45rem;border-bottom:1px solid var(--gold);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase}.side-note{position:absolute;z-index:2;right:3.8vw;top:50%;writing-mode:vertical-rl;font-size:.66rem;letter-spacing:.26em;text-transform:uppercase}.scroll{position:absolute;z-index:2;right:4vw;bottom:40px;display:flex;align-items:center;gap:.8rem;font-size:.62rem;letter-spacing:.17em;text-transform:uppercase}.scroll span{width:42px;height:1px;background:var(--paper)}.approach{padding:10rem 8vw 5rem;background:var(--paper);color:var(--ink)}.approach .section-no{color:#81714f}.approach-content{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.75fr);gap:8vw;align-items:end}.approach h2{font-size:clamp(3.2rem,5.5vw,6rem);line-height:1.02}.body-copy{font-size:1.03rem;line-height:1.85;color:#49463f}.body-copy p:first-child{margin-top:0}.services{display:grid;grid-template-columns:repeat(4,1fr);margin-top:8rem;border-top:1px solid #c8c3b9}.services span{padding:1.8rem .5rem 1.8rem 0;border-bottom:1px solid #c8c3b9;font-size:.71rem;letter-spacing:.14em;text-transform:uppercase}.statement{padding:8rem 8vw;background:#151513}.statement p{margin:.15em 0;font-family:var(--serif);font-size:clamp(3.4rem,7.2vw,8rem);line-height:1;color:#d8d4ca}.statement p:nth-child(2){color:var(--gold);margin-left:10vw}.statement p:nth-child(3){margin-left:20vw}.contact{min-height:72vh;padding:9rem 8vw;display:grid;grid-template-columns:.45fr 1.35fr .6fr;gap:4vw;align-items:start}.contact h2{font-size:clamp(4rem,6vw,7rem)}.email{display:inline-block;margin-top:3rem;padding-bottom:.5rem;border-bottom:1px solid var(--gold);font-size:clamp(1rem,1.4vw,1.3rem)}.location{margin-top:3rem;line-height:1.8;font-size:.8rem;color:rgba(242,240,235,.6)}footer{min-height:110px;padding:0 4vw;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:.68rem;letter-spacing:.1em;color:rgba(242,240,235,.62)}
@media(max-width:800px){.nav{height:76px;padding:0 22px}nav{gap:1rem}.hero{padding:120px 24px 80px;align-items:flex-end}.hero-copy{width:100%}.hero-image{object-position:64% center}.veil{background:linear-gradient(0deg,rgba(7,7,7,.96) 0%,rgba(7,7,7,.58) 56%,rgba(7,7,7,.12) 100%)}h1{font-size:clamp(3.5rem,16vw,5.5rem)}.side-note{display:none}.scroll{display:none}.approach{padding:7rem 24px 4rem}.approach-content{grid-template-columns:1fr;gap:3rem}.services{grid-template-columns:1fr 1fr;margin-top:5rem}.statement{padding:6rem 24px}.statement p:nth-child(2),.statement p:nth-child(3){margin-left:0}.contact{padding:7rem 24px;grid-template-columns:1fr;gap:2rem}.contact .section-no{margin-bottom:1rem}.location{margin-top:2rem}footer{padding:2rem 24px;gap:1.5rem;flex-wrap:wrap}.intro{font-size:.94rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.hero-services{max-width:620px;font-size:.875rem;line-height:1.9;color:var(--gold);margin:1.6rem 0 0;letter-spacing:.025em}.hero-services span{padding:0 .3em}.intro{margin-top:1.3rem}.hero-copy{width:min(680px,58vw)}.hero{padding-top:132px;padding-bottom:80px}nav,.text-link,.services span{font-size:.875rem}.eyebrow,.section-no{font-size:.8125rem}.location{font-size:.875rem}.footer-note{text-align:center}.division{font-size:.75rem;letter-spacing:.025em;margin-top:.6rem}footer{padding-top:1.5rem;padding-bottom:1.5rem}.services{gap:1.25rem}.services span{line-height:1.8}a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}@media(max-width:800px){.hero-copy{width:100%}.intro{font-size:1rem}.hero-services{font-size:.875rem}.footer-note{text-align:left}.wordmark{letter-spacing:.16em}nav{font-size:.8125rem;gap:.9rem}}

.hero-services{display:flex;align-items:center;flex-wrap:nowrap;gap:.45em;width:max-content;max-width:none;white-space:nowrap;font-size:clamp(.75rem,1.05vw,.875rem);letter-spacing:0}.hero-services span{padding:0}.service-item{white-space:nowrap}@media(max-width:800px){.hero-services{display:block;width:auto;max-width:100%;white-space:normal;font-size:.875rem}.hero-services .service-item{display:inline-block;white-space:nowrap}.hero-services .service-dot{padding:0 .35em}}

.services{grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.services span{font-size:clamp(.625rem,1vw,.875rem);letter-spacing:.04em;white-space:nowrap}@media(max-width:800px){.services{grid-template-columns:1fr;gap:0}.services span{font-size:.875rem;letter-spacing:.06em}}

.imprint-page .nav{position:relative}.legal{min-height:75vh;padding:6rem 8vw}.legal h1{font-size:clamp(3.5rem,7vw,6rem)}.legal-copy{max-width:760px;margin-top:3rem;font-size:1rem;line-height:1.9;color:var(--paper)}.legal-copy h2{font-family:var(--sans);font-size:1.25rem;line-height:1.5;letter-spacing:0}.legal-copy p{margin:1.5rem 0}.legal-copy strong{font-weight:500}.legal-copy a{text-decoration:underline;text-underline-offset:4px}@media(max-width:800px){.legal{padding:4rem 24px}.legal-copy{overflow-wrap:anywhere}}
