:root{--ink:#101110;--paper:#f3eadc;--muted:#b5b2a9;--line:#383a34;--accent:#ccdb91;--text:#282a26}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--ink);color:var(--paper);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #8eab46;outline-offset:6px}::selection{background:var(--accent);color:var(--ink)}.shell{width:min(1280px,calc(100% - 112px));margin-inline:auto}header{height:126px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{width:222px;display:block}.brand img{display:block;width:100%;height:auto}nav{display:flex;align-items:center;gap:40px;font-size:14px}nav>a{padding:12px 0}nav>a:hover{color:var(--accent)}.nav-contact{margin-left:26px}.nav-contact span{margin-left:14px}.hero{padding-top:76px}.eyebrow{font-size:12px;letter-spacing:.14em;line-height:1.6;font-weight:600;margin:0}.hero .eyebrow{display:flex;align-items:center;gap:16px}.rule{display:block;width:36px;height:1px;background:var(--accent)}h1{font-size:clamp(64px,8.7vw,124px);line-height:1.04;letter-spacing:-.065em;font-weight:400;margin:36px 0 36px}h1 em,h2 em{font-family:Georgia,'Times New Roman',serif;font-weight:400}h1 em{color:var(--accent);letter-spacing:-.065em}.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:72px}.hero-bottom p{max-width:560px;color:var(--muted);font-size:18px;line-height:1.7;margin:0}.button{display:inline-flex;justify-content:space-between;gap:40px;align-items:center;background:var(--paper);color:var(--ink);padding:22px 26px;font-size:15px;white-space:nowrap;transition:background .2s,transform .2s}.button:hover{background:var(--accent);transform:translateY(-2px)}.button span{font-size:23px;line-height:1}.hero-caption{border-top:1px solid var(--line);padding:23px 0;display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.12em;color:var(--muted)}.light{background:var(--paper);color:var(--text)}.expertise{padding:90px 0 74px}.section-heading{display:grid;grid-template-columns:1fr 1.8fr 1.35fr;gap:36px;align-items:start;margin-bottom:60px}.section-heading .eyebrow{padding-top:7px}h2{font-size:clamp(36px,3.7vw,52px);font-weight:400;line-height:1.12;letter-spacing:-.045em;margin:0}.section-heading>p:last-child{font-size:16px;line-height:1.75;margin:4px 0 0;color:#595b51}.services article{display:grid;grid-template-columns:1fr 1.8fr 1.35fr;gap:36px;padding:31px 0 34px;border-top:1px solid #cfc8bb}.number{font-size:13px;padding-top:5px;color:#67695e}.services h3{font-size:24px;letter-spacing:-.025em;font-weight:400;margin:0 0 13px}.services p{font-size:16px;line-height:1.75;margin:0;color:#595b51;max-width:570px}.service-tag{justify-self:end;font-size:11px;letter-spacing:.1em;margin-top:8px;color:#66685b}.approach{padding-top:94px;padding-bottom:94px;display:grid;grid-template-columns:1fr 1fr;gap:90px}.approach h2{font-size:clamp(42px,4.8vw,66px);margin-top:29px}.approach-copy .lead{font-size:24px;line-height:1.45;color:var(--paper);margin-top:0;letter-spacing:-.02em}.approach-copy p{font-size:16px;line-height:1.85;color:var(--muted)}.principles{display:flex;flex-wrap:wrap;gap:12px 24px;border-top:1px solid var(--line);padding-top:24px;margin-top:30px;font-size:13px;color:var(--accent)}.contact{padding:68px 0 76px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-top:27px;align-items:center}.contact h2{font-size:clamp(52px,6vw,84px)}.contact-grid p{font-size:17px;line-height:1.8}.contact-pending{border-top:1px solid #cfc8bb;padding-top:20px;color:#646659}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:98px;font-size:12px;color:var(--muted)}.skip{position:absolute;top:-100px;left:16px;background:var(--paper);color:var(--ink);padding:14px;z-index:10}.skip:focus{top:16px}@media(min-width:1600px){.hero{padding-top:90px}}@media(max-width:1000px){.shell{width:calc(100% - 64px)}.hero{padding-top:60px}.hero-bottom{align-items:flex-start;flex-direction:column;gap:30px;margin-bottom:50px}.section-heading{grid-template-columns:1fr 2fr}.section-heading>p:last-child{grid-column:2}.services article{grid-template-columns:70px 1fr}.service-tag{grid-column:2;justify-self:start;margin:0}.approach,.contact-grid{gap:45px}.hero-caption{font-size:10px}.nav-contact{margin-left:0}}@media(max-width:600px){.shell{width:calc(100% - 40px)}header{height:96px}.brand{width:166px}nav{gap:0}nav>a:not(.nav-contact){display:none}.nav-contact{font-size:13px}.nav-contact span{margin-left:6px}.hero{padding-top:42px}h1{font-size:clamp(53px,11.7vw,72px);margin:29px 0 26px}.eyebrow{font-size:11px}.hero-bottom p{font-size:16px}.desktop{display:none}.button{padding:19px 23px;min-width:250px}.hero-caption{line-height:1.6;padding:20px 0}.hero-caption span:last-child{display:none}.expertise{padding:52px 0 32px}.section-heading{display:block;margin-bottom:34px}.section-heading h2{margin:24px 0 22px}.services article{grid-template-columns:28px 1fr;gap:14px;padding:26px 0}.services h3{font-size:23px}.services p{font-size:16px}.service-tag{font-size:10px}.approach{display:block;padding-top:55px;padding-bottom:54px}.approach h2{margin:22px 0 35px}.approach-copy .lead{font-size:22px}.contact{padding:45px 0}.contact-grid{display:block;margin-top:24px}.contact-grid>div{margin-top:25px}.contact-grid p{font-size:16px}footer{padding-top:25px;padding-bottom:25px;flex-wrap:wrap;font-size:11px}footer>span:nth-child(2){display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
.brand img{mix-blend-mode:lighten}
.eyebrow,.hero-caption,.service-tag,.number,footer,.nav-contact{font-size:max(12px,.75rem)}

.profile{margin:32px 0 0;max-width:280px}.profile img{display:block;width:100%;height:auto;border-radius:3px}.profile figcaption{display:flex;justify-content:space-between;gap:15px;margin-top:14px;font-size:13px;color:var(--muted)}.profile figcaption a{color:var(--accent)}.profile figcaption a:hover{text-decoration:underline}@media(max-width:600px){.profile{max-width:240px;margin:0 0 35px}.profile figcaption{font-size:12px}}
.profile{width:100%;max-width:280px;min-width:0}.approach>div{min-width:0}@media(min-width:601px) and (max-width:1000px){header .brand{width:180px;flex-shrink:0}nav{gap:20px}}@media(min-width:601px) and (max-width:800px){.approach{grid-template-columns:1fr}.profile{max-width:240px}}
