:root{--column:26.3%;--gutter:clamp(16px,2vw,32px);--header-height:84px}
html{scroll-padding-top:calc(var(--header-height) + 20px)}body{font-size:16px;line-height:1.5}main{margin:var(--header-height) 0 0!important}main *,footer *{min-width:0}
h1,h2,h3,.display,.statement,.large-copy,.stat{zoom:1;overflow:visible;line-height:1.2;letter-spacing:-.045em}
h1,.display,.subhero .display,.services-intro h1{font-size:clamp(36px,5vw,76px)}.hero h1{font-size:clamp(40px,6.1vw,94px);line-height:1.12}.headline-line{overflow:visible;padding-bottom:.08em}
.section-heading h2{font-size:clamp(28px,3.2vw,48px);line-height:1.2;padding:0 48px 0 var(--gutter)}.section-heading,.services-ethos .section-heading{min-height:170px;padding-top:32px;padding-bottom:40px}.section-number{font-size:clamp(28px,3.5vw,52px);line-height:1.2}.section-number span{padding:6px 22px 8px var(--gutter)}
.large-copy,.statement,.subhero-copy .statement,.services-intro-copy>.large-copy{font-size:clamp(22px,2.1vw,32px)!important;line-height:1.35;max-width:900px}h3.large-copy,.connect h3.large-copy{font-size:clamp(22px,2vw,30px)}.body-copy,.service-bullets,.services-detailed .body-copy,.services-detailed .service-bullets{font-size:18px!important;line-height:1.6;max-width:780px}.row-content>.large-copy{max-width:100%}
.hero{height:auto;min-height:min(760px,calc(100svh - var(--header-height)));padding:40px var(--gutter)}.hero-bottom{gap:24px;margin-top:100px;grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto}.hero-bottom h2{font-size:clamp(20px,1.8vw,28px);line-height:1.35}.hero-meta{gap:24px;flex-wrap:wrap}.text-link{white-space:normal;font-size:18px}
.editorial{padding-right:0;padding-bottom:64px;scroll-margin-top:calc(var(--header-height) + 20px)}.editorial:after{display:none}.editorial-row aside,.row-content,.offset{padding-left:var(--gutter);padding-right:var(--gutter)}.statement{margin-bottom:56px}
.stat-row{grid-template-columns:minmax(100px,30%) minmax(0,1fr) 10px;gap:20px;min-height:120px;align-items:start}.stat{font-size:clamp(34px,3.5vw,54px);line-height:1.2;white-space:nowrap}.stat-row p{font-size:16px;line-height:1.5;max-width:100%}.table-labels{grid-template-columns:calc(30% + 20px) 1fr}
.portfolio-item{grid-template-columns:minmax(0,36%) minmax(0,1fr) 32px 22px;gap:16px;min-height:72px}.portfolio-item>span:first-child{font-size:19px;line-height:1.35}.portfolio-item>span:nth-child(2){font-size:15px;line-height:1.5}.portfolio-item:before{inset:0 calc(-1 * var(--gutter))}.focus-art{top:calc(var(--header-height) + 24px)}.focus-art>span{font-size:clamp(40px,6vw,80px)}
.layers{min-height:0;padding:40px var(--gutter) 64px}.layer-box{width:48%;margin-top:48px}.layer-caption{font-size:24px;line-height:1.4;margin:32px 0 0 var(--column);max-width:650px;padding-left:20px}.layer-box>a:not(.text-link){gap:16px;font-size:18px;line-height:1.4}.connect{min-height:540px;padding:40px var(--gutter)}.connect .display{margin-top:96px}
.subhero{padding:40px var(--gutter) 0}.subhero .display{margin-left:calc(var(--column) - var(--gutter))}.subhero-copy{margin:56px 0 56px calc(var(--column) - var(--gutter))}.subhero-image,.services-wide-image{height:clamp(260px,40vw,580px);min-height:0;max-width:100%;margin-top:40px}.feature-image{max-width:100%}
.founder-perspective{grid-template-columns:var(--column) minmax(0,1fr);min-height:0}.founder-perspective .perspective-art{min-height:360px}.founder-perspective .feature-image{margin:0;height:100%;width:100%;position:absolute;object-fit:cover}.founder-perspective .perspective-copy{padding:40px var(--gutter)}.founder-perspective blockquote{font-size:clamp(22px,2.1vw,32px);line-height:1.4;margin:0 0 24px}
.services-intro-copy{min-height:0;padding:40px var(--gutter) 48px var(--column)}.services-intro-copy>.large-copy{margin-top:0;padding-top:96px;max-width:900px}.services-meta{font-size:16px;flex-wrap:wrap}.services-meta .outline-link{font-size:16px}
.services-detailed .service-layer:nth-child(n),.service-layer:nth-child(n){position:relative;top:auto;min-height:0;scroll-margin-top:var(--header-height);padding:40px var(--gutter) 56px;grid-template-columns:var(--column) minmax(0,1fr)}.services-detailed .service-layer h3,.service-layer h3{font-size:clamp(26px,2.8vw,42px)!important;line-height:1.2;margin-bottom:28px}.service-layer-index>span{font-size:clamp(40px,5vw,72px)}.service-layer p{font-size:18px;line-height:1.6}.service-directory a{font-size:20px;line-height:1.4}
footer{padding:64px var(--gutter) 32px}.footer-top{padding-left:0;padding-bottom:56px;gap:32px}.footer-top h2{font-size:28px;line-height:1.3}.footer-top>div a,.footer-top>div button{font-size:18px;overflow-wrap:anywhere}.footer-bottom{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.footer-bottom>div{padding:0}
dialog{padding:32px;width:min(760px,calc(100% - 32px));max-height:calc(100dvh - 32px)}dialog h2{font-size:32px;line-height:1.2}dialog p{font-size:18px;line-height:1.5}.contact-grid{gap:24px}.contact-grid a{overflow-wrap:anywhere}.menu-links{margin-left:0}.menu-links a,.menu-links button{font-size:clamp(28px,5vw,48px);line-height:1.4;padding:10px 0}.menu-bottom{margin:48px 0 20px;font-size:22px}.menu-bottom a{overflow-wrap:anywhere}
@media(max-width:900px){:root{--column:0%;--header-height:64px}.hero h1,.hero-meta,.display,.subhero .display,.subhero-copy,.offset{margin-left:0}.hero{min-height:0}.hero-bottom{grid-template-columns:1fr;gap:24px;margin-top:64px}.hero-bottom>p{margin:0}.hero-bottom h2{margin:0}.section-heading{grid-template-columns:72px 1fr;min-height:0;padding-bottom:36px}.section-number{display:block!important}.section-number span{padding:6px 12px}.editorial:before{display:none}.editorial-row{grid-template-columns:1fr;gap:24px}.editorial-row aside{display:block!important}.editorial-row aside h3{margin:16px 0}.section-heading h2{padding-left:12px}.editorial-row aside:empty{display:none!important}.row-content>small{max-width:100%}.focus-art{max-width:400px;aspect-ratio:16/9;margin-top:20px;max-height:240px}.layers .display{margin-left:0}.layer-box{width:100%;margin-top:32px}.layer-caption{margin:32px 0 0}.investor-grid,.practice-split{grid-template-columns:1fr;gap:24px}.founder-perspective{grid-template-columns:minmax(200px,35%) 1fr}.founder-perspective .perspective-copy{padding:28px var(--gutter)}.services-intro-copy{padding:40px var(--gutter)}.services-intro-copy>.large-copy{padding-top:64px}.services-detailed .service-layer:nth-child(n),.service-layer:nth-child(n){display:block}.service-layer-index{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.footer-bottom{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-top{grid-template-columns:1fr 1fr}.footer-top h2{grid-column:1/-1}.services-clients article{grid-template-columns:1fr 1fr}.client-dot{display:none}}
@media(max-width:540px){.section-heading{grid-template-columns:56px 1fr}.section-heading h2{font-size:28px;padding-right:28px}.section-dot{right:16px}.hero h1{font-size:clamp(34px,9vw,48px)}.hero-meta{font-size:13px}.stat-row{grid-template-columns:90px minmax(0,1fr);gap:16px;min-height:0}.stat-row>span{display:none}.stat{font-size:34px}.table-labels{grid-template-columns:106px 1fr}.portfolio-item{grid-template-columns:minmax(0,1fr) 22px;gap:8px}.portfolio-item>span:nth-child(2){display:block;grid-column:1;grid-row:2}.portfolio-item>span:nth-child(3){display:none}.portfolio-item>span:last-child{grid-column:2;grid-row:1/3}.portfolio-labels>span:nth-child(2){display:none}.founder-perspective{grid-template-columns:1fr}.founder-perspective .perspective-art{min-height:0;aspect-ratio:1;max-height:460px}.founder-perspective .perspective-copy{padding:28px var(--gutter)}.team-grid,.contact-grid,.principle-cards{grid-template-columns:1fr}.contact-grid a,.contact-grid address,.contact-grid span{font-size:17px}.footer-top,.footer-bottom{display:grid;grid-template-columns:1fr;gap:28px}.footer-top h2{grid-column:auto}.services-meta{align-items:flex-start;gap:8px}.services-meta>span{max-width:none}.services-meta .outline-link{white-space:normal}.outline-link{min-width:0;max-width:100%;font-size:16px;gap:20px}.layer-details summary{font-size:20px;gap:12px}.layer-details summary>span{min-width:0}.layer-details details>p{margin:0 0 24px;font-size:18px}.connect{min-height:0}.connect .display{margin-top:64px}.subhero-copy{margin-top:32px;margin-bottom:32px}.services-clients article{display:block}.statement small{float:none;display:block;margin:0 0 16px}}
.founder-perspective .founder-art{min-height:360px;position:relative;overflow:hidden}.founder-art .feature-image{position:absolute;width:100%;height:100%;margin:0;object-fit:cover}.founder-perspective .founder-copy{padding:40px var(--gutter)}.blog-empty{padding:32px;border:1px solid var(--color-border);max-width:850px}.blog-empty h3{font-size:24px;margin-top:0}.blog-empty p{max-width:640px;font-size:18px;line-height:1.5}.blog-empty .outline-link{margin-top:16px}@media(max-width:540px){.founder-perspective .founder-art{min-height:0;aspect-ratio:1}.blog-empty{padding:24px}}
.section-heading{display:grid}.header-contact{display:flex}.subhero .display br{display:none}@media(max-width:900px){.section-heading{display:grid}.header-contact{display:flex}}.endmark{display:none}
/* Numbered editorial blog cards, with accessible inline article disclosures. */
.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}.blog-card{border:1px solid var(--color-border);border-top:2px solid var(--color-text);padding:28px;background:var(--color-surface);display:flex;flex-direction:column}.blog-card>small{font-size:15px;color:var(--color-text-muted)}.blog-number{display:block;font-size:clamp(58px,6vw,88px);line-height:1.1;letter-spacing:-.065em;margin:12px 0 16px}.blog-card h3{font-size:24px;font-weight:400;line-height:1.25;margin:0 0 28px}.blog-excerpt{font-size:18px;line-height:1.5;color:var(--color-text-muted);margin:0 0 32px;min-height:135px}.blog-read-more{margin-top:auto}.blog-read-more summary{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid var(--color-text);padding:12px 16px;cursor:pointer;list-style:none;font-size:16px;min-height:48px}.blog-read-more summary::-webkit-details-marker{display:none}.blog-read-more summary:hover{background:var(--color-primary);border-color:var(--color-primary);color:white}.blog-read-more summary:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px}.blog-read-more .close-label{display:none}.blog-read-more[open] .read-label{display:none}.blog-read-more[open] .close-label{display:inline}.blog-read-more[open] summary>span:last-child{transform:rotate(180deg)}.blog-article{padding-top:12px}.blog-article p{font-size:17px;line-height:1.6;margin:20px 0}.blog-article .text-link{display:inline-block;font-size:16px;margin-top:12px}@media(max-width:1100px) and (min-width:901px){.blog-grid{grid-template-columns:1fr}}@media(max-width:600px){.blog-grid{grid-template-columns:1fr;gap:28px}.blog-card{padding:24px}.blog-excerpt{min-height:0}.blog-card h3{font-size:23px}.blog-number{font-size:72px}}
.firm-photo{position:relative;margin:36px 0 0;background:#b30000;overflow:hidden;aspect-ratio:16/9}.firm-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1);mix-blend-mode:luminosity;opacity:.82}.firm-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#b3000026,#48000030);pointer-events:none}
/* Match the saturated red photographic treatment used in the contact section. */
.firm-photo{background:#b30000;isolation:isolate}.firm-photo img{filter:grayscale(1) contrast(1.15);mix-blend-mode:multiply;opacity:1}.firm-photo:after{background:linear-gradient(180deg,rgba(179,0,0,.12),rgba(72,0,0,.25))}
.about-hero-photo{height:clamp(260px,40vw,580px);aspect-ratio:auto;margin-top:40px}.about-hero-photo img{object-position:center 60%}
.tax-focus-photo{aspect-ratio:3/2}.tax-focus-photo img{object-position:center}
/* About introduction follows the Services editorial header. */
.about-intro{background:var(--color-primary);color:white}.about-intro-copy{padding:40px var(--gutter) 48px var(--column)}.about-intro h1{font-size:clamp(36px,5vw,76px);font-weight:400;line-height:1.2;letter-spacing:-.065em;margin:0;border-bottom:2px solid white;padding-bottom:8px}.about-intro-meta{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-size:16px}.about-intro-meta .text-link{font-size:16px;padding:20px 0 16px}.about-intro-copy>.large-copy{margin:0;padding-top:96px;max-width:900px}.about-intro+.about-hero-photo{margin:0}@media(max-width:900px){.about-intro-copy{padding:40px var(--gutter)}.about-intro-copy>.large-copy{padding-top:64px}}@media(max-width:540px){.about-intro-meta{align-items:flex-start;gap:8px}.about-intro-meta>span{padding-top:16px}}
.privacy-content{max-width:880px;margin:0 auto;padding:48px var(--gutter) 72px;font-size:18px;line-height:1.65}.privacy-content h2{font-size:28px;margin:40px 0 16px}.privacy-content a,.contact-privacy a{text-decoration:underline;overflow-wrap:anywhere}.privacy-link{display:inline-block;margin-top:32px;padding:10px 0;text-decoration:underline;font-size:16px}.contact-privacy{font-size:15px!important}
/* Preserve the complete supplied portrait at every breakpoint. */
.founder-perspective{display:grid;grid-template-columns:minmax(0,26.3%) minmax(0,1fr);align-items:center;min-height:0}
.founder-perspective .founder-art{position:relative;align-self:center;min-height:0;height:auto;max-height:none;aspect-ratio:1;overflow:visible}
.founder-perspective .founder-art img{display:block;position:static;inset:auto;width:100%;height:auto;max-height:none;aspect-ratio:1;object-fit:contain;object-position:center;margin:0;transform:none}
.founder-perspective .founder-copy{min-width:0;max-width:100%;padding:32px var(--gutter)}
.founder-perspective .founder-copy blockquote{white-space:normal;overflow-wrap:break-word;max-width:100%;font-size:clamp(22px,2.1vw,32px);line-height:1.4}
@media(max-width:900px){.founder-perspective{grid-template-columns:minmax(0,35%) minmax(0,1fr)}}
@media(max-width:600px){.founder-perspective{grid-template-columns:minmax(0,1fr)}.founder-perspective .founder-art{width:100%;max-width:474px;justify-self:center}.founder-perspective .founder-copy{padding:28px var(--gutter)}}
