/* Original Google Fonts DM Sans v17 subsets, locally served; license: assets/fonts/OFL.txt. */
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_static/a5d38fe99f930275684999b462c7123faa063d9e44e73b4b241723d884aa0f49.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/_static/9fea608a947e67020c33cad9a6fe3d60c54119dfb8cff87768a8117a15ed7543.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_static/a5d38fe99f930275684999b462c7123faa063d9e44e73b4b241723d884aa0f49.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/_static/9fea608a947e67020c33cad9a6fe3d60c54119dfb8cff87768a8117a15ed7543.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_static/a5d38fe99f930275684999b462c7123faa063d9e44e73b4b241723d884aa0f49.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/_static/9fea608a947e67020c33cad9a6fe3d60c54119dfb8cff87768a8117a15ed7543.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_static/a5d38fe99f930275684999b462c7123faa063d9e44e73b4b241723d884aa0f49.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/_static/9fea608a947e67020c33cad9a6fe3d60c54119dfb8cff87768a8117a15ed7543.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{--ink:#10232d;--navy:#122a36;--muted:#354650;--line:#dce2e5;--blue:#e5eef4;--stone:#f1eee8;--radius:30px;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:#fff;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #b66c34;outline-offset:5px}button:disabled{cursor:default}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:550;text-wrap:balance}h1{font-size:clamp(3rem,5.1vw,5rem);line-height:1.04;letter-spacing:-.065em}h2{font-size:clamp(2.2rem,3.65vw,3.6rem);line-height:1.09;letter-spacing:-.055em}h3{letter-spacing:-.04em}p{font-size:1rem;line-height:1.55}.eyebrow{font-size:.75rem;letter-spacing:.14em;font-weight:600}.wide{margin-left:24px;margin-right:24px;max-width:1600px}.narrow{width:calc(100% - 96px);max-width:1120px;margin-left:auto;margin-right:auto}.section{padding-top:130px}.section-intro{text-align:center;margin:0 auto 64px}.section-intro h2{margin:20px 0}.section-intro>p:last-child{color:var(--muted);font-size:1.125rem}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:0;border-radius:999px;padding:13px 25px;font-size:.9375rem;font-weight:500;transition:background .18s,box-shadow .18s,transform .18s}.button:hover{box-shadow:0 3px 10px #00000014;transform:translateY(-1px)}.dark{color:white;background:var(--navy)}.dark:hover{background:#294853}.white{color:var(--ink);background:white}.white:hover{background:#edf2f4}.header{height:96px;display:flex;align-items:center;padding:0 38px;gap:48px;position:sticky;top:0;z-index:30;background:white;transition:border-radius .22s,box-shadow .22s,height .22s,top .22s;margin:0 12px}.header.scrolled{top:12px;border-radius:999px;height:74px;box-shadow:0 2px 15px #14293613}.brand{display:inline-flex;flex-direction:column;line-height:.97;letter-spacing:.035em;font-weight:600;font-size:1.15rem;flex-shrink:0}.brand-dot{color:#b97842}.header nav{display:flex;align-items:center;gap:26px;margin-left:auto}.header nav a,.nav-link{font-size:.9rem;white-space:nowrap}.header nav a:hover{color:#9a5c2a}.nav-link{border:0;padding:12px 14px;border-radius:99px;background:transparent;display:flex;gap:12px;align-items:center}.nav-link:hover,.nav-link[aria-expanded=true]{background:#f0f3f4}.chevron{border-right:1.5px solid;border-bottom:1.5px solid;width:6px;height:6px;transform:rotate(45deg);margin-top:-3px}.nav-link[aria-expanded=true] .chevron{transform:rotate(225deg);margin-top:3px}.mobile-toggle{display:none}.hero{height:min(710px,calc(100svh - 120px));min-height:560px;border-radius:var(--radius);position:relative;overflow:hidden;background:#314853}.hero>img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#102a36cc 0%,#102a3655 67%,transparent),linear-gradient(0deg,#102a3680,transparent 60%)}.hero-copy{position:absolute;left:56px;bottom:62px;color:white}.hero-copy h1{margin:23px 0}.hero-copy>p:not(.eyebrow){font-size:1.1rem;max-width:440px;margin-bottom:28px}.hero-caption{position:absolute;right:42px;bottom:36px;color:#fff;font-size:.75rem}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.practice-card{min-height:490px;border-radius:var(--radius);padding:40px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .25s}.practice-card:hover{transform:translateY(-4px)}.practice-card.blue{background:var(--blue)}.practice-card.stone{background:var(--stone)}.practice-card.navy{background:var(--navy);color:white}.card-number{font-size:.75rem;letter-spacing:.1em;color:#3c5360}.navy .card-number{color:#e0e9ee}.practice-card h3{font-size:clamp(2rem,3.15vw,3.25rem);line-height:1.1;margin:36px 0 22px}.practice-card p{max-width:290px;margin-bottom:24px;color:#30434e}.practice-card.navy p{color:#f1f5f7}.card-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:46px;gap:12px}.card-bottom>span:first-child{font-size:.69rem;letter-spacing:.13em}.ring-icon{font-size:1.1rem;border:1px solid #81969e77;border-radius:50%;width:50px;height:50px;display:grid;place-items:center}.approach-grid{display:grid;grid-template-columns:1.18fr 1fr;gap:66px;align-items:center}.approach-image{height:490px;position:relative;border-radius:var(--radius);overflow:hidden;background:#eee}.approach-image img{width:100%;height:100%;object-fit:cover}.image-label{position:absolute;bottom:22px;left:22px;background:white;border-radius:100px;padding:10px 15px;font-size:.65rem;letter-spacing:.1em}.approach-copy .eyebrow{margin-bottom:25px}.process-tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:36px}.process-tabs button{background:none;border:0;padding:13px 12px;font-size:.875rem;border-bottom:2px solid transparent}.process-tabs button[aria-selected=true]{border-bottom-color:var(--navy);font-weight:600}.process-tabs button:hover{background:#f3f5f6}.approach-copy h3{font-size:2.65rem;line-height:1.1;margin-bottom:24px}.approach-copy #process-panel p{color:var(--muted);min-height:126px}.text-button{border:0;background:none;padding:0;margin-top:28px;font-weight:600;text-decoration:underline;text-underline-offset:5px}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:90px;padding-top:40px;border-top:1px solid var(--line)}.principle-number{font-size:.8rem;color:#40535e}.principles h3{font-size:1.2rem;margin:20px 0 12px}.principles p{color:var(--muted);font-size:.9375rem}.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.person{text-align:left;background:none;border:0;padding:0}.monogram{height:290px;border-radius:26px;background:#edf1f3;display:flex;align-items:center;justify-content:center;position:relative;font-size:5.5rem;font-weight:400;letter-spacing:-.075em;color:#49616f;transition:background .2s}.person:nth-child(2) .monogram{background:#f1ede7;color:#655c4e}.person:nth-child(3) .monogram{background:#dfe8ed;color:#435e6d}.monogram>span{position:absolute;bottom:22px;left:25px;font-size:.7rem;letter-spacing:.1em}.person:hover .monogram{background:#d2dfe6}.person h3{font-size:1.25rem;margin:22px 0 9px}.person>span{font-size:.875rem;color:var(--muted)}.office-panel{background:#e7eff3;border-radius:var(--radius);padding:68px 80px;display:grid;grid-template-columns:1fr 1fr;column-gap:90px}.office-panel>.eyebrow{grid-column:1/-1;margin-bottom:22px}.office-panel h2{font-size:3rem}.office-options{display:flex;flex-direction:column;gap:16px}.office-options button{display:flex;flex-direction:column;align-items:flex-start;border:0;border-radius:22px;background:#ffffffb3;padding:23px 28px;transition:background .2s}.office-options button:hover{background:white}.office-options span{font-size:.69rem;letter-spacing:.13em;color:#3c505d}.office-options strong{font-size:1.7rem;font-weight:500;margin:8px 0}.office-options small{font-size:.875rem;color:#354b58}.contact-cta{text-align:center;padding:130px 0}.contact-cta h2{font-size:4rem;margin:24px 0}.contact-cta p:not(.eyebrow){color:var(--muted);margin-bottom:25px}footer{padding-bottom:30px}.footer-top{border-top:1px solid var(--line);padding:50px 0;display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:32px}.footer-top h3{font-size:.875rem;font-weight:600;margin-bottom:22px}.footer-top a:not(.brand),.footer-top button{display:block;font-size:.875rem;margin:16px 0;background:none;border:0;padding:0;text-align:left;color:var(--muted)}.footer-top a:hover,.footer-top button:hover{color:var(--navy);text-decoration:underline}.footer-bottom{border-top:1px solid var(--line);padding-top:24px;display:flex;gap:28px;align-items:center;font-size:.75rem;color:var(--muted)}.footer-bottom>span:first-child{margin-right:auto}.footer-bottom button{border:0;background:none;font-size:inherit;padding:0}.skip{position:fixed;left:15px;top:-70px;background:white;padding:15px;z-index:100}.skip:focus{top:15px}.backdrop{position:fixed;inset:0;background:#13242a80;z-index:20;animation:fade .2s}.mega-menu{position:fixed;left:12px;right:12px;top:108px;border-radius:30px;background:white;z-index:25;padding:40px;display:grid;grid-template-columns:1.4fr 1fr;gap:55px;box-shadow:0 15px 30px #122a3622;animation:panel-in .22s}.mega-menu[hidden],.mobile-menu[hidden],.backdrop[hidden]{display:none}.menu-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px}.menu-cards button{border:0;background:#eef3f6;border-radius:22px;padding:24px;text-align:left;display:flex;flex-direction:column;min-height:185px;transition:background .2s}.menu-cards button:nth-child(2){background:#f1eee8}.menu-cards button:nth-child(3){background:#dee7ed}.menu-cards button:hover{background:#cbdce6}.mini-mark{font-size:2.3rem;color:#435e6d;margin-bottom:20px}.menu-cards strong{font-size:.95rem;font-weight:500}.menu-cards small{font-size:.75rem;margin-top:8px;color:var(--muted)}.menu-aside h3{font-size:1.6rem;line-height:1.25;margin:24px 0}dialog{border:0;border-radius:30px;padding:48px;color:var(--ink);width:680px;max-width:calc(100vw - 32px);max-height:calc(100svh - 32px);overflow:auto;box-shadow:0 24px 100px #122a3640;animation:panel-in .22s}dialog::backdrop{background:#122a3699}dialog h2{font-size:2.8rem;margin:22px 0}dialog h3{font-size:1.1rem;margin:24px 0 10px}dialog p{color:var(--muted)}.close-dialog{position:absolute;top:18px;right:18px;border:0;border-radius:50%;width:38px;height:38px;background:#edf1f3;font-size:1.5rem}.dialog-list{padding-left:20px;color:var(--muted);line-height:1.6;margin:24px 0}.dialog-list li{margin-bottom:9px}.dialog-intro{margin-bottom:24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{font-size:.875rem;display:block;margin-bottom:18px;font-weight:500}input,textarea,select{width:100%;border:1px solid #cad4da;background:white;border-radius:12px;padding:12px;margin-top:8px;color:var(--ink);font-size:1rem}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #527e97;outline-offset:2px}.form-note{font-size:.8125rem;margin:2px 0 22px}#inquiry-preview{background:#edf3f6;padding:24px;border-radius:18px}#inquiry-preview p{margin:12px 0;overflow-wrap:anywhere}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(18px);transition:opacity .5s,transform .5s}.js-motion .reveal.visible{opacity:1;transform:none}@keyframes panel-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@keyframes fade{from{opacity:0}to{opacity:1}}@media(min-width:1648px){.wide{margin-left:auto;margin-right:auto}}@media(max-width:1100px){.header{gap:20px;padding:0 24px}.header nav{gap:13px}.header nav a,.nav-link{font-size:.82rem}.nav-contact{font-size:.8rem;padding:12px 17px}.practice-card{padding:30px}.approach-grid{gap:35px}.office-panel{padding:55px;gap:40px}.office-panel h2{font-size:2.6rem}}@media(max-width:900px){.header{height:82px;justify-content:space-between}.header nav,.nav-contact{display:none}.header.scrolled{height:66px}.mobile-toggle{display:flex;flex-direction:column;gap:7px;border:0;background:none;padding:15px}.mobile-toggle span{display:block;width:25px;height:1.5px;background:var(--ink)}.mobile-menu{position:fixed;top:94px;left:12px;right:12px;background:white;border-radius:25px;z-index:25;padding:28px;box-shadow:0 15px 35px #122a3633;animation:panel-in .2s}.mobile-menu a{display:block;font-size:1.3rem;padding:18px 0;border-bottom:1px solid var(--line)}.mobile-menu .button{margin-top:24px}.hero-copy{left:38px}.hero-caption{display:none}.practice-card h3{font-size:2.3rem}.practice-card{padding:24px;min-height:475px}.practice-card .button{font-size:.81rem;padding:12px 16px}.card-bottom>span:first-child{font-size:.6rem}.narrow{width:calc(100% - 64px)}.approach-grid{grid-template-columns:1fr 1fr}.approach-image{height:420px}.approach-copy h3{font-size:2.1rem}.process-tabs button{padding:12px 8px;font-size:.8rem}.office-panel{grid-template-columns:1fr;gap:35px}.office-options{flex-direction:row}.office-options button{flex:1}.principles{gap:24px}.monogram{height:240px}.footer-top{grid-template-columns:1fr 1fr;row-gap:35px}}@media(max-width:600px){html{scroll-padding-top:92px}.wide{margin-left:16px;margin-right:16px}.narrow{width:calc(100% - 40px)}.header{padding:0 17px;margin:0 8px;height:80px}.header.scrolled{top:8px;height:62px}.brand{font-size:.98rem}.hero{height:610px;min-height:0;border-radius:25px}.hero img{object-position:64% 50%}.hero-shade{background:linear-gradient(0deg,#102a36f0 0%,#102a3680 60%,#102a361a)}.hero-copy{left:26px;right:25px;bottom:34px}.hero-copy h1{font-size:3.05rem;letter-spacing:-.06em}.hero-copy>.eyebrow{font-size:.65rem}.hero-copy>p:not(.eyebrow){font-size:1rem;max-width:300px}.section{padding-top:80px}.section-intro{margin-bottom:38px;padding:0 20px}.section-intro h2{font-size:2.25rem}.section-intro>p:last-child{font-size:1rem}.desktop-break{display:none}.practice-grid{grid-template-columns:1fr;gap:16px}.practice-card{min-height:425px;padding:32px}.practice-card h3{font-size:2.7rem;margin-top:30px}.practice-card p{max-width:290px}.practice-card .button{font-size:.9375rem;padding:13px 25px}.card-bottom{padding-top:35px}.card-bottom>span:first-child{font-size:.69rem}.approach-grid{grid-template-columns:1fr;gap:35px}.approach-image{height:360px}.approach-copy{padding:0 8px}.approach-copy h3{font-size:2.4rem}.approach-copy #process-panel p{min-height:100px}.process-tabs button{font-size:.875rem;padding:13px 14px}.image-label{left:16px;font-size:.58rem}.principles{grid-template-columns:1fr;gap:30px;margin-top:55px;padding-top:35px}.principles h3{margin-top:12px}.people-grid{grid-template-columns:1fr;gap:32px}.monogram{height:260px}.person h3{margin-top:17px}.office-panel{padding:36px 25px}.office-panel h2{font-size:2.3rem}.office-options{flex-direction:column}.contact-cta{padding:85px 0}.contact-cta h2{font-size:3rem}.footer-top{padding-top:35px;gap:25px}.footer-top>.brand{grid-column:1/-1;margin-bottom:10px}.footer-bottom{flex-wrap:wrap;gap:15px}.footer-bottom>span:first-child{width:100%}dialog{padding:36px 25px;border-radius:24px}dialog h2{font-size:2.25rem}.form-row{grid-template-columns:1fr;gap:0}.menu-cards{grid-template-columns:1fr}.eyebrow{font-size:.69rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.js-motion .reveal{opacity:1;transform:none}}

/* Readable secondary controls and inquiry placeholders. */
.header nav a,.nav-link,.button,.process-tabs button{font-weight:600}
input::placeholder,textarea::placeholder{color:#52616b;opacity:1}

/* Project wordmark in one line, paired with the faithful original linked symbol. */
.brand{display:inline-flex;flex-direction:row;align-items:center;gap:10px;flex-shrink:0;line-height:.97;letter-spacing:.035em;font-weight:600;font-size:1.15rem;color:#111}
.brand-text{display:block;white-space:nowrap;line-height:.97}
.brand-dot{color:inherit}
.brand-symbol{display:block;width:48px;height:44px;object-fit:contain;flex-shrink:0;filter:brightness(0)}
@media(min-width:901px) and (max-width:1100px){.brand{font-size:1rem;gap:8px}.brand-symbol{width:42px;height:40px}}
@media(max-width:600px){.brand{font-size:.875rem;gap:7px}.brand-symbol{width:36px;height:34px}}
