:root{--paper:#f6f4ee;--white:#fffefb;--ink:#262922;--muted:#76776d;--accent:#a64e35;--accent-deep:#833d2b;--line:#dcded3;--dark:#252b27;--serif:var(--sans);--sans:"Helvetica Neue",Helvetica,Arial,"Nimbus Sans","Liberation Sans",sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.75;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}::selection{background:#cfa88d;color:#242722}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}button{color:inherit}img{display:block;max-width:100%;object-fit:cover}svg{display:block;width:24px;height:24px;flex:none}h1,h2,h3,h4,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.06;letter-spacing:-.035em}h1{font-size:clamp(58px,6.25vw,94px)}h2{font-size:clamp(42px,4.3vw,64px)}h3{font-size:30px}h4{font-weight:500}h1 em,h2 em{font-weight:400;color:var(--accent)}p{color:var(--muted);margin-top:20px}.lead{font-size:18px;line-height:1.65;color:var(--ink)}.container{width:calc(100% - 112px);max-width:1440px;margin-inline:auto}.section{padding-block:105px}.eyebrow{display:flex;align-items:center;gap:14px;font-size:10px;font-weight:500;letter-spacing:.15em;line-height:1.5;text-transform:uppercase}.dash{width:28px;height:1px;background:var(--accent)}.chapter{color:var(--accent);font-size:11px;font-weight:400;padding-right:14px;border-right:1px solid var(--line)}.small-note{font-size:11px;line-height:1.7;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--ink);color:white;padding:12px 20px}.skip-link:focus{top:10px}:focus-visible{outline:2px solid var(--accent);outline-offset:5px} [hidden]{display:none!important}
.site-header{position:sticky;top:0;z-index:30;background:rgba(246,244,238,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(15px)}.header-inner{width:calc(100% - 112px);max-width:1440px;margin:auto;height:100px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:14px;flex:none}.brand-mark{height:46px;width:46px;border:1px solid var(--accent);color:var(--accent);display:grid;place-items:center}.brand-mark svg{width:36px;height:36px}.wordmark{font-size:17px;letter-spacing:.06em;line-height:1.3;font-weight:500}.wordmark>span{font-size:8px;letter-spacing:.19em;font-weight:400;display:flex;align-items:center;gap:8px;margin-top:5px}.wordmark i{height:1px;width:14px;background:var(--muted)}.desktop-nav{display:flex;align-items:center;gap:25px}.desktop-nav a{font-size:12px;white-space:nowrap;position:relative;padding-block:8px}.desktop-nav a:after{content:'';height:1px;position:absolute;bottom:2px;left:0;width:0;background:var(--accent);transition:width .3s}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{width:100%}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:52px;padding:14px 24px;background:var(--accent);border:1px solid var(--accent);color:var(--white);font-size:12px;font-weight:500;transition:background .25s,color .25s,transform .3s var(--ease)}.button:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.button svg{width:21px;height:21px;transition:transform .3s}.button:hover svg{transform:translateX(4px)}.button-small{min-height:44px;padding:10px 18px;gap:25px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;position:relative;font-size:12px;font-weight:500;padding-bottom:7px;border-bottom:1px solid var(--ink)}.text-link svg{width:20px;height:20px;transition:transform .3s}.text-link:hover svg{transform:translateX(5px)}.menu-toggle{display:none;background:none;border:0;width:42px;height:42px;padding:10px}.menu-toggle span{display:block;width:24px;height:1px;background:var(--ink);margin:6px 0;transition:transform .3s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{padding:25px 28px 50px;border-top:1px solid var(--line);max-height:calc(100dvh - 80px);overflow:auto}.mobile-nav a{font-family:var(--serif);font-size:32px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:16px 0}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:44px;padding-top:42px;padding-bottom:45px}.hero-copy{padding-top:28px;display:flex;flex-direction:column;align-items:flex-start}.hero h1{font-size:clamp(54px,5.25vw,80px);line-height:1.035;margin-top:32px;letter-spacing:-.042em;position:relative;z-index:2}.hero h1 em{font-size:1.1em}.hero-copy>p{font-size:14px;line-height:1.9;margin-top:29px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:25px;margin-top:34px}.hero-footnote{display:flex;gap:11px;align-items:center;margin-top:auto;padding-top:48px;font-size:8px;letter-spacing:.15em;color:var(--muted)}.tiny-cross{font-size:20px;font-weight:400;color:var(--accent)}.hero-visual{position:relative;min-height:580px;overflow:hidden}.hero-visual>img{width:100%;height:100%;max-height:710px;position:absolute;inset:0;transition:transform 1.4s var(--ease)}.hero-visual:hover>img{transform:scale(1.025)}.hero-caption{position:absolute;bottom:0;left:0;right:0;min-height:52px;background:var(--dark);color:var(--paper);display:flex;align-items:center;justify-content:space-between;padding:20px 24px;gap:12px;font-size:8px;letter-spacing:.12em}.hero-caption span:last-child{color:#aeb4a9}.hero-stamp{position:absolute;right:22px;top:23px;background:var(--paper);padding:15px;width:100px;display:flex;align-items:center;flex-direction:column;gap:8px;text-align:center;color:var(--accent)}.hero-stamp svg{width:42px;height:42px}.hero-stamp span{font-size:7px;line-height:1.6;letter-spacing:.11em}.sector-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;padding:23px 0}.sector-strip>span{font-size:8px;letter-spacing:.12em;color:var(--muted)}.sector-strip>div{font-family:var(--serif);font-size:25px;display:flex;align-items:center;gap:25px}.sector-strip b{font-weight:400;color:#bcbeb3}.sector-strip>a{width:33px;height:33px;display:grid;place-items:center;border:1px solid var(--line);font-size:16px;color:var(--accent)}
.firm-section{display:grid;grid-template-columns:.94fr 1fr;gap:12%;align-items:center}.firm-image{margin-left:28px;position:relative;max-width:445px}.firm-image>img{width:100%;height:490px;object-position:center}.image-tag{position:absolute;bottom:-24px;right:-30px;background:var(--accent);color:var(--paper);font-size:9px;letter-spacing:.14em;line-height:1.8;padding:25px 30px}.vertical-label{position:absolute;left:-31px;top:0;writing-mode:vertical-rl;transform:rotate(180deg);font-size:8px;letter-spacing:.12em;color:var(--muted)}.firm-copy h2{margin-top:25px}.firm-copy .lead{margin-top:28px;font-size:17px}.firm-copy>p{max-width:470px;font-size:13px}.firm-copy>.text-link{margin-top:30px}.values-inline{border-top:1px solid var(--line);margin-top:35px;padding-top:20px;display:flex;gap:30px;font-size:11px;letter-spacing:.02em}.values-inline span:before{content:'+';color:var(--accent);margin-right:12px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:48px}.section-heading h2{margin-top:24px}.section-heading>p{font-size:13px;line-height:1.9;max-width:270px;margin-bottom:6px}.section-heading>.text-link{flex:none;margin-bottom:7px}.expertise-section{background:var(--dark);color:var(--paper)}.expertise-section .chapter{border-color:#51584e;color:#c18065}.expertise-section h2 em{color:#bebfae}.expertise-section p{color:#a9b0a5}.practice-list{display:grid;grid-template-columns:1fr 1fr;column-gap:65px}.practice-row{display:flex;align-items:center;gap:23px;padding:30px 0;border-top:1px solid var(--line)}.practice-number{font-size:10px;letter-spacing:.08em;color:var(--accent);flex:none}.practice-row h3{font-size:26px;letter-spacing:-.015em}.practice-row p{font-size:11px;margin-top:10px}.round-arrow{border:1px solid var(--line);width:36px;height:36px;display:grid;place-items:center;border-radius:50%;margin-left:auto;flex:none;transition:background .3s,color .3s,border-color .3s,transform .4s}.round-arrow svg{width:19px;height:19px}.practice-row:hover .round-arrow{background:var(--accent);border-color:var(--accent);color:white;transform:rotate(45deg)}.light-list .practice-row{border-color:#50574c}.light-list .round-arrow{border-color:#50574c}.light-list .practice-number{color:#c18065}.expertise-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:35px;padding-top:35px;border-top:1px solid #50574c}.expertise-bottom>span{font-size:8px;letter-spacing:.14em;color:#9ba392}.expertise-bottom .text-link{border-color:#8f968a}.experience-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:48px}.experience-feature{height:460px;position:relative;overflow:hidden}.experience-feature>img{width:100%;height:100%;transition:transform 1s var(--ease)}.experience-feature:hover>img{transform:scale(1.035)}.experience-feature:after{content:'';position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(20,25,19,.7))}.experience-feature>div{position:absolute;bottom:32px;left:32px;right:32px;z-index:1;color:white}.experience-feature h3{font-size:40px;margin-top:15px}.experience-feature .round-arrow{position:absolute;right:0;bottom:2px;border-color:#d3d8ce}.experience-aside{background:#ecece2;padding:40px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start}.experience-aside h3{font-size:42px;line-height:1.08;margin-top:25px}.experience-aside p{font-size:12px;max-width:295px}.experience-aside .text-link{margin-top:26px;z-index:1}.experience-aside .small-note{font-size:8px;margin-top:auto;padding-top:40px;position:relative;z-index:1}.line-art{position:absolute;bottom:-40px;right:-20px;display:flex;gap:16px;transform:rotate(18deg);opacity:.5}.line-art>span{height:180px;width:70px;border:1px solid #b9baaa;border-radius:60px 60px 0 0}.line-art>span:nth-child(2){height:220px}.line-art>span:nth-child(3){height:260px}.line-art>span:nth-child(4){height:300px}.insights-section{background:#eeeee5}.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.article-image{display:block;aspect-ratio:1.52;overflow:hidden;position:relative}.article-image>img{width:100%;height:100%;transition:transform .8s var(--ease)}.article-image:hover>img{transform:scale(1.05)}.image-arrow{position:absolute;bottom:0;right:0;padding:13px;background:var(--paper);transition:background .3s,color .3s}.image-arrow svg{width:20px;height:20px}.article-image:hover .image-arrow{background:var(--accent);color:white}.article-meta{display:flex;justify-content:space-between;gap:15px;font-size:9px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding:20px 0 15px}.article-meta>span:first-child{color:var(--accent)}.article-card h3{font-size:29px;line-height:1.12;max-width:340px}.article-card h3 a:hover{color:var(--accent)}.article-card p{font-size:12px;margin-top:16px;line-height:1.8}
.closing{background:var(--accent);color:var(--paper);position:relative;overflow:hidden}.closing-inner{padding-block:75px;position:relative}.closing .dash{background:#d8ab94}.closing h2{font-size:clamp(48px,5vw,72px);margin-top:25px;position:relative;z-index:1}.closing h2 em{color:#e0c3af}.button-light{background:var(--paper);color:var(--ink);border-color:var(--paper);margin-top:32px;position:relative;z-index:1}.button-light:hover{background:#e5decc;color:var(--ink);border-color:#e5decc}.closing-mark{position:absolute;right:7%;bottom:-95px;color:#c27e60;opacity:.55}.closing-mark svg{height:370px;width:370px}.closing-line{position:absolute;width:1px;height:90%;background:#c47c5d;right:38%;top:10%}.site-footer{background:var(--dark);color:var(--paper);padding-top:64px}.footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:40px;padding-bottom:55px}.brand-light .brand-mark{border-color:#aa8b73;color:#c5a88c}.brand-light .wordmark{font-size:16px}.footer-top>p{font-family:var(--serif);font-size:26px;line-height:1.2;color:#bcc2b4;margin-top:0}.footer-links{display:grid;grid-template-columns:1fr 1fr;column-gap:50px;row-gap:15px;font-size:11px;color:#d4d8cb}.footer-links a:hover{color:#c38b71}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #4b5348;padding:23px 0;color:#abb3a3;font-size:9px}.footer-bottom>div{display:flex;gap:28px;align-items:center}.back-top{padding:0;background:none;border:none;color:inherit;font-size:9px}.site-disclaimer{font-size:8px;color:#929b89;line-height:1.7;margin:0;padding-bottom:25px;max-width:1000px}
.page-intro{padding-top:64px;padding-bottom:70px;display:grid;grid-template-columns:1.3fr 1fr;gap:8%;border-bottom:1px solid var(--line);align-items:center}.page-intro h1{font-size:clamp(56px,5.4vw,80px);margin-top:26px}.page-intro .lead{font-size:16px;max-width:555px;margin-top:30px}.page-intro-image{height:420px;position:relative;padding-right:25px}.page-intro-image img{width:100%;height:100%}.image-label{position:absolute;right:0;top:0;writing-mode:vertical-rl;font-size:8px;letter-spacing:.12em;color:var(--muted)}.split-copy{display:grid;grid-template-columns:1fr 1.1fr;gap:12%}.split-copy h2{margin-top:22px}.split-copy .lead{margin-top:0}.split-copy p{font-size:15px;line-height:1.85}.split-copy h3{margin-top:34px;margin-bottom:18px}.principles{border-block:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:55px}.principles h3{font-size:47px;margin:22px 0 27px}.principles h4{font-size:13px;line-height:1.5}.principles p{font-size:12px}.people-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.person-monogram{height:330px;position:relative;background:#e7e7da;overflow:hidden;display:flex;align-items:center;justify-content:center;color:#959c88}.person-monogram:before,.person-monogram:after{content:'';position:absolute;width:180px;height:330px;border:1px solid #b4bba5;border-radius:150px 150px 0 0;right:5%;bottom:-60px;transition:transform .6s var(--ease)}.person-monogram:after{right:10%;bottom:-20px}.person-card:hover .person-monogram:after{transform:translateY(-15px)}.person-monogram>span{font-family:var(--serif);font-size:132px;z-index:1;letter-spacing:-.03em}.person-monogram>small{position:absolute;bottom:25px;left:25px;font-size:8px;letter-spacing:.13em;color:var(--ink)}.person-monogram>svg{position:absolute;right:24px;top:25px;color:var(--ink)}.person-caption{padding-top:24px}.person-caption h3{font-size:36px}.person-caption p{font-size:12px;color:var(--ink);margin-top:10px}.person-caption>span{font-size:10px;color:var(--muted)}.people-grid+.small-note{margin-top:30px}.profile-intro{display:grid;grid-template-columns:1fr 1.2fr;gap:9%;align-items:center;padding-block:75px;border-bottom:1px solid var(--line)}.large-monogram{height:480px}.large-monogram>span{font-size:180px}.profile-intro h1{margin-top:25px;font-size:76px}.profile-focus{display:block;color:var(--muted);font-size:13px;margin:10px 0 35px}.content-notice{background:#e9eade;border-left:2px solid var(--accent);font-size:12px;line-height:1.8;padding:24px;margin-top:30px;color:var(--muted)}.wide-note{margin-top:60px;background:#e9eade;display:flex;align-items:center;gap:40px;padding:40px}.wide-note>svg{width:70px;height:70px;color:var(--accent)}.wide-note p{font-size:17px;margin:0;line-height:1.7}.wide-note strong{font-weight:400;font-family:var(--serif);font-size:28px;color:var(--ink)}.wide-note .text-link{margin-left:auto}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:12%}.service-detail h2{font-size:52px;margin-top:25px}.service-detail p{font-size:14px;max-width:400px}.service-detail .button{margin-top:32px}.services h3{font-size:34px;margin-bottom:20px}.services>div{display:flex;gap:23px;border-top:1px solid var(--line);padding:24px 0;align-items:center}.services span{font-size:9px;color:var(--accent)}.services h4{font-size:14px}.scenario{background:#eaeade;padding:55px 8%}.scenario h2{margin-top:22px;font-size:44px}.scenario p{max-width:850px;font-size:17px}.related-practices{display:grid;grid-template-columns:1fr 1fr;gap:45px}.related-link{border-bottom:1px solid var(--line);padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px}.related-link:hover{color:var(--accent)}.experience-item{display:grid;grid-template-columns:60px 1fr;gap:20px;border-top:1px solid var(--line);padding:50px 0}.experience-item>.practice-number{padding-top:6px}.experience-item h2{font-size:45px;margin-top:18px}.experience-item p{max-width:750px;font-size:16px}.experience-item .text-link{margin-top:25px}.insight-toolbar{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:45px}.filter-buttons{display:flex;flex-wrap:wrap;gap:10px}.filter{background:none;border:1px solid var(--line);padding:10px 18px;font-size:11px;transition:background .3s}.filter.active{background:var(--dark);border-color:var(--dark);color:var(--paper)}.search-wrap{position:relative}.search-wrap input{width:250px;min-height:43px;background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:10px 30px 10px 0;font-size:12px}.search-wrap>span:last-child{position:absolute;right:10px;top:4px;font-size:25px}.article-intro{padding:60px 10% 45px}.article-intro .back-link{margin-bottom:45px}.article-intro h1{margin-top:22px;font-size:78px;max-width:900px}.article-intro .lead{max-width:800px}.article-intro .article-meta{justify-content:flex-start;gap:50px;margin-top:25px}.article-banner{height:440px}.article-banner img{width:100%;height:100%;object-position:center}.article-body{display:grid;grid-template-columns:240px minmax(0,730px);gap:10%;padding-block:85px}.article-body aside{align-self:start;position:sticky;top:150px}.article-body aside>.eyebrow{margin-bottom:25px}.article-body aside>a{display:block;font-size:12px;color:var(--muted);margin-bottom:14px}.article-body aside>a:hover{color:var(--accent)}#copy-link{margin-top:20px;background:none;border-top:0;border-left:0;border-right:0;padding:0 0 8px;width:100%;text-align:left}#copy-status{font-size:11px;display:block;margin-top:10px}.article-body section{margin-bottom:45px;scroll-margin-top:140px}.article-body h2{font-size:39px}.article-body p{font-size:16px;line-height:1.9}.article-body .content-notice{margin-bottom:40px}.article-body+.section .article-grid{grid-template-columns:1fr 1fr}.contact-intro{padding-block:70px 60px;border-bottom:1px solid var(--line)}.contact-intro h1{margin-top:25px;font-size:clamp(50px,5.5vw,83px)}.contact-intro .lead{margin-top:25px;font-size:17px}.contact-section{display:grid;grid-template-columns:1fr 1.5fr;gap:9%;padding-block:75px 105px}.contact-aside>img{width:100%;height:290px}.contact-aside h3{margin-top:28px;font-size:33px}.contact-aside p{font-size:12px}.office-details{border-top:1px solid var(--line);margin-top:35px;padding-top:25px}.office-details p{font-size:11px}.form-panel h2{font-size:48px}.form-panel>.small-note{margin-top:15px;max-width:570px}#enquiry-form{margin-top:35px}.form-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:25px}#enquiry-form label{display:block;font-size:11px;margin-bottom:26px}#enquiry-form label>span{color:var(--muted)}#enquiry-form input:not([type=checkbox]),#enquiry-form select,#enquiry-form textarea{display:block;width:100%;background:transparent;border:0;border-bottom:1px solid #bbc0b0;border-radius:0;color:var(--ink);padding:13px 0;font-size:13px;margin-top:5px;outline-offset:3px}#enquiry-form textarea{resize:vertical;min-height:135px}#enquiry-form input::placeholder,#enquiry-form textarea::placeholder{color:#939889;font-size:12px}#enquiry-form input.invalid,#enquiry-form textarea.invalid,#enquiry-form select.invalid{border-color:#af4837}#enquiry-form .consent{display:flex;align-items:flex-start;gap:12px;font-size:11px;line-height:1.7}.consent input{accent-color:var(--accent);margin:4px 0 0;flex:none;width:15px;height:15px}.consent a{text-decoration:underline;text-underline-offset:3px}.honey{display:none!important}#form-status:not(:empty){font-size:12px;line-height:1.7;padding:15px 18px;border-left:2px solid var(--accent);background:#ebe7dd;margin-top:25px}#form-status.success{border-color:#50764b;background:#e4eadf}#form-status.error{color:#93402c}.legal-page{max-width:850px;padding-block:75px 110px}.legal-page h1{margin-top:30px;margin-bottom:55px}.legal-page h2{font-size:36px;margin-top:40px}.legal-page p{font-size:15px;line-height:1.9}.legal-page .text-link{margin-top:45px}.error-page{padding-block:105px 130px}.error-page h1{margin-top:30px}.error-page .button{margin-top:35px}
.reveal{transition:opacity .8s var(--ease),transform 1s var(--ease)}.motion-enabled .reveal{opacity:0;transform:translateY(20px)}.motion-enabled .reveal.visible{opacity:1;transform:none}
@media(min-width:1600px){.hero{gap:65px}.hero-visual{min-height:670px}.hero-copy{padding-top:45px}.hero h1{font-size:86px}.hero-copy>p{font-size:15px}.hero-actions{margin-top:45px}.hero-footnote{padding-top:60px}}
@media(max-width:1200px){.container,.header-inner{width:calc(100% - 72px)}.desktop-nav{gap:16px}.desktop-nav a{font-size:11px}.wordmark{font-size:14px}.brand{gap:10px}.brand-mark{width:40px;height:40px}.header-inner{gap:16px;height:90px}.hero{gap:30px}.hero h1{font-size:59px}.hero-visual{min-height:565px}.hero-copy>p{font-size:13px}.hero-actions{gap:20px}.hero-actions .button{padding-inline:18px;gap:20px}.hero-actions .text-link{gap:14px;font-size:11px}.practice-list{column-gap:40px}.practice-row{gap:16px}.practice-row h3{font-size:24px}.experience-aside{padding:30px}.experience-aside h3{font-size:37px}.sector-strip>div{font-size:22px;gap:18px}.firm-section{gap:10%}.firm-image>img{height:460px}.footer-top>p{font-size:22px}.footer-links{column-gap:30px}.page-intro h1{font-size:63px}.article-intro h1{font-size:67px}}
@media(max-width:1000px){.desktop-nav{display:none}.nav-contact{margin-left:auto}.menu-toggle{display:block}.container,.header-inner{width:calc(100% - 56px)}.hero h1{font-size:56px}.hero{gap:25px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-footnote{padding-top:28px;font-size:7px}.hero-visual{min-height:565px}.hero-caption{padding:16px;font-size:7px}.hero-caption span:last-child{display:none}.hero-stamp{width:83px;padding:10px}.hero-stamp span{font-size:6px}.sector-strip>span{max-width:140px;line-height:1.7}.sector-strip>div{font-size:21px;gap:10px}.firm-section{gap:8%}.firm-image{margin-left:22px}.firm-image>img{height:440px}.firm-copy h2{font-size:46px}.firm-copy>p{font-size:12px}.firm-copy .lead{font-size:15px}.values-inline{gap:14px;font-size:10px}.image-tag{right:-16px;padding:20px;font-size:8px}.section{padding-block:80px}.practice-list{column-gap:30px}.practice-row h3{font-size:23px}.practice-row{gap:12px}.round-arrow{width:30px;height:30px}.experience-grid{gap:25px}.experience-feature{height:440px}.experience-feature h3{font-size:32px}.experience-feature>div{left:25px;right:25px;bottom:25px}.experience-aside h3{font-size:34px}.experience-aside{padding:28px}.article-grid{gap:25px}.article-card h3{font-size:25px}.footer-top{flex-wrap:wrap}.footer-top>p{display:none}.page-intro{gap:5%}.page-intro-image{height:360px}.page-intro h1{font-size:55px}.page-intro .lead{font-size:14px}.service-detail h2{font-size:44px}.services h4{font-size:12px}.profile-intro h1{font-size:60px}.contact-section{gap:6%}.contact-aside h3{font-size:28px}.contact-aside>img{height:270px}.article-body{grid-template-columns:190px 1fr;gap:7%}.principles{gap:30px}.wide-note{padding:30px;gap:25px}.wide-note .text-link{font-size:11px;gap:15px}}
@media(max-width:760px){html{scroll-padding-top:90px}.container,.header-inner{width:calc(100% - 44px)}.header-inner{height:78px}.wordmark{font-size:13px}.wordmark>span{font-size:6.5px}.brand-mark{width:35px;height:35px}.brand-mark svg{width:29px;height:29px}.nav-contact{display:none}.menu-toggle{margin-left:auto}.hero{grid-template-columns:1fr;gap:35px;padding-top:20px;padding-bottom:30px}.hero-copy{padding-top:10px}.hero h1{font-size:clamp(46px,8.3vw,69px);margin-top:24px;line-height:1.02}.hero-copy>p{margin-top:22px;font-size:13px}.hero-actions{flex-direction:row;align-items:center;gap:22px;margin-top:25px}.hero-actions .button{font-size:11px;min-height:48px}.hero-actions .text-link{font-size:10px}.hero-footnote{padding-top:25px;font-size:7px;letter-spacing:.12em}.hero-visual{min-height:480px}.hero-stamp{width:90px}.hero-stamp span{font-size:6.5px}.hero-caption{font-size:7px}.hero-caption span:last-child{display:block}.sector-strip{flex-wrap:wrap;gap:14px;padding:20px 0}.sector-strip>span{max-width:none;width:100%;font-size:7px}.sector-strip>div{font-size:20px;gap:15px}.sector-strip>a{width:27px;height:27px}.firm-section{grid-template-columns:1fr;gap:60px}.firm-image{max-width:none;margin-left:20px;margin-right:20px}.firm-image>img{height:480px}.firm-copy{padding-top:8px}.firm-copy h2{font-size:48px}.firm-copy>p{max-width:none;font-size:13px}.firm-copy .lead{font-size:17px}.values-inline{gap:30px}.section{padding-block:65px}.section-heading{align-items:flex-start;flex-direction:column;gap:25px;margin-bottom:35px}.section-heading h2{margin-top:20px;font-size:46px}.section-heading>p{margin-top:0;max-width:none;font-size:12px}.section-heading>.text-link{margin-bottom:0}.practice-list{grid-template-columns:1fr}.practice-row{padding:25px 0;gap:22px}.practice-row h3{font-size:27px}.practice-row p{font-size:11px}.round-arrow{height:36px;width:36px}.expertise-bottom{margin-top:20px;padding-top:25px;align-items:flex-start;flex-direction:column;gap:22px}.expertise-bottom>span{font-size:7px;line-height:1.8}.experience-grid{grid-template-columns:1fr;gap:25px}.experience-feature{height:440px}.experience-feature h3{font-size:37px}.experience-aside{min-height:360px;padding:30px}.experience-aside h3{font-size:40px}.experience-aside p{max-width:380px}.experience-aside .small-note{padding-top:30px}.article-grid{grid-template-columns:1fr;gap:40px}.article-image{aspect-ratio:1.55}.article-card h3{font-size:33px;max-width:none}.article-meta{font-size:9px}.article-card p{font-size:13px;margin-top:12px}.closing-inner{padding-block:60px}.closing h2{font-size:49px}.closing-mark{right:-150px;bottom:-95px;opacity:.35}.closing-line{right:22%;opacity:.5}.closing-mark svg{width:350px;height:350px}.footer-top{gap:35px;padding-bottom:35px;flex-direction:column}.footer-links{width:100%;grid-template-columns:repeat(3,1fr);column-gap:20px;font-size:10px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:17px;font-size:8px}.footer-bottom>div{gap:25px;width:100%}.back-top{margin-left:auto;font-size:8px}.site-footer{padding-top:45px}.site-disclaimer{font-size:8px;line-height:1.8}.page-intro{grid-template-columns:1fr;gap:35px;padding-top:40px;padding-bottom:40px}.page-intro h1{font-size:55px}.page-intro .lead{font-size:15px;max-width:none;margin-top:25px}.page-intro-image{height:370px;padding-right:22px}.split-copy{grid-template-columns:1fr;gap:30px}.split-copy h2{font-size:45px;margin-top:20px}.split-copy p{font-size:14px}.principles{grid-template-columns:1fr;gap:35px}.principles>div:not(:last-child){border-bottom:1px solid var(--line);padding-bottom:35px}.principles h3{font-size:43px;margin:15px 0 20px}.principles p{font-size:13px}.people-grid{grid-template-columns:1fr;gap:40px}.person-monogram{height:360px}.person-caption h3{font-size:35px}.profile-intro{grid-template-columns:1fr;gap:35px;padding-block:40px}.large-monogram{height:360px}.large-monogram>span{font-size:140px}.profile-intro h1{font-size:58px}.wide-note{align-items:flex-start;flex-direction:column;gap:25px;padding:30px;margin-top:40px}.wide-note .text-link{margin-left:0}.wide-note strong{font-size:27px}.wide-note>svg{width:55px;height:55px}.service-detail{grid-template-columns:1fr;gap:50px}.service-detail h2{font-size:44px}.service-detail p{max-width:none}.services h4{font-size:14px}.scenario{padding:40px 27px}.scenario h2{font-size:36px}.scenario p{font-size:15px}.related-practices{grid-template-columns:1fr;gap:0}.experience-item{grid-template-columns:27px 1fr;gap:15px;padding:35px 0}.experience-item h2{font-size:36px}.experience-item p{font-size:14px}.experience-item .eyebrow{font-size:8px}.insight-toolbar{flex-direction:column;align-items:flex-start;gap:25px;margin-bottom:35px}.filter-buttons{gap:7px}.filter{padding:9px 13px;font-size:10px}.search-wrap{width:100%}.search-wrap input{width:100%}.article-intro{padding:40px 0}.article-intro h1{font-size:55px}.article-intro .lead{font-size:16px}.article-intro .article-meta{gap:20px;flex-wrap:wrap;font-size:8px}.article-intro .back-link{margin-bottom:30px}.article-banner{height:320px}.article-body{grid-template-columns:1fr;gap:35px;padding-block:50px}.article-body aside{position:static;border-bottom:1px solid var(--line);padding-bottom:30px}.article-body aside>a{font-size:11px;margin-bottom:10px}#copy-link{width:auto;gap:25px;font-size:11px}.article-body h2{font-size:34px}.article-body p{font-size:15px}.article-body+.section .article-grid{grid-template-columns:1fr}.contact-intro{padding-block:40px}.contact-intro h1{font-size:49px;line-height:1.06}.contact-intro .lead{font-size:16px}.contact-section{grid-template-columns:1fr;gap:55px;padding-block:45px 65px}.contact-aside>img{height:270px}.contact-aside h3{font-size:32px}.contact-aside p{font-size:13px}.office-details{margin-top:25px}.form-panel h2{font-size:44px}.form-grid{gap:20px}#enquiry-form label{font-size:10px}#enquiry-form input:not([type=checkbox]),#enquiry-form select,#enquiry-form textarea{font-size:14px}.legal-page{padding-block:45px 70px}.legal-page h1{font-size:59px}.legal-page h2{font-size:34px}.legal-page p{font-size:14px}.error-page{padding-block:65px 85px}.error-page h1{font-size:53px}.error-page p{font-size:13px}}
@media(max-width:420px){.container,.header-inner{width:calc(100% - 36px)}.hero h1{font-size:49px}.hero-actions{gap:19px}.hero-actions .button{padding-inline:16px;gap:15px}.hero-actions .text-link{gap:8px}.hero-visual{min-height:390px}.sector-strip>div{font-size:18px;gap:10px}.firm-image>img{height:390px}.hero-caption{font-size:6px}.eyebrow{font-size:9px;gap:10px}.chapter{padding-right:10px}.firm-copy h2,.section-heading h2{font-size:43px}.experience-feature{height:380px}.experience-feature h3{font-size:32px}.form-grid{grid-template-columns:1fr;gap:0}.contact-intro h1{font-size:43px}.closing h2{font-size:43px}.page-intro h1{font-size:49px}.page-intro-image{height:310px}.practice-row h3{font-size:25px}.practice-row{gap:15px}.services h4{font-size:13px}.profile-intro h1{font-size:51px}.article-intro h1{font-size:49px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.motion-enabled .reveal{opacity:1;transform:none}}

/* Keep the two intentionally long hero lines intact on narrow phones. */
@media (max-width: 420px) {
  .hero h1 {
    font-size: clamp(38px, 11.9vw, 49px);
  }
}

/* Progressive enhancement: a quiet cross-document dissolve. */
@view-transition {
  navigation: auto;
}
::view-transition-old(root) {
  animation: page-out 180ms ease both;
}
::view-transition-new(root) {
  animation: page-in 300ms ease both;
}
@keyframes page-out {
  to { opacity: 0; }
}
@keyframes page-in {
  from { opacity: 0; transform: translateY(5px); }
  to { opacity: 1; transform: translateY(0); }
}
@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation: none;
  }
}

/* Important concept disclosures remain readable, not decorative micro-type. */
.site-disclaimer {
  font-size: 11px;
  line-height: 1.65;
}
.person-monogram > small {
  font-size: 10px;
}
@media (max-width: 760px) {
  .sector-strip > div {
    flex: 1;
    min-width: 0;
    flex-wrap: wrap;
    line-height: 1.3;
    row-gap: 6px;
  }
  .sector-strip > a {
    align-self: flex-end;
  }
  .footer-links {
    row-gap: 0;
  }
  .footer-links a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font-size: 12px;
  }
  .footer-bottom > div > a,
  .back-top {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    font-size: 11px;
  }
  .filter {
    min-height: 44px;
    font-size: 11px;
  }
  .article-body aside > a {
    min-height: 44px;
    display: flex;
    align-items: center;
    margin-bottom: 0;
    font-size: 12px;
  }
  .site-disclaimer {
    font-size: 11px;
  }
}

/* Process, lifecycle, audience and statement sections */
.process-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 55px;
}
.process-step {
  border-top: 1px solid var(--line);
  padding-top: 26px;
}
.process-step h3 {
  font-size: 32px;
  margin: 20px 0 16px;
}
.process-step p {
  font-size: 13px;
  line-height: 1.85;
  margin: 0;
}
.audience-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 60px;
}
.audience-card {
  border-top: 1px solid var(--line);
  padding: 28px 0 34px;
  transition: border-color .3s;
}
.audience-card:hover {
  border-color: var(--accent);
}
.audience-card h3 {
  font-size: 30px;
  margin: 18px 0 14px;
}
.audience-card p {
  font-size: 13px;
  line-height: 1.85;
  max-width: 380px;
  margin: 0;
}
.lifecycle-section {
  background: #eeeee5;
  padding-block: 90px;
}
.lifecycle-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}
.lifecycle-stage {
  border-top: 1px solid #c9cabb;
  padding-top: 24px;
  position: relative;
}
.lifecycle-index {
  font-family: var(--serif);
  font-size: 15px;
  color: var(--accent);
  letter-spacing: .06em;
}
.lifecycle-stage h3 {
  font-size: 34px;
  margin: 12px 0 15px;
}
.lifecycle-stage p {
  font-size: 12px;
  line-height: 1.85;
  margin-bottom: 18px;
}
.lifecycle-link {
  display: block;
  font-size: 11px;
  padding: 9px 0;
  border-bottom: 1px solid #d4d5c6;
  color: var(--ink);
  transition: color .25s, padding-left .25s;
}
.lifecycle-link:hover {
  color: var(--accent);
  padding-left: 4px;
}
.quote-band {
  background: var(--dark);
  color: var(--paper);
  padding-block: 95px;
  text-align: center;
}
.quote-band .container {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 980px;
}
.quote-band svg {
  width: 46px;
  height: 46px;
  color: #c5a88c;
  margin-bottom: 34px;
}
.quote-band blockquote {
  font-family: var(--serif);
  font-size: clamp(32px, 3.4vw, 50px);
  line-height: 1.18;
  letter-spacing: -.03em;
  margin: 0;
  color: var(--paper);
  max-width: 22ch;
}
.quote-band p {
  font-size: 10px;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: #a9b0a5;
  margin-top: 30px;
  max-width: 46ch;
  line-height: 1.8;
}
@media (max-width: 1000px) {
  .process-grid { gap: 32px; }
  .process-step h3 { font-size: 26px; }
  .lifecycle-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .audience-grid { column-gap: 35px; }
  .quote-band { padding-block: 75px; }
}
@media (max-width: 760px) {
  .process-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  .process-step {
    padding-top: 22px;
  }
  .process-step h3 { font-size: 28px; margin: 14px 0 12px; }
  .process-step p { font-size: 13px; }
  .lifecycle-section { padding-block: 60px; }
  .lifecycle-grid { grid-template-columns: 1fr; gap: 10px; }
  .lifecycle-stage {
    border-top: 0;
    border-bottom: 1px solid #d4d5c6;
    padding: 24px 0;
  }
  .lifecycle-stage:last-child { border-bottom: 0; }
  .lifecycle-stage h3 { font-size: 30px; margin: 8px 0 12px; }
  .lifecycle-stage p { margin-bottom: 14px; }
  .audience-grid { grid-template-columns: 1fr; }
  .audience-card h3 { font-size: 28px; }
  .quote-band { padding-block: 60px; }
  .quote-band blockquote { max-width: none; font-size: 31px; }
  .quote-band p { font-size: 9px; letter-spacing: .1em; }
  .quote-band svg { width: 38px; height: 38px; margin-bottom: 25px; }
}

/* ==========================================================================
   HELVETICA TYPE SYSTEM
   ========================================================================== */
body {
  font-size: 15px;
  line-height: 1.7;
}
h1, h2, h3, h4,
h1 em, h2 em {
  font-family: var(--sans);
  font-weight: 400;
}
h1 {
  font-size: clamp(36px, 4.4vw, 60px);
  line-height: 1.02;
  letter-spacing: -.04em;
}
h2 {
  font-size: clamp(28px, 3.1vw, 42px);
  line-height: 1.06;
  letter-spacing: -.035em;
}
h3 {
  font-size: 24px;
  line-height: 1.16;
  letter-spacing: -.022em;
}
h4 {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: -.005em;
}
h1 em, h2 em {
  font-style: italic;
  letter-spacing: -.045em;
}
.eyebrow {
  font-size: 9px;
  letter-spacing: .2em;
  font-weight: 500;
}
.chapter {
  font-size: 10px;
  letter-spacing: .12em;
}
.lead {
  font-size: 17px;
  line-height: 1.6;
}
.button {
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.button-small {
  letter-spacing: .12em;
}
.text-link {
  font-size: 11.5px;
  letter-spacing: .02em;
}
.desktop-nav a {
  font-size: 11.5px;
  letter-spacing: .02em;
}
.wordmark {
  font-size: 13.5px;
  letter-spacing: .05em;
  font-weight: 500;
}
.wordmark > span {
  font-size: 7.5px;
  letter-spacing: .2em;
}
.mobile-nav a {
  font-family: var(--sans);
  font-size: 24px;
  letter-spacing: -.02em;
}
.hero h1 {
  font-size: clamp(34px, 4.6vw, 64px);
  line-height: 1.04;
  letter-spacing: -.045em;
}
.hero h1 em {
  font-size: 1em;
}
.hero-copy > p {
  font-size: 14px;
  line-height: 1.8;
}
.hero-footnote {
  letter-spacing: .18em;
}
.sector-strip > div {
  font-family: var(--sans);
  font-size: 16px;
  letter-spacing: -.01em;
  gap: 22px;
}
.firm-copy h2 {
  font-size: clamp(30px, 3.4vw, 46px);
}
.firm-copy .lead {
  font-size: 16px;
}
.values-inline {
  font-size: 10.5px;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.section-heading h2 {
  margin-top: 20px;
}
.section-heading > p {
  font-size: 12.5px;
  line-height: 1.8;
}
.practice-row h3 {
  font-size: 20px;
  letter-spacing: -.02em;
}
.practice-row p {
  font-size: 11px;
}
.practice-number {
  font-size: 9px;
  letter-spacing: .1em;
}
.experience-feature h3 {
  font-size: 29px;
  letter-spacing: -.03em;
}
.experience-aside h3 {
  font-size: 29px;
  line-height: 1.12;
  letter-spacing: -.03em;
}
.experience-aside p {
  font-size: 12.5px;
}
.expertise-bottom > span {
  letter-spacing: .18em;
}
.article-card h3 {
  font-size: 21px;
  line-height: 1.18;
  letter-spacing: -.025em;
}
.article-meta {
  font-size: 8.5px;
  letter-spacing: .11em;
}
.closing h2 {
  font-size: clamp(30px, 3.4vw, 46px);
  letter-spacing: -.04em;
}
.footer-top > p {
  font-size: 18px;
  line-height: 1.35;
  letter-spacing: -.015em;
}
.footer-links {
  font-size: 11px;
}
.page-intro h1 {
  font-size: clamp(34px, 3.9vw, 54px);
  margin-top: 24px;
}
.page-intro .lead {
  font-size: 15.5px;
}
.split-copy h2 {
  font-size: clamp(28px, 3.2vw, 42px);
}
.split-copy p {
  font-size: 14.5px;
}
.principles h3 {
  font-size: 30px;
  margin: 20px 0 22px;
}
.principles h4 {
  font-size: 13px;
  font-weight: 500;
}
.principles p {
  font-size: 12.5px;
}
.process-step h3 {
  font-size: 22px;
  margin: 16px 0 12px;
}
.process-step p {
  font-size: 12.5px;
}
.lifecycle-stage h3 {
  font-size: 24px;
  margin: 10px 0 12px;
}
.lifecycle-stage p {
  font-size: 12px;
}
.audience-card h3 {
  font-size: 21px;
  margin: 14px 0 10px;
}
.audience-card p {
  font-size: 12.5px;
}
.quote-band blockquote {
  font-size: clamp(22px, 2.4vw, 34px);
  line-height: 1.28;
  letter-spacing: -.03em;
  max-width: 26ch;
}
.quote-band p {
  font-size: 9px;
  letter-spacing: .16em;
}
.wide-note strong {
  font-family: var(--sans);
  font-size: 19px;
  letter-spacing: -.02em;
}
.wide-note p {
  font-size: 15px;
}
.person-monogram > span {
  font-family: var(--sans);
  font-size: 92px;
  font-weight: 400;
  letter-spacing: .02em;
}
.person-monogram > small {
  font-size: 8.5px;
  letter-spacing: .16em;
}
.person-caption h3 {
  font-size: 26px;
  letter-spacing: -.03em;
}
.person-caption p {
  font-size: 12px;
}
.large-monogram > span {
  font-size: 140px;
}
.profile-intro h1 {
  font-size: clamp(34px, 3.7vw, 52px);
}
.services h3 {
  font-size: 24px;
}
.services h4 {
  font-size: 13.5px;
}
.scenario h2 {
  font-size: clamp(26px, 2.8vw, 34px);
}
.scenario p {
  font-size: 15px;
}
.related-link {
  font-size: 13px;
}
.experience-item h2 {
  font-size: clamp(28px, 3vw, 38px);
}
.experience-item p {
  font-size: 14px;
}
.article-intro h1 {
  font-size: clamp(30px, 3.5vw, 48px);
  letter-spacing: -.04em;
}
.article-intro .lead {
  font-size: 16px;
}
.article-body h2 {
  font-size: 26px;
  letter-spacing: -.03em;
}
.article-body p {
  font-size: 15.5px;
  line-height: 1.85;
}
.contact-intro h1 {
  font-size: clamp(32px, 3.8vw, 52px);
}
.contact-intro .lead {
  font-size: 16px;
}
.contact-aside h3 {
  font-size: 24px;
}
.form-panel h2 {
  font-size: 34px;
}
.legal-page h1 {
  font-size: clamp(34px, 4vw, 54px);
}
.legal-page h2 {
  font-size: 26px;
}
.legal-page p {
  font-size: 14.5px;
}
.error-page h1 {
  font-size: clamp(34px, 4.2vw, 58px);
}
.site-disclaimer {
  font-size: 10.5px;
  letter-spacing: .01em;
}
.content-notice {
  font-size: 11.5px;
}
.small-note {
  font-size: 10.5px;
}
@media (max-width: 1200px) {
  .hero h1 { font-size: clamp(34px, 4.5vw, 56px); }
  .wordmark { font-size: 12.5px; }
  .desktop-nav a { font-size: 11px; }
  .practice-row h3 { font-size: 19px; }
  .person-monogram > span { font-size: 82px; }
}
@media (max-width: 1000px) {
  .hero h1 { font-size: clamp(34px, 4.6vw, 50px); }
  .firm-copy h2 { font-size: 34px; }
  .experience-feature h3 { font-size: 26px; }
  .experience-aside h3 { font-size: 26px; }
  .practice-row h3 { font-size: 19px; }
  .page-intro h1 { font-size: clamp(32px, 4vw, 46px); }
  .person-monogram > span { font-size: 76px; }
  .profile-intro h1 { font-size: 42px; }
}
@media (max-width: 760px) {
  body { font-size: 15px; }
  h1 { font-size: clamp(32px, 8vw, 44px); }
  h2 { font-size: clamp(26px, 7vw, 38px); }
  .hero h1 {
    font-size: clamp(30px, 8.8vw, 52px);
    line-height: 1.05;
  }
  .hero-copy > p { font-size: 13.5px; }
  .section-heading h2 { font-size: clamp(27px, 7.2vw, 38px); }
  .firm-copy h2 { font-size: clamp(28px, 7.4vw, 38px); }
  .page-intro h1 { font-size: clamp(30px, 8.2vw, 44px); }
  .page-intro .lead { font-size: 14.5px; }
  .practice-row h3 { font-size: 21px; }
  .experience-feature h3 { font-size: 25px; }
  .experience-aside h3 { font-size: 27px; }
  .article-card h3 { font-size: 24px; }
  .closing h2 { font-size: clamp(28px, 7.6vw, 40px); }
  .quote-band blockquote { font-size: clamp(21px, 5.8vw, 28px); }
  .person-monogram > span { font-size: 84px; }
  .person-caption h3 { font-size: 25px; }
  .large-monogram > span { font-size: 108px; }
  .profile-intro h1 { font-size: clamp(30px, 8vw, 40px); }
  .principles h3 { font-size: 27px; }
  .process-step h3 { font-size: 21px; }
  .lifecycle-stage h3 { font-size: 23px; }
  .audience-card h3 { font-size: 21px; }
  .experience-item h2 { font-size: clamp(26px, 7vw, 32px); }
  .article-intro h1 { font-size: clamp(29px, 7.6vw, 38px); }
  .article-body h2 { font-size: 23px; }
  .contact-intro h1 { font-size: clamp(29px, 7.4vw, 38px); }
  .form-panel h2 { font-size: 29px; }
  .contact-aside h3 { font-size: 23px; }
  .legal-page h1 { font-size: clamp(30px, 8vw, 40px); }
  .legal-page h2 { font-size: 23px; }
  .error-page h1 { font-size: clamp(30px, 8.4vw, 42px); }
  .mobile-nav a { font-size: 22px; }
  .sector-strip > div { font-size: 15px; }
  .wordmark { font-size: 12px; }
  .wordmark > span { font-size: 6.5px; }
}
@media (max-width: 420px) {
  .hero h1 { font-size: 9.4vw; }
  .page-intro h1 { font-size: 8.6vw; }
  .article-intro h1, .contact-intro h1 { font-size: 8vw; }
  .firm-copy h2, .section-heading h2 { font-size: 7.4vw; }
  .closing h2 { font-size: 7.8vw; }
  .person-caption h3 { font-size: 22px; }
}
/* Let long headline lines wrap naturally on small screens. */
@media (max-width: 520px) {
  h1 br, h2 br, .hero h1 br { display: none; }
}

/* ==========================================================================
   MOTION SYSTEM
   ========================================================================== */
.scroll-progress {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 60;
  height: 2px;
  width: 0;
  background: var(--accent);
  transition: width .12s linear;
  pointer-events: none;
}
.site-header {
  transition: box-shadow .45s var(--ease), background .45s var(--ease);
}
.header-inner {
  transition: height .45s var(--ease);
}
.site-header.compact .header-inner {
  height: 72px;
}
.site-header.compact {
  box-shadow: 0 16px 40px -34px rgba(38, 41, 34, .55);
}
.hero-visual > img {
  animation: heroDrift 28s ease-in-out infinite alternate;
  will-change: transform;
}
.hero-visual:hover > img {
  animation-play-state: paused;
}
@keyframes heroDrift {
  from { transform: scale(1.01) translate3d(0, 0, 0); }
  to { transform: scale(1.07) translate3d(-1.1%, -1.4%, 0); }
}
.practice-row h3 {
  transition: transform .4s var(--ease), color .4s var(--ease);
}
.practice-row:hover h3 {
  transform: translateX(5px);
  color: var(--accent);
}
.practice-marquee {
  border-block: 1px solid var(--line);
  overflow: hidden;
  padding-block: 20px;
  background: var(--paper);
}
.marquee-track {
  display: flex;
  width: max-content;
  animation: marquee 52s linear infinite;
}
.practice-marquee:hover .marquee-track {
  animation-play-state: paused;
}
.marquee-track span {
  display: flex;
  align-items: center;
  gap: 30px;
  padding-right: 30px;
  font-size: 12px;
  letter-spacing: .19em;
  text-transform: uppercase;
  white-space: nowrap;
  color: var(--ink);
}
.marquee-track b {
  font-weight: 400;
  color: var(--accent);
}
@keyframes marquee {
  to { transform: translateX(-50%); }
}
.motion-section {
  background: var(--dark);
  color: var(--paper);
  padding-block: 95px;
}
.motion-section .eyebrow {
  color: #c9cfc1;
}
.motion-section .chapter {
  border-color: #4d554a;
  color: #c18065;
}
.motion-section h2 em {
  color: #c9a98e;
}
.motion-section p {
  color: #a9b0a5;
}
.motion-grid {
  display: grid;
  grid-template-columns: 1fr 1.28fr;
  gap: 38px;
  align-items: end;
}
.motion-card {
  position: relative;
  overflow: hidden;
  background: #1a1f1b;
}
.motion-card video,
.motion-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.motion-card.tall {
  aspect-ratio: 4 / 5;
}
.motion-card.wide {
  aspect-ratio: 3 / 2;
}
.motion-card figcaption {
  position: absolute;
  inset: auto 0 0 0;
  padding: 20px 22px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  font-size: 8.5px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #ece9df;
  background: linear-gradient(transparent, rgba(18, 22, 18, .78));
}
.motion-mark {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 54px;
  height: 54px;
  padding: 5px;
  background: var(--paper);
}
.motion-card:nth-child(2) {
  transform: translateY(-34px);
}
.experience-feature video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.experience-feature {
  isolation: isolate;
}
.motion-enabled .reveal {
  transition: opacity .85s var(--ease), transform 1.05s var(--ease);
}
[data-parallax] img,
[data-parallax] video {
  will-change: transform;
}
@media (max-width: 1000px) {
  .motion-grid {
    gap: 24px;
  }
  .motion-section {
    padding-block: 75px;
  }
}
@media (max-width: 760px) {
  .motion-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .motion-card:nth-child(2) {
    transform: none;
  }
  .motion-section {
    padding-block: 60px;
  }
  .motion-card figcaption {
    font-size: 8px;
    padding: 15px;
  }
  .motion-mark {
    width: 44px;
    height: 44px;
  }
  .site-header.compact .header-inner {
    height: 64px;
  }
  .marquee-track span {
    font-size: 11px;
    gap: 22px;
    padding-right: 22px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-visual > img,
  .marquee-track {
    animation: none !important;
  }
  .motion-card:nth-child(2) {
    transform: none;
  }
  [data-parallax] img,
  [data-parallax] video {
    transform: none !important;
  }
}

/* Motion stays optional and does not compete with navigation or reading. */
.motion-card { margin: 0; }
.motion-toggle {
  padding: 0;
  background: none;
  border: 0;
  color: inherit;
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.motion-paused .hero-visual > img,
.motion-paused .marquee-track { animation-play-state: paused; }
.motion-paused .reveal { opacity: 1; transform: none; transition: none; }
.motion-paused [data-parallax] > img,
.motion-paused [data-parallax] > video { transform: none !important; }
.motion-paused ::view-transition-old(root),
.motion-paused ::view-transition-new(root) { animation: none; }
.motion-section .text-link { color: var(--paper); }
@media (max-width: 760px) {
  .motion-toggle { min-height: 44px; font-size: 11px; }
  .footer-bottom > div { flex-wrap: wrap; column-gap: 20px; row-gap: 0; }
}

/* Final interaction polish: quieter header, explicit media controls. */
h1, h2 { text-wrap: balance; }
.hero-visual > img { transform-origin: 50% 45%; }
.experience-feature video {
  transition: transform 1.1s var(--ease);
}
.experience-feature:hover video { transform: scale(1.035); }
.site-header.compact .header-inner { height: 100px; }
.site-header.compact { background: rgba(246,244,238,.985); }
.architectural-gif {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.motion-toggle {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  font-size: 9px;
  letter-spacing: .04em;
}
@media (max-width: 1000px) {
  .site-header.compact .header-inner { height: 90px; }
}
@media (max-width: 760px) {
  .site-header.compact .header-inner { height: 78px; }
  .motion-toggle { min-height: 44px; font-size: 11px; }
}

/* Do not run endless decorative motion unless its pause control can initialize. */
body:not(.motion-enabled) .hero-visual > img,
body:not(.motion-enabled) .marquee-track { animation: none; }
