@font-face{font-family:GaramondFallback;src:local('Georgia');size-adjust:85%;ascent-override:83.5294%;descent-override:34.1176%;line-gap-override:0%;font-weight:400;font-style:normal}
@font-face{font-family:GaramondFallback;src:local('Georgia Italic');size-adjust:81%;ascent-override:87.6543%;descent-override:35.8025%;line-gap-override:0%;font-weight:400;font-style:italic}
@font-face{font-family:GaramondNotes;src:url('/assets/fonts/garamond-notes.otf') format('opentype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Garamond;src:url('/assets/fonts/garamond.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Garamond;src:url('/assets/fonts/garamond-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:PublicSans;src:url('/assets/fonts/public-sans.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:PlexMono;src:url('/assets/fonts/plex-mono.woff2') format('woff2');font-weight:400;font-display:swap}
:root{
 --abyss:#052a21;--evergreen:#0b4d3c;--jade:#2e7d66;--celadon:#bfd8cc;--mist:#eef4f0;--copper:#b8663c;--copper-text:#8e4a25;--copper-light:#dda07e;--paper:#fff;--ink:#0e1b17;--stone:#55625d;--pebble:#8e9a95;--rule:#d3dcd7;
 --gutter:clamp(24px,4.45vw,72px);--section-space:clamp(72px,9vw,144px);--max:1440px;--out:cubic-bezier(.16,1,.3,1);--inout:cubic-bezier(.65,0,.35,1);--soft:cubic-bezier(.25,.46,.45,.94);--snap:cubic-bezier(.34,1.56,.64,1);--text-dur:680ms;--section-dur:1000ms;
 font-synthesis:none;color-scheme:light;scroll-behavior:smooth;scroll-padding-top:36px
}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Garamond,GaramondFallback,Georgia,serif;font-size:22px;line-height:1.38;-webkit-font-smoothing:antialiased}::selection{color:var(--abyss);background:var(--celadon)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{color:inherit}img{max-width:100%;display:block}svg{display:block}p,h1,h2,h3{margin:0;font-weight:400}p+p{margin-top:1.1em}h1,h2,h3{line-height:1.02;letter-spacing:-.035em}h2{font-size:clamp(44px,4.65vw,72px)}h3{font-size:clamp(34px,3.1vw,48px)}em{font-weight:400}ul{list-style:none;padding:0;margin:0}button{border:0;background:none}a,button{touch-action:manipulation}button svg,a svg{width:24px;height:24px;flex-shrink:0}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--copper-light);outline-offset:6px}.section-wrap{padding-left:var(--gutter);padding-right:var(--gutter);max-width:var(--max);margin-left:auto;margin-right:auto}.filter-defs{position:absolute;width:0;height:0;pointer-events:none}.skip-link{position:fixed;top:12px;left:12px;padding:14px 20px;background:var(--paper);color:var(--abyss);z-index:100;transform:translateY(-180%);font:14px PublicSans,sans-serif}.skip-link:focus{transform:none}.eyebrow{font:11px/1.5 PublicSans,Arial,sans-serif;text-transform:uppercase;letter-spacing:.19em;margin-bottom:27px}.section-index{font-family:PlexMono,monospace;color:var(--copper-text);display:inline-block;margin-right:25px;letter-spacing:0}.line{display:block}.line-inner{display:block}.line em{color:inherit}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:54px;padding:14px 22px;font:12px/1.5 PublicSans,Arial,sans-serif;letter-spacing:.015em;transition:background 220ms var(--soft),color 220ms var(--soft),transform 220ms var(--out);border:1px solid transparent}.button svg{width:23px;height:23px;transition:transform 200ms var(--snap)}.button:hover svg{transform:translateX(4px)}.button-light{color:var(--paper);border-color:#bfd8cc65}.button-light:hover{background:var(--celadon);color:var(--abyss)}.button-dark{background:var(--abyss);color:var(--paper)}.button-dark:hover{background:var(--evergreen)}.button-outline{border-color:var(--rule);color:var(--abyss)}.button-outline:hover{background:var(--mist)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;border-bottom:1px solid var(--rule);padding:12px 0;min-height:48px;font:12px/1.5 PublicSans,Arial,sans-serif;transition:gap 200ms var(--out),color 160ms var(--soft)}.text-link:hover{gap:54px;color:var(--copper-text)}.text-link svg{width:22px;height:22px}.text-button{font:12px/1.5 PublicSans,sans-serif;min-height:48px;padding:14px;text-decoration:underline;text-underline-offset:5px}
/* The opening is the dark field of an ICM instrument. */
.site-header{height:96px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;background:var(--abyss);color:var(--paper);position:relative;z-index:30;border-bottom:1px solid #bfd8cc2e}.brand{width:176px;min-height:58px;display:flex;align-items:center;view-transition-name:icm-brand}.brand img{width:176px;height:58px;object-fit:contain}.desktop-nav{display:flex;gap:44px;align-items:center;margin-left:auto;margin-right:70px}.desktop-nav a,.header-contact{font:11px/1.5 PublicSans,Arial,sans-serif;letter-spacing:.045em;min-height:44px;display:flex;align-items:center;position:relative}.desktop-nav a:after{content:'';position:absolute;bottom:5px;height:1px;left:0;width:100%;background:var(--copper-light);transform:scaleX(0);transform-origin:left;transition:transform 220ms var(--out)}.desktop-nav a:hover:after,.desktop-nav a[aria-current=page]:after{transform:scaleX(1)}.header-contact{border:1px solid #bfd8cc50;gap:26px;padding:12px 17px;min-height:46px;transition:border-color 180ms var(--soft),background 180ms var(--soft)}.header-contact:hover{border-color:var(--celadon);background:#bfd8cc09}.header-contact svg{width:18px;height:18px}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}.mobile-nav{display:none}
.hero{background:var(--abyss);color:var(--paper);min-height:calc(100svh - 96px);position:relative;overflow:hidden;padding:75px var(--gutter) 112px;isolation:isolate}.hero:after{content:'';position:absolute;right:-15%;top:-25%;width:90%;height:135%;background:radial-gradient(ellipse,#2e7d662c 0,transparent 65%);pointer-events:none;z-index:-1}.hero-copy{max-width:680px;width:57%;position:relative;z-index:2}.hero-copy .eyebrow{color:var(--celadon);margin-bottom:36px}.hero-title{font-size:clamp(78px,8.7vw,137px);line-height:.93;letter-spacing:-.035em;position:relative}.hero-title .line{overflow:hidden;padding:0 0 .12em;margin-bottom:-.12em}.hero-title em{color:var(--celadon)}.hero-intro{max-width:358px;font-size:23px;line-height:1.4;color:var(--celadon);margin-top:36px}.hero-copy .button{margin-top:30px;min-width:241px}.hero-art{position:absolute;width:64vw;height:64vw;max-width:890px;max-height:890px;min-width:660px;min-height:660px;right:-7vw;top:-25px;z-index:1;pointer-events:none}.hero-art img,.hero-art canvas{position:absolute;inset:0;width:100%;height:100%}.hero-art img{object-fit:contain;opacity:.9;transition:opacity 500ms var(--soft)}.hero-art canvas{opacity:0;transition:opacity 700ms var(--soft)}.hero-art.is-live img{opacity:0}.hero-art.is-live canvas{opacity:1}.hero-art-caption{position:absolute;right:var(--gutter);bottom:144px;width:31%;max-width:405px;display:flex;align-items:center;gap:20px;color:var(--celadon);font:11px/1.6 PublicSans,sans-serif}.hero-art-caption>span:first-child{flex-shrink:0}.caption-rule{height:1px;background:#bfd8cc50;flex:1}.caption-index{font:10px PlexMono,monospace;color:var(--copper-light);letter-spacing:.05em;white-space:nowrap}.hero-bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:25px;border-top:1px solid #bfd8cc2e;display:flex;justify-content:space-between;padding-top:18px;align-items:center}.hero-bottom a,.motion-toggle{font:10px/1.5 PublicSans,sans-serif;letter-spacing:.06em;color:var(--celadon);display:inline-flex;gap:16px;align-items:center;min-height:40px}.hero-bottom a svg{width:16px;height:20px}.motion-toggle{padding:8px 0 8px 14px}.motion-toggle[hidden]{display:none}.pause-icon{color:var(--copper-light);font-family:PlexMono,monospace;font-size:14px}.hero-copy .eyebrow{animation:gentle-arrival 650ms var(--out) both}.hero-title .line-inner{animation:type-arrival 1200ms var(--out) both}.hero-title .line:nth-child(1) .line-inner{animation-delay:70ms}.hero-title .line:nth-child(2) .line-inner{animation-delay:170ms}.hero-title .line:nth-child(3) .line-inner{animation-delay:320ms}.hero-intro,.hero-copy .button{animation:gentle-arrival 1100ms var(--soft) both;animation-delay:400ms}.hero-copy .button{animation-delay:540ms}@keyframes type-arrival{from{transform:translateY(112%)}to{transform:translateY(0)}}@keyframes gentle-arrival{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
/* White reading surfaces. */
.thesis{padding-top:var(--section-space);padding-bottom:77px;display:grid;grid-template-columns:1.1fr .9fr;column-gap:9%;row-gap:70px}.thesis h2{font-size:clamp(44px,4.75vw,73px);max-width:680px;line-height:1.04}.thesis h2 em{color:var(--evergreen)}.thesis-body{padding-top:45px;max-width:430px;font-size:24px;line-height:1.4}.thesis-body p+p{color:var(--stone);font-size:23px}.discipline-strip{grid-column:1/-1;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center;padding:24px 0;gap:20px}.discipline-strip span{font:11px/1.5 PublicSans,sans-serif;letter-spacing:.035em}.discipline-strip span:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--copper);margin-right:15px;vertical-align:2px}.expertise-section{padding-top:65px;padding-bottom:var(--section-space)}.section-heading{padding-bottom:70px}.section-heading .eyebrow{margin-bottom:27px}.section-heading h2{font-size:clamp(45px,4.7vw,74px)}.section-heading h2 em{color:var(--evergreen)}.service-row{display:grid;grid-template-columns:75px 1fr 310px;gap:30px;padding:62px 0 70px;border-top:1px solid var(--rule);align-items:start}.service-row:last-child{border-bottom:1px solid var(--rule)}.service-number{font:13px/1.5 PlexMono,monospace;color:var(--copper-text);padding-top:4px}.service-copy .eyebrow{margin-bottom:23px;color:var(--stone)}.service-copy h3,.service-copy h2{margin-bottom:23px;color:var(--evergreen);font-size:clamp(35px,3.65vw,54px)}.service-copy>p:not(.eyebrow){max-width:575px;font-size:24px;line-height:1.4;color:var(--stone)}.service-copy .text-link{margin-top:22px;min-width:232px}.service-art{height:244px;display:flex;align-items:center;justify-content:center}.service-diagram{width:100%;height:100%;stroke:var(--jade);stroke-width:.65;opacity:.82}.service-diagram .diagram-point{fill:var(--copper);stroke:none}.service-diagram .diagram-accent{stroke:var(--copper-text);stroke-width:1.6}.perspective-plate{height:640px;position:relative;color:var(--paper);isolation:isolate;overflow:hidden;background:var(--abyss)}.plate-image{position:absolute;inset:0;z-index:-1}.plate-image>img{width:100%;height:100%;object-fit:cover;object-position:50% 48%;filter:url(#architecture-duo);transform:scale(1.015)}.plate-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#052a21d9 0,#052a219c 44%,#052a2100 85%),linear-gradient(0deg,#052a2159,transparent 30%)}.plate-engraving{position:absolute;inset:0;background-image:url('/assets/img/interwoven.svg');background-position:105% 60%;background-size:850px;background-repeat:no-repeat;opacity:.14;mix-blend-mode:screen}.plate-content{position:absolute;left:var(--gutter);top:50%;transform:translateY(-50%);max-width:680px}.plate-content .eyebrow{color:var(--celadon)}.plate-content h2{font-size:clamp(48px,5.4vw,84px);line-height:1.04}.plate-content h2 em{color:var(--celadon)}.plate-content>p:not(.eyebrow){font-size:24px;margin-top:32px;max-width:370px;color:var(--paper)}.plate-caption{position:absolute;bottom:28px;right:var(--gutter);font:9px/1.5 PublicSans,sans-serif;letter-spacing:.1em;color:var(--paper)}.firm-teaser{padding-top:var(--section-space);padding-bottom:var(--section-space);display:grid;grid-template-columns:1fr 1.6fr;align-items:center;gap:7%;}.firm-seal{display:flex;justify-content:center}.firm-seal img{width:190px;height:190px;opacity:.8}.firm-teaser h2{font-size:clamp(46px,4.8vw,74px)}.firm-teaser h2 em{color:var(--evergreen)}.firm-teaser>div>p:not(.eyebrow){font-size:25px;line-height:1.42;max-width:610px;margin:31px 0 15px;color:var(--stone)}.firm-teaser .text-link{min-width:200px}.closing-cta{padding:70px var(--gutter);background:var(--mist);display:flex;align-items:center;justify-content:space-between;gap:60px}.closing-cta .eyebrow{margin-bottom:20px}.closing-cta h2{font-size:clamp(38px,4vw,60px);max-width:740px;color:var(--evergreen)}.round-link{border:1px solid var(--jade);border-radius:50%;width:120px;height:120px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;font:11px PublicSans,sans-serif;transition:background 220ms var(--soft),color 200ms var(--soft),transform 250ms var(--snap)}.round-link:hover{background:var(--abyss);color:var(--paper);transform:translateY(-3px)}
/* Inner pages: a generous masthead and a clear working measure. */
.page-intro{padding:95px var(--gutter) 90px;display:grid;grid-template-columns:1fr 32%;gap:6%;position:relative;max-width:var(--max);margin:auto}.page-intro h1{font-size:clamp(62px,6.7vw,103px);line-height:.99;max-width:870px}.page-intro h1 em{color:var(--evergreen)}.page-intro .eyebrow{color:var(--stone);margin-bottom:32px}.page-intro>div>p:not(.eyebrow){font-size:26px;line-height:1.38;max-width:550px;margin-top:33px;color:var(--stone)}.page-intro>.service-diagram,.approach-intro-art{height:310px;align-self:center}.discipline-jump{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin:0 var(--gutter);display:grid;grid-template-columns:repeat(3,1fr)}.discipline-jump a{font:11px/1.5 PublicSans,sans-serif;display:flex;gap:16px;align-items:center;min-height:88px;padding:20px 25px 20px 0}.discipline-jump a+a{padding-left:28px;border-left:1px solid var(--rule)}.discipline-jump a>span{font-family:PlexMono,monospace;color:var(--copper-text)}.discipline-jump a svg{margin-left:auto;width:17px;height:20px}.expertise-detail{padding-top:90px;padding-bottom:40px}.expertise-detail .service-row{grid-template-columns:75px 1fr 27%;padding-bottom:80px}.expertise-detail .service-row:first-child{border-top:0}.service-detail{padding-top:34px;margin-top:32px;border-top:1px solid var(--rule);max-width:625px}.service-detail h3{font-size:28px;letter-spacing:-.02em;line-height:1.15;color:var(--ink);margin-bottom:18px;max-width:540px}.service-detail p{font-size:22px;color:var(--stone);max-width:560px}.scope-list{margin-top:25px;display:grid;gap:14px;font:12px/1.6 PublicSans,sans-serif}.scope-list li{padding-left:19px;position:relative}.scope-list li:before{content:'';position:absolute;top:8px;left:0;width:4px;height:4px;background:var(--copper);border-radius:50%}.expertise-detail .service-art{height:330px;margin-top:20px}.engagement-note{padding-bottom:90px;font-size:20px;color:var(--stone)}.engagement-note>p{max-width:700px;padding-left:105px}.approach-intro{padding-bottom:110px}.approach-layout{padding-bottom:110px;display:grid;grid-template-columns:28% 1fr;gap:10%}.approach-aside{padding-top:48px;border-top:1px solid var(--rule)}.approach-aside .eyebrow{font-size:10px;max-width:220px;line-height:1.7}.approach-aside>p:not(.eyebrow){font-size:21px;color:var(--stone);max-width:270px}.approach-aside img{margin-top:50px;opacity:.7}.approach-step{display:grid;grid-template-columns:45px 1fr;gap:25px;padding:42px 0;border-top:1px solid var(--rule)}.approach-step:last-child{border-bottom:1px solid var(--rule)}.step-index{font:12px/1.5 PlexMono,monospace;color:var(--copper-text);padding-top:9px}.approach-step h2{font-size:clamp(35px,3.35vw,50px);color:var(--evergreen);margin-bottom:22px}.approach-step>div>p{font-size:24px;line-height:1.4;max-width:570px;color:var(--stone)}.approach-step>div>.step-output{font:11px/1.6 PublicSans,sans-serif;margin-top:32px;color:var(--ink);display:flex;flex-direction:column;gap:7px}.step-output>span{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:var(--copper-text)}.firm-intro{padding-bottom:105px}.intro-seal{width:240px;height:240px;align-self:center;justify-self:center;opacity:.8}.firm-story{display:grid;grid-template-columns:.85fr 1fr;gap:11%;padding-bottom:120px;align-items:center}.story-image{height:540px;position:relative;overflow:hidden;background:var(--mist)}.story-image img{width:100%;height:100%;object-fit:cover;object-position:72% 50%;filter:url(#architecture-duo)}.story-image:after{content:'';position:absolute;inset:0;background:url('/assets/img/interwoven.svg') 50% 50%/650px no-repeat;opacity:.16;mix-blend-mode:screen}.image-note{position:absolute;bottom:18px;left:18px;padding:8px 10px;font:9px PublicSans,sans-serif;background:var(--abyss);color:var(--paper);z-index:2}.story-copy h2{font-size:clamp(43px,4.45vw,68px);margin-bottom:32px;line-height:1.05}.story-copy h2 em{color:var(--evergreen)}.story-copy>p:not(.eyebrow){font-size:24px;color:var(--stone);line-height:1.4;max-width:535px}.story-copy .eyebrow{font-size:10px}.principles{padding-bottom:120px}.principles h2{font-size:clamp(45px,4.6vw,70px);margin-bottom:60px}.principles h2 em{color:var(--evergreen)}.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.principle-grid article{border-top:1px solid var(--rule);padding-top:27px}.principle-index{font:11px PlexMono,monospace;color:var(--copper-text)}.principle-grid h3{font-size:40px;margin:27px 0 20px;color:var(--evergreen)}.principle-grid p{font-size:23px;max-width:290px;color:var(--stone)}
/* An honest contact tool: preparing a brief, never pretending to submit it. */
.contact-intro{padding-bottom:100px;grid-template-columns:1fr}.contact-layout{padding-bottom:130px;display:grid;grid-template-columns:30% 1fr;gap:10%;align-items:start}.contact-aside{padding-top:32px;border-top:1px solid var(--rule)}.contact-aside .eyebrow{font-size:10px}.contact-aside h2{font-size:32px;line-height:1.15;margin-bottom:27px;color:var(--evergreen)}.contact-aside>p:not(.eyebrow){font-size:20px;margin-bottom:19px}.contact-aside address{font-size:21px;line-height:1.5;font-style:normal;color:var(--stone)}.contact-aside .address-note{font:10px/1.5 PublicSans,sans-serif;color:var(--stone);margin-top:25px}.contact-aside img{margin-top:50px;opacity:.6}.enquiry-tool{padding-top:25px;border-top:1px solid var(--rule)}.enquiry-tool>h2{font-size:43px;margin-bottom:24px;color:var(--evergreen)}.enquiry-tool>p{font-size:23px;max-width:580px;color:var(--stone);line-height:1.4}.enquiry-form{margin-top:40px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.field{display:flex;flex-direction:column;margin-bottom:28px}.field label{display:flex;align-items:center;justify-content:space-between;gap:10px;font:11px/1.5 PublicSans,sans-serif;margin-bottom:12px;color:var(--ink)}.field label span{font-size:9px;color:var(--stone)}.field input,.field select,.field textarea{border:1px solid var(--rule);background:var(--paper);border-radius:0;min-height:52px;padding:12px 14px;color:var(--ink);width:100%;font-size:21px;line-height:1.4}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--jade)}.field textarea{resize:vertical;min-height:155px}.field textarea::placeholder{color:var(--stone);font-size:20px;opacity:.85}.field input:focus,.field select:focus,.field textarea:focus{outline-color:var(--jade);outline-offset:3px}.field select{font-size:19px;padding-right:22px}.form-note{font:10px/1.7 PublicSans,sans-serif;color:var(--stone);max-width:500px;margin-bottom:25px}.form-note a{text-decoration:underline;text-underline-offset:3px;display:inline-flex;min-height:28px;align-items:center}.brief-result{margin-top:35px}.brief-result[hidden]{display:none}.brief-result h3{font-size:35px;line-height:1.08;color:var(--evergreen);margin-bottom:22px}.brief-result>p{font-size:21px;color:var(--stone)}.brief-result pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;font:13px/1.7 PlexMono,monospace;padding:26px;background:var(--mist);margin:30px 0}.brief-actions{display:flex;gap:10px;flex-wrap:wrap}.brief-status{font:11px/1.5 PublicSans,sans-serif;min-height:30px;padding-top:17px}.tool-notice{padding:20px;background:var(--mist);font-size:21px;margin-top:25px}.privacy-intro{grid-template-columns:1fr;padding-bottom:70px}.privacy-intro h1{max-width:900px}.privacy-copy{padding-bottom:100px;max-width:1050px}.privacy-copy section{padding:37px 0;border-top:1px solid var(--rule)}.privacy-copy h2{font-size:37px;margin-bottom:23px;color:var(--evergreen)}.privacy-copy p{font-size:23px;line-height:1.45;max-width:750px;color:var(--stone)}.privacy-copy .text-link{margin-top:15px}.not-found{padding-bottom:60px;grid-template-columns:1fr}.not-found-link{padding-bottom:100px}
/* The back of the instrument. */
.site-footer{background:var(--abyss);color:var(--paper);padding:82px var(--gutter) 18px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:70px;border-bottom:1px solid #bfd8cc35}.footer-thought{font-size:clamp(40px,4.2vw,64px);line-height:1.08;letter-spacing:-.02em}.footer-thought em{color:var(--celadon)}.footer-main{display:grid;grid-template-columns:1.1fr 1fr .7fr 1fr;gap:40px;padding:62px 0;align-items:start}.footer-brand{width:190px;display:block}.footer-brand img{height:auto;width:190px}.footer-description{font-size:23px;color:var(--celadon);line-height:1.5}.footer-main nav{display:grid;gap:3px}.footer-main nav a{font:11px/1.5 PublicSans,sans-serif;min-height:35px;display:flex;align-items:center;color:var(--celadon)}.footer-main nav a:hover{color:var(--paper)}.footer-detail .eyebrow{font-size:9px;letter-spacing:.08em;color:var(--paper);margin:6px 0 22px;line-height:1.6}.footer-detail>p:not(.eyebrow){font-size:20px;color:var(--celadon);line-height:1.5}.footer-bottom{border-top:1px solid #bfd8cc35;padding-top:16px;display:flex;align-items:center;gap:40px;font:9px/1.6 PublicSans,sans-serif;color:var(--celadon)}.footer-bottom>a{min-height:44px;display:flex;align-items:center}.footer-bottom .back-top{margin-left:auto;gap:12px}.back-top svg{width:14px;height:18px;transform:rotate(180deg)}
.reveal{transition:transform var(--section-dur) var(--out),opacity var(--section-dur) var(--soft)}.reveal.waiting{opacity:0;transform:translateY(22px)}.reveal.entered{opacity:1;transform:none}.service-row.reveal{transition-duration:850ms}.service-row.reveal .service-art{transition:transform 1300ms var(--inout)}.service-row.waiting .service-art{transform:translateY(18px)}@view-transition{navigation:auto}::view-transition-old(root){animation:220ms var(--soft) both gentle-exit}::view-transition-new(root){animation:420ms var(--soft) both gentle-arrival}@keyframes gentle-exit{to{opacity:0;transform:translateY(-5px)}}
@media(min-width:1600px){.hero{padding-left:calc((100vw - 1440px)/2 + 72px);padding-right:calc((100vw - 1440px)/2 + 72px)}.site-header{padding-left:calc((100vw - 1440px)/2 + 72px);padding-right:calc((100vw - 1440px)/2 + 72px)}.hero-art{right:calc((100vw - 1440px)/2 - 60px)}.hero-art-caption{right:calc((100vw - 1440px)/2 + 72px)}.hero-bottom{left:calc((100vw - 1440px)/2 + 72px);right:calc((100vw - 1440px)/2 + 72px)}}
@media(max-width:1280px){.desktop-nav{gap:30px;margin-right:40px}.hero{padding-top:63px}.hero-art{right:-11vw;top:0;min-width:620px;min-height:620px}.hero-title{font-size:clamp(75px,8.7vw,112px)}.hero-intro{font-size:22px;max-width:325px}.service-row{grid-template-columns:55px 1fr 260px;gap:25px}.thesis{column-gap:7%}.thesis-body{font-size:23px}.hero-art-caption{bottom:145px}.firm-story{gap:8%}.footer-main{gap:25px}}
@media(max-width:980px){.desktop-nav{gap:22px;margin-right:30px}.header-contact{gap:15px;padding:10px 12px;font-size:10px}.brand,.brand img{width:150px}.hero{min-height:810px}.hero-copy{width:61%;max-width:580px}.hero-art{width:650px;height:650px;right:-190px;top:80px;opacity:.75}.hero-art-caption{width:32%;bottom:130px}.hero-title{font-size:91px}.thesis{grid-template-columns:1.05fr .95fr;gap:60px 6%}.thesis h2{font-size:53px}.thesis-body{font-size:22px;padding-top:43px}.service-row{grid-template-columns:36px 1fr 200px;gap:20px}.service-copy>p:not(.eyebrow){font-size:23px}.service-art{height:225px}.discipline-strip span{font-size:10px}.perspective-plate{height:560px}.firm-teaser{grid-template-columns:.6fr 1.4fr;gap:6%}.firm-seal img{width:150px;height:150px}.page-intro{grid-template-columns:1fr 26%;padding-top:80px}.page-intro h1{font-size:77px}.page-intro .service-diagram{height:240px}.expertise-detail .service-row{grid-template-columns:36px 1fr 25%;gap:20px}.engagement-note>p{padding-left:56px}.approach-layout{gap:7%;grid-template-columns:26% 1fr}.approach-step{gap:18px;grid-template-columns:33px 1fr}.approach-aside .eyebrow{font-size:9px}.firm-story{grid-template-columns:.75fr 1fr;gap:7%}.story-image{height:470px}.story-copy h2{font-size:49px}.story-copy>p:not(.eyebrow){font-size:22px}.principle-grid{gap:25px}.contact-layout{gap:7%;grid-template-columns:28% 1fr}.form-grid{grid-template-columns:1fr;gap:0}.footer-main{grid-template-columns:1fr 1fr 1fr;row-gap:40px}.footer-detail{display:none}.footer-brand,.footer-brand img{width:150px}.footer-description{font-size:22px}}
@media(max-width:760px){:root{--gutter:25px;--section-space:75px}body{font-size:21px}.site-header{height:82px;justify-content:space-between}.brand,.brand img{width:145px;height:48px}.desktop-nav,.header-contact{display:none}.menu-toggle{display:flex;align-items:center;gap:16px;font:10px PublicSans,sans-serif;letter-spacing:.08em;padding:10px 0 10px 15px;min-height:44px}.menu-bars{width:22px;height:12px;position:relative;border-top:1px solid var(--celadon);border-bottom:1px solid var(--celadon);transition:transform 220ms var(--snap)}.menu-toggle[aria-expanded=true] .menu-bars{transform:rotate(90deg)}.mobile-nav{display:flex;position:absolute;top:82px;left:0;right:0;flex-direction:column;background:var(--abyss);border-bottom:1px solid #bfd8cc50;padding:26px var(--gutter) 35px;box-shadow:0 25px 40px #052a2140}.mobile-nav a{display:flex;justify-content:space-between;align-items:center;font-family:Garamond,GaramondFallback,Georgia,serif;font-size:32px;letter-spacing:-.02em;min-height:63px;border-bottom:1px solid #bfd8cc25}.mobile-nav a:last-child{font:12px PublicSans,sans-serif;margin-top:20px;border:1px solid #bfd8cc50;padding:15px;min-height:54px}.hero{min-height:0;padding:55px var(--gutter) 0;overflow:hidden}.hero-copy{width:100%;max-width:none}.hero-copy .eyebrow{font-size:10px;margin-bottom:30px}.hero-title{font-size:clamp(76px,16.4vw,106px);line-height:.96;letter-spacing:-.025em}.hero-intro{font-size:22px;max-width:320px;margin-top:30px}.hero-copy .button{margin-top:27px;min-width:233px}.hero-art{position:relative;top:auto;right:auto;margin:-2px -65px -40px;width:calc(100% + 130px);height:auto;aspect-ratio:1;min-width:0;min-height:0;max-width:none;max-height:none;opacity:1}.hero-art-caption{position:relative;right:auto;bottom:auto;width:100%;max-width:none;margin-top:0;gap:20px;padding-bottom:30px}.hero-art-caption>span:first-child{font-size:10px}.hero-bottom{position:relative;left:auto;right:auto;bottom:auto;padding:16px 0 19px;gap:8px}.hero-bottom a,.motion-toggle{font-size:9px;letter-spacing:.01em;gap:9px}.hero-bottom a svg{width:14px}.motion-toggle{padding-left:5px}.thesis{padding-top:78px;padding-bottom:38px;grid-template-columns:1fr;gap:30px}.thesis .eyebrow{font-size:10px}.thesis h2{font-size:clamp(45px,9.9vw,61px);line-height:1.05}.thesis-body{padding-top:0;max-width:none;font-size:23px;line-height:1.42}.thesis-body p+p{font-size:22px}.discipline-strip{margin-top:12px;grid-column:1;display:grid;gap:16px;padding:25px 0}.discipline-strip span{font-size:10px}.section-index{margin-right:18px}.expertise-section{padding-top:43px;padding-bottom:75px}.section-heading{padding-bottom:40px}.section-heading h2{font-size:43px;line-height:1.06}.section-heading .eyebrow{font-size:10px;margin-bottom:23px}.service-row{grid-template-columns:28px 1fr;gap:18px;padding:35px 0 30px;position:relative}.service-number{font-size:11px;padding-top:1px}.service-copy .eyebrow{font-size:9px;letter-spacing:.12em;margin-bottom:20px;line-height:1.6}.service-copy h3,.service-copy h2{font-size:37px;line-height:1.08;letter-spacing:-.025em;margin-bottom:20px}.service-copy>p:not(.eyebrow){font-size:23px;line-height:1.42}.service-copy .text-link{font-size:11px;min-width:210px;gap:27px;margin-top:19px}.service-art{grid-column:2;justify-self:end;height:158px;width:180px;margin-top:0;margin-bottom:-5px}.perspective-plate{height:550px}.plate-content{left:var(--gutter);right:var(--gutter);max-width:none}.plate-content .eyebrow{font-size:10px;margin-bottom:30px}.plate-content h2{font-size:50px;line-height:1.05}.plate-content>p:not(.eyebrow){font-size:23px;max-width:290px;margin-top:28px}.plate-image>img{object-position:65% 50%}.plate-image:after{background:linear-gradient(90deg,#052a21bd,#052a218c),linear-gradient(0deg,#052a218c,transparent 40%)}.plate-engraving{background-size:580px;background-position:70% 60%;opacity:.1}.plate-caption{font-size:8px;left:var(--gutter);right:auto;bottom:25px}.firm-teaser{grid-template-columns:1fr;padding-top:70px;padding-bottom:70px;gap:45px}.firm-seal{justify-content:flex-start}.firm-seal img{width:105px;height:105px}.firm-teaser .eyebrow{font-size:9px}.firm-teaser h2{font-size:46px;line-height:1.04}.firm-teaser>div>p:not(.eyebrow){font-size:23px;margin-top:27px}.closing-cta{padding:45px var(--gutter);gap:30px;align-items:flex-start;flex-direction:column}.closing-cta .eyebrow{font-size:9px;margin-bottom:23px}.closing-cta h2{font-size:43px;line-height:1.06}.round-link{width:88px;height:88px;font-size:10px;gap:9px}.round-link svg{width:20px;height:20px}.page-intro{padding-top:61px;padding-bottom:52px;grid-template-columns:1fr;gap:34px}.page-intro h1{font-size:clamp(58px,13.65vw,79px);line-height:1.02;letter-spacing:-.03em}.page-intro .eyebrow{font-size:10px;margin-bottom:30px}.page-intro>div>p:not(.eyebrow){font-size:24px;margin-top:29px;line-height:1.4}.page-intro>.service-diagram{height:190px;width:220px;justify-self:end;margin-top:-15px}.discipline-jump{grid-template-columns:1fr;margin:0 var(--gutter)}.discipline-jump a{min-height:62px;font-size:10px;padding:17px 0;gap:16px}.discipline-jump a+a{border-left:0;border-top:1px solid var(--rule);padding-left:0}.expertise-detail{padding-top:20px;padding-bottom:25px}.expertise-detail .service-row{grid-template-columns:28px 1fr;gap:18px;padding-bottom:25px}.expertise-detail .service-art{height:175px;margin-top:0;width:190px}.service-detail{padding-top:24px;margin-top:27px}.service-detail h3{font-size:27px;margin-bottom:16px}.service-detail p{font-size:22px}.scope-list{font-size:11px;gap:12px;line-height:1.65}.engagement-note{padding-bottom:65px}.engagement-note>p{padding-left:46px;font-size:19px}.approach-intro-art{width:240px;height:190px;justify-self:end;margin-top:-20px}.approach-layout{grid-template-columns:1fr;gap:38px;padding-bottom:70px}.approach-aside{padding-top:28px;display:grid;grid-template-columns:1fr 70px;gap:10px 20px}.approach-aside .eyebrow{grid-column:1;max-width:none;margin-bottom:6px}.approach-aside>p:not(.eyebrow){grid-column:1;font-size:21px;max-width:none}.approach-aside img{grid-column:2;grid-row:1/3;width:65px;height:65px;margin:9px 0 0}.approach-step{grid-template-columns:27px 1fr;gap:19px;padding:32px 0}.step-index{font-size:10px;padding-top:6px}.approach-step h2{font-size:36px;margin-bottom:23px;line-height:1.08}.approach-step>div>p{font-size:23px}.approach-step>div>.step-output{font-size:10px;line-height:1.65;margin-top:25px}.step-output>span{font-size:8px}.intro-seal{width:120px;height:120px;justify-self:start;margin-top:6px}.firm-intro{padding-bottom:60px}.firm-story{grid-template-columns:1fr;gap:45px;padding-bottom:70px}.story-image{height:360px;max-width:100%}.story-copy .eyebrow{font-size:9px}.story-copy h2{font-size:45px;line-height:1.05}.story-copy>p:not(.eyebrow){font-size:23px}.principles{padding-bottom:70px}.principles .eyebrow{font-size:10px}.principles h2{font-size:45px;line-height:1.04;margin-bottom:35px}.principle-grid{grid-template-columns:1fr;gap:32px}.principle-grid article{padding-top:24px;display:grid;grid-template-columns:30px 1fr;gap:0 16px}.principle-index{grid-column:1;padding-top:6px}.principle-grid h3{grid-column:2;margin:0 0 18px;font-size:34px}.principle-grid p{grid-column:2;max-width:none;font-size:22px}.contact-intro{padding-bottom:55px}.contact-layout{grid-template-columns:1fr;gap:45px;padding-bottom:70px}.contact-aside{display:grid;grid-template-columns:1fr 75px;column-gap:20px;padding-top:25px}.contact-aside .eyebrow,.contact-aside h2,.contact-aside p,.contact-aside address{grid-column:1}.contact-aside .eyebrow{margin-bottom:20px}.contact-aside h2{font-size:29px;margin-bottom:20px}.contact-aside address{font-size:21px}.contact-aside img{grid-column:2;grid-row:2/5;margin:12px 0 0;width:70px;height:70px}.contact-aside .address-note{font-size:9px;margin-top:21px;margin-bottom:0}.enquiry-tool{padding-top:29px}.enquiry-tool>h2{font-size:38px;margin-bottom:24px}.enquiry-tool>p{font-size:22px}.enquiry-form{margin-top:30px}.field{margin-bottom:23px}.field label{font-size:10px}.field select{font-size:18px}.form-note a{min-height:44px}.brief-result pre{font-size:11px;padding:18px}.brief-actions .button{font-size:11px;gap:15px;padding:13px 17px}.privacy-intro{padding-bottom:45px}.privacy-intro h1{font-size:54px}.privacy-copy{padding-bottom:70px}.privacy-copy h2{font-size:32px}.privacy-copy p{font-size:22px}.not-found h1{font-size:55px}.not-found-link{padding-bottom:70px}.site-footer{padding-top:55px}.footer-top{flex-direction:column;align-items:flex-start;gap:32px;padding-bottom:43px}.footer-thought{font-size:43px;line-height:1.08}.footer-top .button{font-size:11px;min-width:220px}.footer-main{grid-template-columns:1fr 1fr;gap:35px 22px;padding:42px 0}.footer-brand,.footer-brand img{width:130px}.footer-description{font-size:20px;line-height:1.4}.footer-main nav{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7px}.footer-main nav a{min-height:44px;font-size:11px}.footer-bottom{font-size:8px;gap:9px;flex-wrap:wrap;justify-content:space-between;padding-top:12px}.footer-bottom>span{width:100%;font-size:8px;line-height:1.6;margin-top:4px}.footer-bottom .back-top{margin-left:auto;gap:10px}.footer-bottom>a{font-size:9px}.footer-detail{display:none}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:100ms!important}.reveal.waiting{opacity:1;transform:none}.hero-art canvas{display:none}.hero-art.is-live img{opacity:.9}::view-transition-old(root),::view-transition-new(root){animation:none!important}}

.enquiry-form[hidden]{display:none}

/* Identity review refinements: protected mark area and reading roles. */
.site-header{height:120px}
.hero{min-height:calc(100svh - 120px);padding-top:60px;padding-bottom:100px}
.hero-art-caption{background:#052a21ed;padding:12px 15px}
.skip-link{opacity:0;pointer-events:none}
.skip-link:focus{opacity:1;pointer-events:auto}
.section-index,.service-number,.step-index,.principle-index,.discipline-jump a>span{font-family:PublicSans,Arial,sans-serif}
.form-note{font:18px/1.4 Garamond,GaramondFallback,Georgia,serif}
.form-note a{font:10px/1.5 PublicSans,sans-serif;margin-left:8px}
.approach-step>div>.step-output{font:20px/1.4 Garamond,GaramondFallback,Georgia,serif}
.step-output>span{font:9px/1.5 PublicSans,sans-serif}
.firm-seal img,.intro-seal,.approach-aside img,.contact-aside img{opacity:1}
@media(max-width:980px){.hero{min-height:810px}}
@media(max-width:760px){:root{--gutter:28px}.site-header{height:100px}.mobile-nav{top:100px}.hero{min-height:0;padding:55px var(--gutter) 0}.hero-art-caption{padding:12px 0 30px;background:transparent}.form-note{font-size:18px}.approach-step>div>.step-output{font-size:20px}.footer-bottom>span{font-size:10px}}

.nojs-mobile-nav{display:none}
@media(max-width:760px){.menu-toggle{display:none}.js .menu-toggle{display:flex}.hero-bottom a,.motion-toggle{min-height:44px}.form-note a,.footer-bottom>a{min-width:44px}.nojs-mobile-nav{display:flex;background:var(--abyss);color:var(--celadon);flex-wrap:wrap;padding:10px var(--gutter);gap:0 20px;font:11px PublicSans,sans-serif}.nojs-mobile-nav a{min-height:44px;display:flex;align-items:center}}

/* Visible focus must contrast with its reading surface. */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:var(--copper-text)}
.site-header :focus-visible,.hero :focus-visible,.site-footer :focus-visible{outline-color:var(--copper-light)}

/* Keep reading and control surfaces above the moving engraving. */
.hero-art-caption,.hero-bottom{z-index:3}
.hero-bottom{background:#052a21ed}
