@font-face{font-family:Oswald;src:url(assets/fonts/Oswald-Variable.ttf) format('truetype');font-weight:200 700;font-style:normal;font-display:swap}
:root{font-family:Oswald,system-ui,sans-serif;font-size:16px;--muted:#57667a;--pale-gold:#967447;font-synthesis:none}
body{font-weight:400;line-height:1.6;letter-spacing:0;-webkit-font-smoothing:antialiased}
button,input,textarea,select{font-family:inherit}
h1,h2,h3{font-weight:500;letter-spacing:-.035em;line-height:1.14;text-wrap:balance}
.desktop-nav a{font-size:12px;font-weight:600;letter-spacing:.025em}.mobile-nav a{font-weight:500;line-height:1.5}
.hero{height:56vw;min-height:650px;max-height:1060px}.hero:before{background:linear-gradient(90deg,#14233ca6,#14233c50 60%,#14233c7a)}
.hero-copy{top:18%;left:5.25%;width:59%}.hero h1{font-size:clamp(60px,6.5vw,136px);line-height:1.07;letter-spacing:-.045em;font-weight:500;margin-bottom:30px}
.hero h1 i,.hero h1 .gold i{transform:none;white-space:normal}.hero-copy .gold{color:#dbb77c}
.hero-intro{max-width:490px;gap:26px}.hero-intro p{max-width:375px;font-size:clamp(16px,1.25vw,20px);line-height:1.65;letter-spacing:0;font-weight:400;color:#f4f1ea}
.circle-link{width:50px;height:50px;font-size:26px}.hero-aside{right:5.25%;top:40%;width:26%}.hero-aside .eyebrow{font-size:clamp(22px,2.05vw,36px);line-height:1.25;letter-spacing:-.025em;font-weight:500;margin-bottom:16px}.hero-aside>p:last-child{font-size:14px;font-weight:400;line-height:1.65;letter-spacing:0;color:#f4f1ead9}
.practice-tags{max-width:380px;gap:8px;right:5.25%;bottom:6%}.practice-tags span:first-child{margin-left:0}.hero .practice-tags span{font-size:11px;line-height:1.3;font-weight:500;letter-spacing:0;padding:7px 12px;background:#14233c45;color:#f1dfbd}
.about{padding:90px 4vw 0}.about h2{margin-left:12vw;width:auto;font-size:clamp(38px,4.35vw,86px);font-weight:500;line-height:1.22;letter-spacing:-.035em}.about h2 .indent{margin-left:15vw}.about h2 .line{white-space:normal}
.about h2 .line,.about h2 .line:nth-child(2),.motion-on .about h2 .line.is-visible,.motion-on .about h2 .line:nth-child(2).is-visible,.motion-off .about h2 .line{transform:none!important}
.motion-on .about h2 .line[data-reveal]:not(.is-visible){transform:translateY(25px)!important}
.about .edge-note{top:100px;right:4vw;font-size:11px;line-height:1.5;font-weight:500;letter-spacing:.07em;color:#6c798b}
.about-description{margin:30px 0 0 27vw;width:50vw;max-width:700px;font-size:clamp(16px,1.35vw,20px);line-height:1.8;font-weight:400;letter-spacing:0;color:#57667a}.gallery-row{margin-top:45px;grid-template-columns:29% 1fr}.section-nav{gap:10px}.section-nav a{font-size:clamp(12px,1.05vw,17px);font-weight:600;letter-spacing:.035em;line-height:1.6;padding:6px 0;color:#405169;text-decoration-thickness:1px;text-underline-offset:6px}
.team{margin-top:125px}.team-heading h2{width:90%;max-width:1500px;margin:0 auto;font-size:clamp(38px,4.35vw,84px);font-weight:500;line-height:1.2;letter-spacing:-.035em}.team-heading h2 .line{white-space:normal}.team-heading h2 .line,.motion-on .team-heading h2 .line.is-visible,.motion-off .team-heading h2 .line{transform:none!important}.motion-on .team-heading h2 .line[data-reveal]:not(.is-visible){transform:translateY(25px)!important}
.team-heading p{max-width:620px;width:85%;padding:0;margin:26px auto 0;font-size:17px;line-height:1.8;font-weight:400;letter-spacing:0;color:#57667a}.team-controls{margin-top:28px}.track-count{font-size:12px;font-weight:500}
.team-card:after{background:linear-gradient(0deg,#101c32e8 0%,#101c3270 22%,transparent 54%)}.role-label{font-size:11px;font-weight:500;line-height:1.45;letter-spacing:0;background:#14233c80;padding:7px 11px}
.member-name,.team-card.featured .member-name{left:24px;bottom:27px;right:20px;text-shadow:none}.member-name>span{font-size:clamp(13px,1.15vw,18px);font-weight:400;line-height:1.5;letter-spacing:0;margin-bottom:3px;color:#f4f1ead9}.member-name h3{font-size:clamp(18px,1.9vw,30px);font-weight:600;letter-spacing:-.02em;line-height:1.25;overflow-wrap:anywhere}
.closing{padding-top:100px}.closing h2{font-size:clamp(36px,4.4vw,88px);font-weight:500;line-height:1.22;letter-spacing:-.035em;width:84%;max-width:1500px;margin-bottom:46px}.closing .line{white-space:normal}.closing-first{margin-left:13%}.closing-last{margin-left:25%;white-space:normal}.closing .em-dash{margin-left:.15em}.inline-pill{width:1.35em;height:.6em}.closing .inline-pill{width:1.35em;height:.6em}
.consultation-label{font-weight:500;font-size:clamp(20px,2vw,32px);letter-spacing:-.025em;line-height:1.35;padding-right:40px}.filled-arrow{width:44px;height:44px;font-size:30px}.consultation-card{padding-bottom:30px}
.compact-footer-contact{font-size:14px;line-height:1.8;letter-spacing:0}.compact-footer-copyright{font-size:12px}.compact-map-link{font-size:12px;font-weight:500}
.news-trigger-label{font-size:13px;font-weight:600;letter-spacing:0}.news-trigger-headline{font-size:12px;line-height:1.5}.news-panel{width:min(450px,calc(100vw - 44px));padding:26px}.news-panel h2{font-size:29px;font-weight:500;line-height:1.2;letter-spacing:-.035em;margin-top:10px}.news-eyebrow{font-size:10px;font-weight:600;letter-spacing:.06em}.news-list{margin-top:22px}.news-meta{font-size:11px;line-height:1.5;font-weight:500;color:#856233}.news-item h3{font-size:16px;line-height:1.55;font-weight:600;letter-spacing:-.015em;margin:11px 0 8px;text-wrap:pretty}.news-item p{font-size:14px;line-height:1.7;color:#536176}.news-source,.news-status,.news-channels{font-size:12px;line-height:1.6}.news-channels{gap:14px;flex-wrap:wrap}
.contact-dialog h2{font-size:48px;line-height:1.1;font-weight:500;letter-spacing:-.04em}.dialog-intro{font-size:16px;line-height:1.65}.dialog-kicker{font-size:11px;font-weight:600;line-height:1.6;letter-spacing:.03em}.contact-dialog label{font-size:14px;line-height:1.5}.contact-dialog input,.contact-dialog textarea,.contact-dialog select{font-size:16px;line-height:1.5}.submit-button{font-size:15px;font-weight:500}
@media(min-width:1600px){.compact-footer-contact{font-size:14px}}
@media(max-width:1000px){.hero{height:72vw;min-height:650px}.hero-copy{top:20%;width:63%}.hero h1{font-size:7vw}.hero-intro{max-width:390px;gap:18px}.hero-intro p{font-size:15px;max-width:300px}.hero-aside{width:28%;right:4%;top:45%}.hero-aside .eyebrow{font-size:22px}.hero-aside>p:last-child{font-size:13px}.about{padding-top:70px}.about h2{margin-left:7vw;font-size:4.8vw}.about h2 .indent{margin-left:13vw}.about-description{margin-left:20vw;width:64vw}.team-heading h2{font-size:4.8vw}.role-label{font-size:10px}.member-name,.team-card.featured .member-name{left:17px;bottom:20px;right:14px}.member-name h3{font-size:18px}.member-name>span{font-size:12px}.closing h2{font-size:4.8vw}.compact-footer-contact{font-size:13px}}
@media(max-width:700px){.hero-aside{display:block}.hero-aside>p:last-child{max-width:none}.about .edge-note{display:none}.team{margin-top:80px}.team-heading p{font-size:16px}.team-card,.team-card:first-child,.team-card.featured{flex:0 0 78%;aspect-ratio:3/4;margin:0}.team-track{gap:16px;padding-inline:20px}.member-name h3{font-size:24px}.member-name>span{font-size:15px}.role-label{font-size:11px}.closing{padding-top:55px}}
@media(max-width:600px){.hero{height:auto;min-height:820px;max-height:none}.hero-copy{top:130px;left:6%;width:88%}.hero h1{font-size:11.1vw;line-height:1.12;letter-spacing:-.035em;margin-bottom:27px}.hero-intro{max-width:100%;gap:18px;align-items:center}.hero-intro p{font-size:15px;line-height:1.75;max-width:calc(100% - 62px)}.circle-link{width:44px;height:44px;min-width:44px;font-size:25px}.hero-aside{top:auto;bottom:140px;right:6%;width:85%;text-align:right}.hero-aside .eyebrow{font-size:23px;line-height:1.3;margin-bottom:10px}.hero-aside>p:last-child{font-size:13px;line-height:1.6}.practice-tags{right:6%;bottom:34px;max-width:88%;gap:7px}.hero .practice-tags span{font-size:10px;padding:6px 9px}
.about{padding:65px 22px 0}.about h2{margin-left:0;font-size:7.05vw;line-height:1.3;letter-spacing:-.03em;width:100%}.about h2 .indent{margin-left:6vw}.about-description{margin:26px 0 0 6vw;width:calc(100% - 6vw);font-size:16px;line-height:1.8}.gallery-row{margin-top:30px}.section-nav{gap:10px 18px}.section-nav a{font-size:11px;letter-spacing:.015em;font-weight:600;padding:8px 0}.team-heading{padding:0 22px}.team-heading h2{width:100%;margin:0;font-size:8.25vw;line-height:1.25;letter-spacing:-.035em}.team-heading p{width:100%;font-size:16px;line-height:1.75;margin-top:23px}.team-controls{margin-top:28px}.team-track{padding-top:30px}.member-name,.team-card.featured .member-name{left:20px;bottom:24px}.role-label{max-width:calc(100% - 30px)}
.closing h2{width:90%;font-size:7.05vw;line-height:1.3;letter-spacing:-.035em;margin-bottom:30px}.closing-first{margin-left:12%}.closing-last{margin-left:14%}.contact-grid{grid-template-columns:1fr 1.35fr 1fr;gap:9px}.consultation-card{padding:20px 11px 42px;aspect-ratio:.75}.consultation-label{font-size:13px;line-height:1.35;letter-spacing:-.01em;padding-right:0}.filled-arrow{width:26px;height:26px;font-size:23px;bottom:11px;right:11px}.compact-footer-contact{font-size:14px;line-height:1.85}.compact-footer-copyright{font-size:11px}.compact-map-link{font-size:11px}.news-trigger-label{font-size:12px}.news-trigger-headline{font-size:11px}.news-panel{width:calc(100vw - 44px);padding:23px}.news-panel h2{font-size:27px}.news-item h3{font-size:15px}.news-item p{font-size:13px}.contact-dialog h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){.about h2 .line[data-reveal],.team-heading h2 .line[data-reveal]{transform:none!important}}
.hero-photo-caption{position:absolute;left:5.25%;bottom:6%;width:48%;max-width:610px;padding-left:16px;border-left:2px solid #dbb77c;color:#f4f1ea;text-shadow:0 1px 12px #14233cc9}
.hero-photo-caption-title{margin:0;font-size:clamp(13px,1.05vw,17px);line-height:1.6;font-weight:500;letter-spacing:0}
.hero-photo-caption-meta{display:flex;flex-direction:column;gap:3px;margin:8px 0 0;font-size:clamp(11px,.88vw,14px);line-height:1.7;font-weight:400;letter-spacing:0;color:#f4f1eadb}
.hero-photo-caption-meta time{color:#e4c99d;white-space:nowrap}
@media(max-width:1000px) and (min-width:601px){.hero-photo-caption{bottom:5%;width:48%;padding-left:12px}.hero-photo-caption-title{font-size:12px}.hero-photo-caption-meta{font-size:11px;gap:2px 12px}.hero .practice-tags{max-width:38%}}
@media(max-width:600px){.hero{min-height:940px}.hero-aside{bottom:285px}.hero-photo-caption{left:6%;bottom:130px;width:88%;max-width:none;padding-left:13px}.hero-photo-caption-title{font-size:13px;line-height:1.65}.hero-photo-caption-meta{font-size:11px;gap:3px 12px;max-width:300px}}
