/* Taste Skill / service: white-signal-red + Red Hat Display/Text, photo hero.
   Existing CMS templates and content remain the source of truth. */
:root{
  --p-bg:#ffffff;--p-surface:#f2f2f2;--p-ink:#0a0a0a;--p-muted:#6b6b6b;
  --p-accent:#d92b21;--p-accent-ink:#ffffff;--p-action:#d92b21;--p-action-ink:#ffffff;
  --p-inv-bg:#000000;--p-inv-surface:#010101;--p-inv-ink:#ffffff;--p-inv-muted:#868686;
  --p-inv-accent:#d92b21;--p-inv-accent-ink:#ffffff;--p-inv-action:#d92b21;--p-inv-action-ink:#ffffff;
  --font-display:'Red Hat Display',system-ui,sans-serif;--font-text:'Red Hat Text',system-ui,sans-serif;
  --display-weight:400;--display-tracking:-.025em;--display-tracking-xl:-.035em;
  --sans:var(--font-text);--serif:Georgia,'Times New Roman',serif;--ink:var(--p-ink);--navy:var(--p-ink);--deep:#141414;
  --cream:var(--p-bg);--paper:var(--p-bg);--stone:var(--p-surface);--muted:#555b60;--line:#dedede;
  --gold:var(--p-accent);--gold-light:#ffffff;--gutter:clamp(24px,5.55vw,80px);--ease:cubic-bezier(.16,1,.3,1);
}
html{scroll-padding-top:88px}body{background:var(--p-bg);font-family:var(--font-text);font-size:16px;color:var(--p-ink)}
.container{width:calc(100% - 2*var(--gutter));max-width:1280px}.section{padding-block:112px}
::selection{background:#f6bcb6;color:#141414}:focus-visible{outline-color:var(--p-accent)}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;letter-spacing:var(--display-tracking)}
.practice-card h3,.approach h2,.approach-steps h3,.prose h2,.prose h3{font-family:var(--font-display)}
.eyebrow{color:var(--muted);font-size:13px;font-weight:500;line-height:1.5;letter-spacing:.015em;margin-bottom:24px;text-transform:none}
.site-header,.menu-ready .site-header{height:88px;background:var(--p-bg);border-bottom:1px solid var(--line);box-shadow:none}
.site-header:after{display:none}.site-header:before{background:var(--p-accent)}.header-inner{gap:40px;min-height:0}
.brand{gap:12px}.brand img{width:42px;height:42px}.brand strong{font-family:var(--font-display);font-weight:500;font-size:30px;letter-spacing:-1.2px}
.brand small{font-family:var(--font-text);font-size:10px;letter-spacing:2.2px;font-weight:400;margin-top:6px}
.site-header nav{gap:32px}.site-header nav>a,.nav-services>summary{font-size:14px;font-weight:500;letter-spacing:0;text-transform:none;padding-block:14px}
.site-header nav>a:last-child{background:var(--p-action);color:white;border:1px solid var(--p-action);padding:13px 21px;border-radius:8px;transition:background-color .25s ease,transform .3s var(--ease)}
.site-header nav>a:last-child:hover{background:#bd241b;transform:translateY(-2px)}.site-header nav>a:last-child:after{display:none}
.nav-services-menu{width:600px;top:calc(100% + 13px);padding:28px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:none}
.nav-services-list>a{font-size:14px;padding:12px 0}.nav-services-all{font-size:15px}.nav-services-list>a:hover{color:var(--p-accent)}
.button,.button-gold{min-height:52px;padding:15px 24px;background:var(--p-action);color:var(--p-action-ink);border:1px solid var(--p-action);border-radius:8px;font-size:15px;font-weight:500;letter-spacing:0;gap:24px;box-shadow:none}
.button:hover,.button:focus-visible{box-shadow:none;background:#bd241b;transform:translateY(-2px)}.button:before{display:none}.button:after{display:none}.button:active{transform:translateY(0) scale(.98)}
.button .icon,.hero-actions .button .icon{width:20px;height:20px;padding:0;background:none}
.text-link{font-size:15px;gap:24px;font-weight:500;color:inherit;padding-bottom:9px}.text-link:after{height:1px;background:currentColor}
/* Photo hero: a legible, solid text surface rather than a dark wash over the photograph. */
.hero{margin:0;border-radius:0;min-height:calc(100svh - 88px);background:#e5e9ed;color:var(--p-ink);padding-block:56px;display:flex;align-items:center}
.hero-visual{inset:0;z-index:-4;border-radius:0}.hero-image{width:100%;height:100%;object-fit:cover;object-position:65% 45%}
.hero-shade{display:none}
.hero-content{width:min(660px,54%);max-width:none;margin:0 0 0 var(--gutter);padding:40px 48px;background:var(--p-bg);border-radius:12px}
.hero h1{max-width:none;font-family:var(--font-display);font-size:clamp(56px,5.55vw,80px);font-weight:400;line-height:1.02;letter-spacing:-.04em}
.hero-line{display:block}.hero-line:nth-child(n+2){font-family:var(--font-display);font-size:clamp(24px,2.1vw,30px);line-height:1.25;font-style:normal;font-weight:400;letter-spacing:-.02em;color:var(--p-ink);margin-top:20px}
.hero-content>p{font-size:16px;line-height:1.65;color:#50565b;max-width:48ch;margin:24px 0 28px}
.hero-actions{align-items:center;gap:24px;flex-wrap:wrap}.hero-actions .button{padding:15px 22px;gap:22px}
.hero-secondary{font-size:14px;font-weight:500;color:var(--p-ink);padding:10px 0;gap:12px}.hero-secondary:after{background:var(--p-ink)}.hero-secondary>.icon{width:17px}
.hero-bottom{display:none}.principles-strip{display:none}
/* Old fixed text heights from a saved layout must reflow in the new composition. */
.page-home #visual-page .hero .hero-line,.page-home #visual-page .hero .hero-content>p{height:auto!important;min-height:0!important;max-height:none!important}
.page-home #visual-page .hero .hero-line:nth-child(n+2){font-size:clamp(24px,2.1vw,30px)!important;line-height:1.25!important}
/* Firm introduction: clean split, photograph unlabelled, plain readable type. */
.about-grid{grid-template-columns:1fr 1fr;gap:80px;align-items:start;padding-block:120px}
.about-copy{grid-column:1;grid-row:1}.about-photo{grid-column:2;grid-row:1;padding:0}
.about-photo>img{width:100%;height:520px;object-fit:cover;border-radius:12px}.photo-caption,.about-note{display:none}
.about-copy h2,.section-heading h2{font-family:var(--font-display);font-size:clamp(38px,3.6vw,52px);font-weight:400;line-height:1.12;letter-spacing:-.035em}
.about-copy>p{max-width:48ch;font-size:17px;line-height:1.75;margin:28px 0 32px;color:#50565b}
/* Practice index: numbered, open rows. The actual services continue to come from the CMS. */
.practice-section{background:var(--p-surface);border:0;margin:0;border-radius:0;padding-block:112px}
.practice-section .section-heading,.section-heading{display:flex;justify-content:space-between;align-items:flex-end;text-align:left;gap:48px;margin-bottom:56px}
.section-heading>div{max-width:700px}.practice-section .heading-aside,.heading-aside{font-size:16px;line-height:1.7;max-width:340px;text-align:left;margin:0;padding-bottom:4px}
.practice-section .section-heading .eyebrow{margin-bottom:24px}
.practice-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:0;border-top:1px solid #c9c9c9}
.practice-card,.practice-card:first-child{display:grid;grid-template-columns:56px minmax(220px,1fr) minmax(260px,1fr) 48px;gap:24px;align-items:center;min-height:0;padding:28px 0;background:transparent;border:0;border-bottom:1px solid #c9c9c9;border-radius:0;text-align:left;color:var(--p-ink)}
.practice-card:nth-child(odd),.practice-card:nth-child(4n),.practice-card:last-child{border-right:0;border-bottom:1px solid #c9c9c9}
.practice-card h3,.practice-card>p{min-width:0;overflow-wrap:anywhere}
.practice-card:before,.practice-card:first-child:before{inset:0 -16px;background:#ffffff70;border-radius:8px;opacity:0;transition:opacity .3s ease}
.practice-card:after{display:none}.practice-card:hover,.practice-card:focus-visible{color:var(--p-ink);transform:translateY(-2px)}
.practice-top{grid-column:1;margin:0;justify-content:flex-start;align-self:start;padding-top:8px}.practice-top>.icon{display:none}.practice-top>span,.practice-card:first-child .practice-top>span{display:block;color:#6b6b6b;font-size:13px;font-weight:400}
.practice-card h3{grid-column:2;font-size:clamp(24px,2.1vw,30px);font-weight:400;line-height:1.2;letter-spacing:-.025em;margin:0;max-width:none}
.practice-card>p,.practice-card:first-child>p{grid-column:3;margin:0;max-width:40ch;font-size:16px;line-height:1.7;color:#555b60;display:block;overflow:visible;-webkit-line-clamp:unset}
.practice-bottom,.practice-card:first-child .practice-bottom{grid-column:4;width:48px;border:0;padding:0;margin:0;justify-content:center;color:var(--p-ink)}
.practice-bottom>span{display:none}.practice-bottom>.icon,.practice-card:first-child .practice-bottom>.icon{width:44px;height:44px;padding:11px;border:1px solid #b9b9b9;border-radius:50%;background:transparent;color:var(--p-ink);transition:transform .35s var(--ease),color .25s ease,background-color .25s ease,border-color .25s ease}
.practice-card:hover .practice-bottom>.icon,.practice-card:focus-visible .practice-bottom>.icon{background:var(--p-action);border-color:var(--p-action);color:white;transform:translate(2px,-2px)}
.practice-all{display:table;font-size:15px;margin:36px 0 0}
.practice-index{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:stretch}
.practice-figure{position:relative;min-height:500px;border-radius:12px;overflow:hidden;background:#dadada}.practice-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.page-home .practice-card,.page-home .practice-card:first-child{grid-template-columns:36px 1fr 44px;gap:16px;padding-block:22px;min-height:0}
.page-home .practice-top{grid-column:1;grid-row:1;padding-top:7px}.page-home .practice-card h3{grid-column:2;grid-row:1;font-size:28px;line-height:1.2}.page-home .practice-card>p{display:none}.page-home .practice-bottom{grid-column:3;grid-row:1;width:44px}
/* Three clear steps, each with its own space; no floating or ornamental panels. */
.approach{padding-block:112px}.approach>.eyebrow{margin-bottom:24px}.approach-grid{grid-template-columns:1fr 1fr;gap:80px}
.approach h2{font-size:clamp(40px,4vw,58px);font-weight:400;line-height:1.1;letter-spacing:-.035em}.approach h2 em{font-family:inherit;font-style:normal;color:inherit}
.approach-steps>div{gap:24px;padding:28px 0;border-color:var(--line)}.approach-steps>div:first-child{padding-top:0}
.approach-steps>div>span{border:0;border-radius:0;background:none;color:var(--p-accent);width:32px;height:28px;justify-content:start;font-size:13px}
.approach-steps h3{font-size:23px;font-weight:400;line-height:1.25;letter-spacing:-.025em;margin:0 0 12px}.approach-steps p{font-size:16px;line-height:1.7;color:#555b60}
.approach-steps>div:hover>span{background:none;color:var(--p-accent)}
/* News has an editorial hierarchy, with the latest piece given more room. */
.insights-home{background:var(--p-bg);border-top:1px solid var(--line);padding-block:112px}.posts-grid{grid-template-columns:1.35fr 1fr 1fr;gap:32px}
.post-photo{border-radius:12px;aspect-ratio:4/3;overflow:hidden}.post-photo>img{width:100%;height:100%;object-fit:cover}.photo-arrow{background:white;color:var(--p-ink)}
.post-meta{font-size:13px;line-height:1.5;margin:24px 0 16px;color:#646464}.post-meta>span{border:0;border-radius:0;padding:0;font-size:13px;color:inherit}
.post-card h3{font-family:var(--font-display);font-weight:400;font-size:26px;line-height:1.2;letter-spacing:-.025em;margin-bottom:16px}.post-card:first-child h3{font-size:32px}.post-card>p{font-size:15px;line-height:1.7;color:#555b60}
/* The invitation and footer form one quiet, dark close. */
.cta-section{background:#141414;color:white;margin:0;border-radius:0;border:0}.cta-inner{padding-block:96px 80px;min-height:0;gap:48px;border-bottom:1px solid #ffffff24;align-items:flex-end}
.cta-inner .eyebrow{color:#bcbcbc;font-size:13px;letter-spacing:0;margin-bottom:24px}.cta-inner h2{font-family:var(--font-display);font-size:clamp(42px,4.8vw,68px);font-weight:400;line-height:1.05;letter-spacing:-.035em}.cta-inner>.button{gap:32px;margin-bottom:4px}
.site-footer{padding-top:64px;background:#141414;color:white;border:0}.site-footer .brand strong{font-size:clamp(36px,4vw,58px);font-weight:400;letter-spacing:-2px}.site-footer .brand img{width:46px;height:46px}.site-footer .brand small{font-size:11px;letter-spacing:2px}
.footer-grid{grid-template-columns:1.6fr 1fr 1fr;gap:64px;padding-bottom:64px}.footer-grid p{font-size:15px;line-height:1.8;color:#bcbcbc;max-width:340px;margin-top:24px}
.footer-grid h3{color:#999;font-size:13px;font-weight:400;letter-spacing:0;margin:0 0 24px}.footer-grid>div>a:not(.brand){font-size:15px;color:#eee;margin-bottom:14px}.footer-grid>div>a:not(.brand):hover{color:white}
.footer-grid>div>p{margin-top:0}.footer-grid>div:first-child>p{margin-top:24px}.footer-bottom{border-color:#ffffff24;padding-block:24px;font-size:12px;color:#a5a5a5}.footer-bottom>span:last-child{font-size:12px;letter-spacing:0}.demo-notice{background:#141414;color:#777;border-color:#ffffff18;font-size:11px;padding-block:16px}
/* Secondary pages use the same typography, edges and surfaces. */
.page-heading{padding-top:88px;padding-bottom:64px}.page-heading h1{font-family:var(--font-display);font-size:clamp(48px,6vw,86px);font-weight:400;line-height:1.04;letter-spacing:-.04em;max-width:1100px}.page-heading>p{font-size:18px;line-height:1.7;max-width:700px;margin-top:28px;color:#555b60}
.services-intro{background:white;color:var(--p-ink)}.services-intro .eyebrow{color:#666}.services-intro .page-heading{text-align:left;padding-block:88px 64px}.services-intro .page-heading h1{font-size:clamp(48px,6vw,86px)}.services-intro .page-heading>p{font-size:18px;color:#555b60;max-width:720px;margin:28px 0 0}.page-services .compact-top{padding-bottom:112px;padding-top:0}
.team-hero.page-heading,.member-hero{background:var(--p-surface);color:var(--p-ink);margin:0;border-radius:0;padding-block:88px}.team-hero .eyebrow{color:#666}.team-hero h1{font-family:var(--font-display);font-size:clamp(48px,6vw,86px);font-weight:400;letter-spacing:-.04em}.team-hero h1 em{font-family:inherit;font-style:normal;color:var(--p-accent);letter-spacing:inherit}.team-heading-note p,.member-intro .member-excerpt{color:#555b60;font-size:16px}.team-heading-note a{color:var(--p-ink);font-size:15px}.team-hero-rule{background:var(--p-accent)}
.person-card{background:white;border:1px solid var(--line);border-radius:12px;overflow:hidden}.person-card .person-photo,.member-portrait{border-radius:12px}.person-card h3,.member-intro h1{font-family:var(--font-display);font-weight:400}.person-card p{font-size:16px}.person-card .eyebrow{font-size:13px;letter-spacing:0;color:#666}.person-profile-link{font-size:14px}.person-location{font-size:13px}
.team-role-filters>a,.team-practice-filter select{font-size:14px}.team-results-count,.team-practice-filter>span{font-size:13px}.team-search .button{font-size:14px;min-height:48px;padding:12px 20px}.article-disclaimer,.small-note{font-size:14px}
.member-intro .eyebrow,.member-fact>span{color:#666}.member-reading{color:var(--p-ink)}.member-reading .prose,.member-reading p,.member-profile .prose{color:#454545;font-size:16px}.member-tabs a{color:#555}.member-tabs a[aria-selected=true]{color:var(--p-ink);border-color:var(--p-accent)}
.wide-photo{border-radius:12px;aspect-ratio:16/7;object-fit:cover}.prose{font-size:17px;line-height:1.85;color:#454545}.prose h2{font-size:32px;font-weight:400;line-height:1.2}.prose h3{font-size:25px;font-weight:400}.editorial>aside>p{font-size:16px}
.contact-grid{grid-template-columns:1fr 1.2fr;gap:80px;padding-bottom:112px}.contact-details h2{font-family:var(--font-display);font-size:46px;line-height:1.1;font-weight:400;letter-spacing:-.03em}.contact-details>div{gap:20px;margin-top:28px}.contact-details>div>section>span{font-size:13px;font-weight:400;letter-spacing:0}.contact-details p,.contact-details>div>section>a{font-size:16px}.contact-details .small-note{font-size:14px}
.contact-form-wrap{background:var(--p-surface);border:0;border-radius:12px;padding:40px}.contact-form label{font-size:14px;font-weight:400}.contact-form input,.contact-form textarea,.contact-form select{background:white;border:1px solid #d1d1d1;border-radius:8px;font-size:16px;padding:14px;min-height:50px}.contact-form .checkbox-label{font-size:13px}.contact-form .checkbox-label input{min-height:0;padding:0}.contact-form .button{font-size:15px;min-height:52px}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--p-ink);box-shadow:0 0 0 3px #00000008}
.insights-toolbar{gap:32px;margin-bottom:48px}.filter-links>a{font-size:14px}.search-form{background:var(--p-surface);border-radius:8px}.search-form input{font-size:15px}.empty-state h2,.team-empty h2{font-family:var(--font-display);font-weight:400}.team-empty{border-radius:12px;background:var(--p-surface)}
/* The existing loading identity adopts the same type and palette. */
.site-intro:before{background:none}.intro-loading .site-intro{background:#141414}.intro-name{font-family:var(--font-display);font-weight:400;font-size:44px}.intro-office{color:#bbb;letter-spacing:2px}.intro-caption{color:#aaa;letter-spacing:1px}.intro-status{color:#aaa}.intro-emblem:after{border-top-color:#d92b21;border-bottom-color:#d92b2140}.intro-particles i{background:#e64e46;box-shadow:none}.intro-track:after{background:var(--p-accent)}
.member-back{color:#555;font-size:14px}.member-back:hover{color:var(--p-accent)}.member-summary,.member-location{color:#555b60;font-size:16px}.member-contact-links a{color:var(--p-ink);font-size:14px}.member-contact-links a:hover{color:var(--p-accent)}.member-contact-links .icon{color:var(--p-accent)}.member-intro>.button{font-size:14px;padding:15px 20px;min-height:52px}.member-intro>.eyebrow{font-size:13px;letter-spacing:0;color:#666}
.member-profile{border-color:#d3d3d3}.member-profile .member-tabs{border-color:#d3d3d3}.member-profile .member-tabs a{font-size:14px;color:#555}.member-profile .member-tabs a[aria-selected=true],.member-profile .member-tabs a:only-child{color:var(--p-ink)}.member-profile .prose,.member-profile .prose p,.member-profile .prose li{color:#454545;font-size:16px;line-height:1.8}.member-profile .prose h2,.member-profile .prose h3,.member-profile .prose blockquote,.member-profile .member-fact h2{color:var(--p-ink)}.member-profile .member-fact{border-color:#d3d3d3}.member-profile .member-fact h2{font-size:15px;font-weight:500}.member-profile .member-fact li{font-size:14px;color:#555b60}.member-profile .member-panel>h2{font-size:28px;font-weight:400}
@media(max-height:760px) and (min-width:1024px){.hero{padding-block:32px}.hero-content{padding:32px 40px}.hero h1{font-size:64px}}
@media(min-width:1600px){.hero-content{margin-left:max(var(--gutter),calc((100vw - 1280px)/2));width:640px}}
@media(max-width:1200px){
  .hero{padding-block:40px}.hero-content{width:56%;padding:36px}.hero h1{font-size:64px}.hero-actions{gap:14px}.hero-actions .button{padding:14px 18px;font-size:14px;gap:14px}.hero-secondary{font-size:13px}
  .about-grid,.approach-grid{gap:48px}.about-photo>img{height:480px}.section-heading>div{max-width:570px}
  .practice-card,.practice-card:first-child{grid-template-columns:40px minmax(200px,1fr) minmax(220px,1fr) 44px;gap:20px}.practice-card h3{font-size:26px}.practice-bottom{width:44px}
  .posts-grid{gap:24px;grid-template-columns:1.2fr 1fr 1fr}.post-card h3{font-size:23px}.post-card:first-child h3{font-size:28px}.contact-grid{gap:48px}.footer-grid{gap:40px}
}
@media(max-width:1023px){
  .practice-index{gap:32px}.page-home .practice-card,.page-home .practice-card:first-child{grid-template-columns:28px 1fr 38px;gap:12px;padding-block:20px}.page-home .practice-card h3{font-size:25px}.practice-figure{min-height:500px}
  .hero{min-height:calc(100svh - 88px);display:block;padding:0;background:white}.hero-visual{position:relative;inset:auto;height:clamp(260px,40vw,430px);z-index:0}.hero-image{object-position:center 42%}.hero-content{width:calc(100% - 2*var(--gutter));padding:40px 0 56px;margin-inline:auto;position:relative;background:white;border-radius:0}.hero h1{font-size:clamp(48px,7vw,70px);max-width:760px}.hero-line:nth-child(n+2){font-size:28px;margin-top:16px}.hero-content>p{font-size:17px;max-width:58ch;line-height:1.6;margin:24px 0}.hero-actions{gap:28px}.hero-actions .button{font-size:15px;padding:15px 24px;gap:24px}
  .about-grid{gap:32px;padding-block:88px}.about-photo>img{height:440px}.about-copy h2,.section-heading h2{font-size:42px}.about-copy>p{font-size:16px;line-height:1.7}.section{padding-block:88px}
  .practice-section .section-heading,.section-heading{gap:32px;align-items:flex-start}.heading-aside,.practice-section .heading-aside{max-width:280px;font-size:15px}.practice-card,.practice-card:first-child{grid-template-columns:40px 1fr 48px;gap:12px 20px;padding-block:28px}.practice-top{grid-row:1/span 2}.practice-card h3{grid-column:2;grid-row:1;font-size:28px}.practice-card>p,.practice-card:first-child>p{grid-column:2;grid-row:2;max-width:52ch;font-size:16px}.practice-bottom,.practice-card:first-child .practice-bottom{grid-column:3;grid-row:1/span 2}
  .approach-grid{gap:40px}.approach h2{font-size:44px}.approach-steps h3{font-size:21px}.posts-grid{grid-template-columns:1fr 1fr}.post-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.1fr 1fr;gap:0 32px}.post-card:first-child .post-photo{grid-column:1;grid-row:1/span 3;aspect-ratio:4/3}.post-card:first-child .post-meta{grid-column:2;margin-top:0}.post-card:first-child h3{grid-column:2;font-size:30px}.post-card:first-child>p{grid-column:2}.post-card:not(:first-child) h3{font-size:26px}
  .cta-inner{padding-block:72px;gap:32px}.cta-inner h2{font-size:50px}.footer-grid{grid-template-columns:1.2fr 1fr 1fr;gap:32px}.site-footer .brand strong{font-size:36px}.site-footer .brand img{width:36px;height:36px}.footer-bottom{flex-wrap:wrap}.contact-grid{gap:40px}.contact-form-wrap{padding:28px}.form-row{grid-template-columns:1fr}
}
@media(min-width:601px) and (max-width:1023px){
  .hero{display:flex;flex-direction:column;align-items:stretch}.hero-visual{height:min(42svh,500px);width:100%;flex:none}.hero-content{flex:1;display:flex;flex-direction:column;justify-content:center;padding-block:48px 64px}
}
@media(max-width:900px){
  .site-header,.menu-ready .site-header{height:80px;min-height:80px}.header-inner,.menu-ready .header-inner{min-height:80px}.menu-ready .menu-toggle{width:44px;height:44px;background:var(--p-surface);border:1px solid var(--line);border-radius:8px}.hero{min-height:calc(100svh - 80px)}
  .menu-ready .site-header nav{top:79px;left:0;right:0;max-height:calc(100dvh - 80px);padding:24px var(--gutter) 32px;background:white;border:0;border-bottom:1px solid var(--line);box-shadow:none;gap:0}
  .site-header nav>a,.nav-services>summary{font-size:18px;padding-block:18px}.site-header nav>a:last-child{align-self:flex-start;margin-top:16px;font-size:15px;padding:15px 24px}.nav-services-menu{background:white;border:0;border-radius:0;padding:0}.nav-services-list{gap:0 24px}.nav-services-list>a{font-size:14px;padding-block:12px}.nav-services-all{font-size:15px}
  .team-heading-grid{grid-template-columns:1fr;gap:32px}.team-heading-note{max-width:600px}.team-heading-note p{font-size:17px}.member-hero{padding-block:64px}
}
@media(max-width:700px){
  .practice-index{grid-template-columns:1fr;gap:40px}.practice-figure{min-height:0;aspect-ratio:4/3}.practice-image{position:relative;display:block;aspect-ratio:4/3}.page-home .practice-card,.page-home .practice-card:first-child{grid-template-columns:28px 1fr 40px;gap:12px;padding-block:22px}.page-home .practice-card h3{font-size:25px}
  .section,.about-grid,.approach,.insights-home,.practice-section{padding-block:72px}.about-grid,.approach-grid{grid-template-columns:1fr;gap:40px}.about-copy{grid-column:1;grid-row:1}.about-photo{grid-column:1;grid-row:2}.about-photo>img{height:auto;aspect-ratio:4/3}.about-copy h2,.section-heading h2{font-size:40px}.about-copy>p{font-size:17px;max-width:100%}
  .practice-section .section-heading,.section-heading{display:block;margin-bottom:40px}.practice-section .heading-aside,.heading-aside{max-width:100%;margin-top:24px;font-size:16px}.section-heading>.text-link{margin-top:28px}.section-heading>div{max-width:none}
  .approach-grid{gap:40px}.approach h2{font-size:44px}.approach-steps h3{font-size:24px}.approach-steps>div{gap:16px;padding-block:28px}
  .contact-grid{grid-template-columns:1fr;gap:48px}.contact-form-wrap{padding:28px}.cta-inner{align-items:flex-start;flex-direction:column;gap:32px}.footer-grid{grid-template-columns:1fr 1fr;gap:48px 24px}.footer-grid>div:first-child{grid-column:1/-1}.footer-grid p{max-width:440px}.footer-bottom>span:last-child{display:none}.page-heading{padding-block:64px 48px}.services-intro .page-heading{padding-block:64px 48px}
}
@media(max-width:600px){
  :root{--gutter:24px}.container{width:calc(100% - 48px)}.site-header,.menu-ready .site-header{height:72px;min-height:72px}.header-inner,.menu-ready .header-inner{min-height:72px}.brand{gap:9px}.brand img{width:35px;height:35px}.brand strong{font-size:27px}.brand small{font-size:9px;letter-spacing:1.7px}.menu-ready .site-header nav{top:71px;max-height:calc(100dvh - 72px)}
  .hero{min-height:calc(100svh - 72px)}.hero-visual{height:220px}.hero-content,.hero .container{width:calc(100% - 48px);padding:32px 0 40px;margin-inline:auto}.hero h1{font-size:46px;letter-spacing:-.04em;line-height:1.02}.hero-line:nth-child(n+2){font-size:23px;line-height:1.25;margin-top:16px}.page-home #visual-page .hero .hero-line:nth-child(n+2){font-size:23px!important}.hero-content>p{font-size:16px;line-height:1.6;margin:20px 0 24px;max-width:100%}.hero-actions{gap:12px;align-items:stretch;flex-direction:column}.hero-actions .button{width:100%;font-size:15px;min-height:50px;padding:14px 24px;justify-content:space-between}.hero-secondary{font-size:14px;align-self:flex-start;padding:10px 0;line-height:1.4}.hero-secondary:after{transform:scaleX(1)}
  .page-home #visual-page .hero .hero-content>p{line-height:1.6!important;letter-spacing:0!important}
  .about-copy h2,.section-heading h2{font-size:37px;line-height:1.12}.eyebrow{font-size:13px;margin-bottom:20px}.about-copy>p{font-size:16px;margin:24px 0 28px}.about-grid{gap:36px}.about-photo>img{border-radius:12px}
  .practice-card,.practice-card:first-child,.practice-card:nth-child(odd),.practice-card:last-child{grid-template-columns:26px 1fr 40px;gap:12px;min-height:0;padding:24px 0;border-right:0;border-bottom:1px solid #c9c9c9;align-items:start}.practice-top{grid-column:1;grid-row:1;padding-top:5px}.practice-top>span{font-size:13px}.practice-card h3{grid-column:2;grid-row:1;font-size:24px;line-height:1.2}.practice-card>p,.practice-card:first-child>p{grid-column:2/-1;grid-row:2;font-size:15px;line-height:1.7;margin:0;max-width:100%}.practice-bottom,.practice-card:first-child .practice-bottom{grid-column:3;grid-row:1;width:40px}.practice-bottom>.icon,.practice-card:first-child .practice-bottom>.icon{width:38px;height:38px;padding:10px}.practice-card:before{inset:0 -8px}.practice-card:hover,.practice-card:focus-visible{transform:none}.practice-all{font-size:14px;margin-top:28px}
  .approach h2{font-size:40px}.approach-steps h3{font-size:23px}.approach-steps p{font-size:16px}.approach-steps>div>span{font-size:13px}.approach-steps>div{gap:12px}
  .posts-grid{grid-template-columns:1fr;gap:40px}.post-card:first-child{grid-column:auto;display:block}.post-photo,.post-card:first-child .post-photo{aspect-ratio:4/3}.post-meta,.post-card:first-child .post-meta{margin:20px 0 14px;font-size:13px}.post-card h3,.post-card:first-child h3,.post-card:not(:first-child) h3{font-size:28px}.post-card>p{font-size:16px}
  .cta-inner{padding-block:64px 56px;gap:28px}.cta-inner .eyebrow{font-size:13px}.cta-inner h2{font-size:42px}.cta-inner>.button{width:100%;justify-content:space-between;font-size:15px}.site-footer{padding-top:48px}.footer-grid{padding-bottom:48px;gap:40px 24px}.site-footer .brand strong{font-size:42px}.site-footer .brand img{width:40px;height:40px}.footer-grid h3{font-size:13px;margin-bottom:20px}.footer-grid p,.footer-grid>div>a:not(.brand){font-size:14px}.footer-bottom{font-size:11px;line-height:1.6;gap:12px;padding-block:24px}.demo-notice{font-size:11px;padding:16px 24px}
  .page-heading h1,.services-intro .page-heading h1{font-size:48px;letter-spacing:-.04em;line-height:1.06}.page-heading>p,.services-intro .page-heading>p{font-size:17px;line-height:1.65;margin-top:24px}.team-hero.page-heading{padding-block:56px}.team-hero h1{font-size:48px}.team-heading-note p{font-size:16px}.team-heading-note a{font-size:14px}.team-directory.section{padding-block:48px 72px}.member-hero{padding-block:48px}.member-intro h1{font-size:46px}.person-card h3{font-size:30px}
  .contact-details h2{font-size:40px}.contact-grid{padding-bottom:72px}.contact-form-wrap{padding:24px}.contact-form .button{width:100%;justify-content:space-between}.contact-form input,.contact-form textarea,.contact-form select{font-size:16px}.prose{font-size:16px}.wide-photo{height:290px;aspect-ratio:auto}.editorial{padding-block:56px}.insights-toolbar{gap:24px}.filter-links>a{font-size:13px}
  .intro-name{font-size:38px}.intro-office,.intro-status,.intro-skip{font-size:12px}.intro-caption{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.practice-card:hover,.practice-card:focus-visible,.site-header nav>a:last-child:hover,.button:hover{transform:none}}
@media print{.hero{min-height:0;padding:0;background:white}.hero-content{width:100%;margin:0;padding:24px 0}.hero-visual{display:none}.hero h1{font-size:40px}.hero-content>p{color:#333}.practice-card,.practice-card:first-child{display:block;padding:20px 0;break-inside:avoid}.practice-card h3{font-size:22px}.practice-top,.practice-bottom{display:none}.practice-card>p{margin-top:12px}.about-grid{display:block}.about-photo{display:none}}
