@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{color-scheme:only light;--navy:#07233f;--green:#a2de5b;--ink:#142b40;--muted:#64717b;--paper:#f5f6f2;--line:#dce1df}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}html{background:#fff}body{background:#fff;margin:0;color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #66b62e;outline-offset:5px}img{max-width:100%;display:block}p{line-height:1.7;color:var(--muted)}h1,h2,h3{font-family:Manrope,sans-serif;margin:0;font-weight:600}h1{font-size:clamp(42px,4.4vw,72px);line-height:1.12;letter-spacing:-3px}h2{font-size:clamp(34px,3.4vw,51px);line-height:1.16;letter-spacing:-2px}h3{font-size:22px;line-height:1.4;letter-spacing:-.6px}em{font-style:normal;color:var(--green)}.topbar{display:flex;justify-content:space-between;padding:10px 5%;font-size:11px;letter-spacing:.3px;background:var(--navy);color:#e3e9eb}.dot{display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--green);margin:0 12px;vertical-align:middle}header{height:104px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:white;position:sticky;top:0;z-index:20;border-bottom:1px solid #e5e9e7}.logo{width:295px;height:auto}nav{display:flex;align-items:center;gap:34px;font-size:13px;font-weight:600}nav>a:not(.button):hover{color:#4e871e}.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:15px 25px;font-weight:600;font-size:13px;border:0;border-radius:3px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-2px)}.navy{background:var(--navy);color:white}.lime{background:var(--green);color:var(--navy)}.lime:hover{background:#b7eb7e}.hero{display:grid;grid-template-columns:49% 51%;background:var(--navy);color:white;min-height:610px}.hero-copy{padding:63px 8% 30px 10.2%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{display:block;font-size:10px;letter-spacing:2px;font-weight:600;line-height:1.8}.hero .eyebrow{color:#ccdbdf;font-size:9px;letter-spacing:1.7px;display:flex;align-items:center;gap:12px;margin-bottom:32px}.line{width:26px;height:2px;background:var(--green)}.hero h1{max-width:650px}.hero p{font-size:16px;color:#c0cbd4;margin:27px 0}.hero-actions{display:flex;align-items:center;gap:30px}.text-link{font-size:13px;font-weight:600;border:0;border-bottom:1px solid currentColor;background:transparent;padding:4px 0;display:inline-block}.hero-foot{margin-top:auto;padding-top:55px;display:flex;gap:32px;font-size:8px;color:#b7c3cc;letter-spacing:1.3px}.hero-image{position:relative;min-height:580px;overflow:hidden}.hero-image>img{width:100%;height:100%;object-fit:cover;position:absolute;object-position:65% center}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,24,40,.8),transparent 60%)}.crosshair{position:absolute;top:28px;right:30px;width:28px;height:28px;border-top:1px solid #fff9;border-right:1px solid #fff9;z-index:1}.image-label{position:absolute;left:35px;bottom:76px;z-index:2;display:grid;gap:9px}.image-label span{font-size:10px;letter-spacing:1px}.image-label strong{font-size:27px;font-weight:500}.image-project{position:absolute;bottom:0;left:0;right:0;border-top:1px solid #ffffff40;padding:20px 35px;z-index:2;font-size:12px;display:flex;justify-content:space-between}.image-project span{font-size:20px;line-height:15px}.credentials{padding:30px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.credentials>span{font-size:9px;letter-spacing:1.6px;color:var(--muted)}.credentials>div{display:flex;gap:15px;align-items:center;border-left:1px solid var(--line);padding-left:30px}.credentials b{font-size:20px;font-weight:600;letter-spacing:-.8px}.credentials small{font-size:10px;color:var(--muted);max-width:100px;line-height:1.5}.section{padding:95px 6%}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:50px;margin-bottom:45px}.section-heading>.eyebrow{margin-bottom:20px}.section-heading .eyebrow{margin-bottom:20px;color:#547c36}.section-heading>p,.section-heading>div:last-child:not(:first-child){max-width:360px}.section-heading p{font-size:14px;margin:0}.service-layout{display:grid;grid-template-columns:38% 1fr;gap:7%}.service-photo{position:relative;height:430px;overflow:hidden}.service-photo img{height:100%;width:100%;object-fit:cover;object-position:50% 64%}.service-photo span{position:absolute;bottom:0;left:0;right:0;padding:20px;background:linear-gradient(transparent,#041b30bc);color:white;font-size:9px;letter-spacing:2px}.services details{border-top:1px solid var(--line)}summary{list-style:none;display:flex;align-items:center;gap:20px;padding:25px 0;cursor:pointer}summary::-webkit-details-marker{display:none}.number{font-size:11px;color:#7a8c99}.plus{margin-left:auto;font-size:24px;font-weight:400}.services details[open] .plus{transform:rotate(45deg);color:#5c9e2e}.service-body{padding:0 40px 25px}.service-body p{font-size:14px;margin:0 0 15px}.tags{display:flex;flex-wrap:wrap;gap:8px}.tags span{font-size:10px;border:1px solid #dde5da;padding:6px 10px;border-radius:2px}.services>.text-link{margin-top:20px}.work{background:var(--paper)}.filters{display:flex;gap:6px;margin-top:20px}.filters button{background:transparent;border:1px solid #d5dcd6;padding:8px 16px;border-radius:3px;font-size:11px}.filters button.active{background:var(--navy);border-color:var(--navy);color:white}.project-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:35px}.project{border:0;padding:0;background:transparent;text-align:left;color:inherit}.project[hidden]{display:none}.project-image{height:330px;position:relative;overflow:hidden}.project-image img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.project:hover img{transform:scale(1.025)}.project-open{position:absolute;right:16px;bottom:16px;width:36px;height:36px;display:grid;place-items:center;background:white;font-size:25px;border-radius:50%}.render-tag{position:absolute;top:15px;left:15px;font-size:8px;letter-spacing:1px;padding:8px 10px;background:#ffffffe6}.project-meta{display:flex;justify-content:space-between;margin:22px 0 12px;font-size:8px;letter-spacing:1.5px;color:#637362}.project h3{font-size:23px}.project p{font-size:12px;margin:9px 0}.other-work{margin-top:40px;border-top:1px solid #cfd6cc;display:grid;grid-template-columns:1fr 2fr auto auto;align-items:center;gap:30px;padding-top:30px}.other-work>span{font-size:8px;letter-spacing:1.5px;max-width:130px;line-height:1.8}.other-work h3{font-size:16px}.other-work p{font-size:12px}.other-work button{font-size:11px}.firm{display:grid;grid-template-columns:1.1fr 1fr;gap:12%;background:var(--navy);color:white;position:relative;overflow:hidden}.firm .eyebrow{color:#b7ceaf;margin-bottom:25px}.firm p{font-size:14px;max-width:520px;color:#c2ced7}.firm .button{margin-top:20px}.firm-right{display:flex;flex-direction:column;justify-content:space-between}.blueprint{position:relative;min-height:250px;background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:27px 27px;overflow:hidden;display:grid;place-items:center}.plan-circle{width:205px;height:205px;border:1px solid #a2de5b99;border-radius:50%;position:absolute;transform:rotate(-30deg)}.plan-circle:before{content:'';position:absolute;inset:35px -50px;border:1px solid #a2de5b80}.plan-circle:after{content:'';position:absolute;inset:-30px 60px;border:1px solid #ffffff40}.blueprint span{z-index:2;padding:12px;background:var(--navy);font-size:9px;letter-spacing:3px}.firm-stat{border-top:1px solid #ffffff30;padding-top:25px;display:grid;gap:12px}.firm-stat b{font-size:28px;font-weight:500}.firm-stat span{font-size:13px;line-height:1.7;color:#b8c6ce;max-width:340px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.portrait{background:#f4f5f1;margin-bottom:25px;padding:20px;height:280px;display:flex;align-items:center;justify-content:center;overflow:hidden}.portrait img{height:100%;width:auto;object-fit:contain;mix-blend-mode:multiply}.team-grid .eyebrow{font-size:8px;color:#638244;letter-spacing:1.5px}.team-grid h3{font-size:19px;margin-top:8px}.team-grid p{font-size:12px;line-height:1.8}.contact{background:#edf1e9;display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact .eyebrow{color:#4c7839;margin-bottom:26px}.contact h2{font-size:clamp(40px,4.5vw,64px)}.contact em{color:#53832d}.contact p{font-size:14px;max-width:320px;margin:24px 0}.email{display:inline-block;font-size:22px;border-bottom:1px solid #91a38d;margin-top:12px;padding-bottom:5px;letter-spacing:-.6px}.contact-details{display:flex;gap:35px;margin-top:25px;font-size:12px;line-height:1.9}.contact-details span{color:var(--muted)}form{background:white;padding:35px;border:1px solid #e1e5dc}form h3{font-size:23px;margin-bottom:28px}label{display:block;font-size:11px;font-weight:600;margin-bottom:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}input,textarea,select{width:100%;border:0;border-bottom:1px solid #ced6d2;background:white;color:var(--navy);padding:12px 0;font-size:13px;border-radius:0;outline-offset:4px}input:focus,textarea:focus,select:focus{outline:2px solid #76aa48}textarea{resize:vertical}form>.button{width:100%}.contact form .form-note{font-size:10px;line-height:1.6;margin:13px 0 0;max-width:none}footer{padding:45px 6% 20px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-bottom:35px}.footer-main img{width:250px;height:auto}.footer-main>span{font-size:12px;line-height:1.7;color:var(--muted)}.footer-main>a:not(:first-child){font-size:12px}.footer-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}#menu{display:none}.skip{position:fixed;top:-100px;background:white;padding:15px;z-index:100}.skip:focus{top:0}dialog{max-width:750px;width:90%;padding:0;border:0;color:var(--navy);max-height:90vh;overflow:auto}dialog::backdrop{background:#02192bd1;backdrop-filter:blur(5px)}dialog>img{width:100%;max-height:330px;object-fit:cover}.dialog-copy{padding:35px}.dialog-copy h2{font-size:32px;margin:15px 0}.dialog-copy p{font-size:15px}.close-dialog{position:absolute;right:15px;top:15px;border:0;border-radius:50%;background:white;width:38px;height:38px;font-size:26px;box-shadow:0 2px 20px #0002}
@media(min-width:1500px){.hero-copy{padding-top:85px}.hero{min-height:720px}}@media(max-width:1000px){nav{gap:18px}.logo{width:240px}.hero-copy{padding-top:50px}h1{font-size:47px;letter-spacing:-2px}.credentials>div{padding-left:20px;display:grid;gap:5px}.credentials small{max-width:150px}.section{padding:70px 5%}.other-work{grid-template-columns:1fr 2fr}.portrait{height:220px}.contact{gap:6%}.form-row{grid-template-columns:1fr;gap:0}form{padding:25px}.hero-foot{gap:20px;font-size:7px}}
@media(max-width:720px){html{scroll-padding-top:80px}.topbar{padding:9px 5%;font-size:9px;justify-content:center}.topbar>a{display:none}header{height:78px}.logo{width:235px}#menu{display:flex;flex-direction:column;gap:6px;border:0;background:none;padding:12px}#menu span{display:block;width:23px;height:2px;background:var(--navy)}nav{display:none;position:absolute;top:78px;left:0;right:0;background:white;padding:25px 6%;box-shadow:0 12px 20px #001b3020;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{padding:16px 0;border-bottom:1px solid #eef0ec}nav .button{margin-top:12px;padding:15px}.hero{display:flex;flex-direction:column}.hero-copy{padding:40px 6% 27px}.hero .eyebrow{margin-bottom:25px;font-size:8px}h1{font-size:clamp(42px,10vw,64px);letter-spacing:-2px;line-height:1.13}.hero p{font-size:14px;margin:22px 0}.hero-actions{gap:25px}.hero-foot{padding-top:35px;gap:25px}.hero-image{min-height:335px}.hero-image>img{object-position:center 60%}.image-label{left:24px;bottom:72px}.image-label strong{font-size:23px}.image-project{padding:18px 24px}.credentials{display:grid;grid-template-columns:1fr 1fr;padding:24px 6%;gap:20px}.credentials>span{grid-column:1/-1}.credentials>div{padding-left:13px;min-height:45px}.credentials>div:last-child{grid-column:1/-1;display:flex;gap:20px}.credentials b{font-size:18px}.credentials small{font-size:9px}.section{padding:57px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading .eyebrow{margin-bottom:16px}h2{font-size:34px;letter-spacing:-1.5px}.section-heading>p,.section-heading>div:last-child:not(:first-child){margin-top:20px;max-width:none}.section-heading p{font-size:13px}.service-layout{display:flex;flex-direction:column;gap:27px}.service-photo{height:245px}.service-photo img{object-position:center 65%}summary{gap:15px;padding:21px 0}summary h3{font-size:18px}.service-body{padding:0 0 23px 28px}.project-grid{grid-template-columns:1fr;gap:32px}.project-image{height:275px}.project h3{font-size:21px}.project-meta{margin-top:17px}.other-work{gap:12px;grid-template-columns:1fr 1fr}.other-work h3{grid-column:1/-1;grid-row:2}.other-work p{text-align:right;margin:0}.other-work button{justify-self:start}.firm{grid-template-columns:1fr;gap:35px}.firm-right{gap:25px}.blueprint{min-height:190px}.team-grid{grid-template-columns:1fr;gap:32px}.portrait{height:290px}.team-grid h3{font-size:21px}.team-grid p{font-size:13px;max-width:400px}.team-grid .eyebrow{font-size:9px}.contact{grid-template-columns:1fr;gap:32px}.contact h2{font-size:45px}.contact p{max-width:none}.email{font-size:21px}.contact-details{gap:25px}form{padding:25px 20px}.form-row{grid-template-columns:1fr}input,textarea,select{font-size:16px;padding:14px 0}label{font-size:12px}.footer-main{flex-wrap:wrap;gap:25px}.footer-main>a:first-child{width:100%}.footer-main>span{width:100%}.footer-main img{width:250px}.footer-bottom{flex-wrap:wrap;gap:18px;font-size:9px}.footer-bottom>span:nth-child(2){display:none}.footer-bottom>a{margin-left:auto}.dialog-copy{padding:25px}.dialog-copy h2{font-size:27px}dialog>img{height:230px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Explicit surfaces prevent transparent sections inheriting a host webview canvas. */
.credentials,.expertise,.people,footer{background:#fff;color:var(--ink)}
.work{background:var(--paper);color:var(--ink)}
.contact{background:#edf1e9;color:var(--ink)}

/* Consistent editorial team portraits, with the complete generated framing. */
.portrait{padding:0;height:auto;aspect-ratio:4 / 5;background:#e8e7e2;overflow:hidden}
.portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top;mix-blend-mode:normal}
@media(max-width:720px){.portrait{height:auto;aspect-ratio:4 / 5;max-height:none}.team-grid{gap:38px}}
