@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(assets/heebo-1.woff2) format('truetype');
}
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/heebo-2.woff2) format('truetype');
}
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/heebo-3.woff2) format('truetype');
}
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/heebo-4.woff2) format('truetype');
}
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/heebo-5.woff2) format('truetype');
}
@font-face {
  font-family: 'Heebo';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(assets/heebo-6.woff2) format('truetype');
}

:root{--navy:#172e3c;--ink:#213644;--cream:#f7f5ef;--gold:#b6a078;--line:#d9dcd8}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Heebo,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b9954e;outline-offset:5px}header{height:100px;padding:0 5.5%;display:flex;justify-content:space-between;align-items:center;background:var(--cream);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:15px}.brand b{font-size:22px;display:block;font-weight:500}.brand small{display:block;font-size:10px;letter-spacing:.8px;margin-top:4px}.mark{font-family:Georgia,serif;font-size:36px;direction:ltr;border-left:1px solid #a8b0b2;padding-left:18px;line-height:1}.mark span{font-size:10px;color:var(--gold);padding-left:2px}nav{display:flex;align-items:center;gap:32px;font-size:14px}.nav-contact{border:1px solid #a9b1b0;padding:13px 20px;min-width:140px;display:flex;justify-content:space-between}.menu{display:none}.hero{background:var(--navy);color:white;display:grid;grid-template-columns:1fr 1fr;padding:62px 5.5% 0;gap:0 5%}.hero-copy{padding:15px 0 45px}.eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.8px;margin-bottom:25px;font-weight:500}.eyebrow i{display:block;width:7px;height:7px;background:var(--gold)}h1{font-size:clamp(48px,5.5vw,83px);line-height:1.12;letter-spacing:-2px;font-weight:400;margin:0 0 30px}em{font-style:normal;color:#c6b28e}.hero-copy p{font-size:19px;line-height:1.8;color:#d9e0e2;margin:0 0 32px;font-weight:300}.button{display:inline-flex;align-items:center;gap:35px;justify-content:space-between;padding:16px 22px;font-size:14px}.light{background:var(--cream);color:var(--navy)}.button span{font-size:23px}.quiet{display:block;font-size:12px;color:#cbd4d8;margin-top:25px}.quiet span{margin-right:12px}.hero-image{position:relative;margin-bottom:35px;min-height:500px;overflow:hidden}.hero-image img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center;filter:saturate(.65)}.hero-image:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(11,30,41,.85))}.image-label{position:absolute;bottom:50px;right:28px;z-index:1}.image-label span{font-size:25px;display:block}.image-label small{font-size:12px;color:#e0e6e8}.image-note{position:absolute;bottom:17px;right:28px;z-index:1;font-size:10px;color:#cbd5d9}.hero-bottom{grid-column:1/-1;border-top:1px solid #425561;display:flex;justify-content:space-between;padding:23px 0;font-size:12px;color:#cfdbdf}.hero-bottom span:before{content:'+';color:#c9b38c;margin-left:13px}.section{padding:100px 5.5%;scroll-margin-top:20px}h2{font-size:clamp(30px,3vw,46px);line-height:1.3;font-weight:400;letter-spacing:-1px;margin:0}h2 span{color:#7b8585}.about{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;border-bottom:1px solid var(--line)}.about-text{padding-top:37px;max-width:520px}.about-text p{font-size:15px;line-height:1.9;color:#626f73}.about-text .lead{font-size:22px;color:var(--ink);line-height:1.7;margin-top:0}.text-link{font-size:13px;border-bottom:1px solid #a6afae;padding-bottom:9px;display:inline-flex;gap:50px;margin-top:15px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:48px}.section-heading>p{font-size:14px;line-height:1.8;color:#647278;margin:0}.expertise{background:#edeee8}.practice-list{margin-top:55px}.practice-list details{border-top:1px solid #c9d0cd}.practice-list details:last-child{border-bottom:1px solid #c9d0cd}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.practice-list summary{display:flex;align-items:center;gap:36px;padding:25px 0}.num{font-size:12px;direction:ltr;color:#778782;width:35px}.practice-list h3{font-size:25px;font-weight:400;margin:0}.plus{margin-right:auto;font-size:30px;font-weight:300;transition:transform .2s}.practice-list details[open] .plus{transform:rotate(45deg)}.practice-list details p{margin:0 70px 25px 45px;max-width:700px;line-height:1.9;color:#59696e;font-size:15px}.filters{display:flex;flex-wrap:wrap;gap:8px}.filters button{font-size:12px;background:transparent;border:1px solid #ccd1ce;color:var(--ink);padding:9px 15px;border-radius:25px}.filters button.active{background:var(--navy);color:white;border-color:var(--navy)}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:45px 30px}.project-photo{height:310px;position:relative;overflow:hidden;background:#e0e3df}.project-photo img{width:100%;height:100%;object-fit:cover;transition:transform .5s;filter:saturate(.7)}.project:hover img{transform:scale(1.03)}.project-photo>span{position:absolute;top:18px;right:18px;background:var(--cream);font-size:12px;padding:6px 14px}.project-info{padding:20px 0;border-bottom:1px solid var(--line)}.project-info small{color:#71817d;font-size:11px}.project-info h3{font-size:25px;font-weight:400;margin:9px 0 13px}.project-info summary{font-size:13px;display:flex;justify-content:space-between}.project-info p{font-size:14px;line-height:1.9;max-width:95%;color:#657276}.project-graphic{height:310px;background:#d5ded8;position:relative;padding:30px;background-image:repeating-linear-gradient(90deg,transparent,transparent 68px,#b6c6bd 69px,transparent 70px)}.project-graphic>span{font-size:12px}.project-graphic b{display:block;font-size:43px;font-weight:300;line-height:1.3;margin-top:35px}.project-graphic i{position:absolute;bottom:26px;left:35px;font-size:60px;font-style:normal;font-weight:300}.project-foot{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:26px 0;font-size:12px;color:#66757a}.team{background:#e9ece7}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.team-grid img{width:100%;height:350px;object-fit:cover;object-position:top;background:#d1d7d3;filter:grayscale(1)}.team-grid small{font-size:11px;color:#657a74;display:block;margin-top:20px}.team-grid h3{font-size:25px;font-weight:400;margin:6px 0}.team-grid p{font-size:13px;color:#69777a;margin:0 0 16px}.team-grid a{font-size:12px}.more-team{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #c9d2cd;margin-top:40px;padding-top:25px;font-size:12px;color:#677671}.more-team b{font-weight:500;color:var(--ink)}.contact{background:var(--navy);color:white;display:grid;grid-template-columns:1.5fr 1fr;gap:60px}.contact h2{font-size:clamp(35px,4vw,59px)}.contact p{font-size:14px;color:#ccd6da;margin:25px 0 30px}.contact-details{padding-top:50px;display:flex;flex-direction:column;align-items:flex-start;gap:15px;color:#d6dfe1;font-size:17px}.contact-details .phone{font-size:36px;color:white;font-weight:300}.address{border-top:1px solid #455b66;margin-top:10px;padding-top:24px;line-height:1.8;font-size:14px;width:100%}.map{font-size:12px}footer{padding:28px 5.5%;display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:12px}footer small{color:#71807d}footer a{font-size:11px}.skip{position:fixed;top:-60px;right:20px;background:white;padding:10px;z-index:20}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}a:hover{opacity:.8}nav a:hover{color:#8c7855}
@media(min-width:1550px){header,.section,.hero,footer{padding-left:calc((100vw - 1400px)/2);padding-right:calc((100vw - 1400px)/2)}}@media(max-width:1000px){nav{gap:17px;font-size:12px}.brand b{font-size:18px}.brand small{font-size:8px}.hero-image{min-height:440px}.team-grid img{height:280px}.section-heading{align-items:flex-start;flex-direction:column;gap:25px}.more-team{flex-wrap:wrap}}@media(max-width:700px){header{height:80px;padding:0 6%;position:relative;z-index:5}.brand{gap:10px}.mark{font-size:29px;padding-left:12px}.brand b{font-size:17px}.brand small{font-size:7px}.menu{display:block;background:none;border:1px solid #bbc2bd;padding:8px;font-size:12px;color:var(--ink)}nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--cream);padding:24px 6%;border-bottom:1px solid #cbd1cd;box-shadow:0 12px 20px #172e3c15}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:22px}.hero{padding:36px 6% 0;grid-template-columns:1fr;gap:0}.hero-copy{padding:0 0 30px}.hero .eyebrow{margin-bottom:20px}h1{font-size:55px}.hero-copy p{font-size:17px;margin-bottom:25px}.hero-image{min-height:350px;margin-bottom:25px}.hero-bottom{flex-wrap:wrap;gap:15px;font-size:10px;padding:20px 0}.hero-bottom span:before{margin-left:7px}.section{padding:65px 6%}.about{grid-template-columns:1fr;gap:20px}.about-text{padding-top:0}.about-text .lead{font-size:19px}.eyebrow{font-size:10px;margin-bottom:18px}h2{font-size:32px}.practice-list{margin-top:30px}.practice-list summary{gap:15px;padding:22px 0}.practice-list h3{font-size:19px}.num{width:24px}.practice-list details p{margin:0 40px 22px 15px;font-size:14px}.section-heading{margin-bottom:30px}.project-grid{grid-template-columns:1fr;gap:30px}.project-photo,.project-graphic{height:280px}.project-info h3{font-size:23px}.project-foot{gap:20px;font-size:10px}.filters{gap:6px}.filters button{font-size:11px;padding:8px 12px}.team-grid{grid-template-columns:1fr;gap:35px}.team-grid img{height:390px}.more-team{flex-direction:column;gap:15px}.contact{grid-template-columns:1fr;gap:10px}.contact-details{padding-top:30px}.contact-details .phone{font-size:33px}footer{padding:25px 6%;flex-wrap:wrap;line-height:1.8}.quiet{margin-top:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Accessibility and complete content */
:root{--muted:#536368} .brand small,.eyebrow,.num,.project-info small,.team-grid small,footer small{font-size:13px} .project-info small,.team-grid small,.num,footer small{color:#536368} .hero .eyebrow,.contact .eyebrow{color:#f7f5ef} .hero-copy p,.hero-bottom,.quiet{color:#e1e7e9} h2 span{color:#657071} .project-info h3{line-height:1.5} .full-copy{line-height:1.9;overflow-wrap:anywhere} .full-copy p{white-space:pre-line;font-size:16px;color:#43545b} .practice-list .full-copy{margin-right:70px;margin-left:35px;max-width:850px} .practice-list .full-copy p{margin:0 0 22px;font-size:16px} .team-grid details{margin:10px 0 15px} .team-grid summary{font-size:15px;padding:10px 0;text-decoration:underline;text-underline-offset:5px} .team-grid a{display:inline-block;min-height:44px;font-size:15px;text-decoration:underline;direction:ltr} .team-grid p{font-size:16px;line-height:1.9} .statement{max-width:1000px;margin:auto} .statement h1{font-size:48px} .statement h2{font-size:27px;margin-top:40px;margin-bottom:16px} .statement p,.statement li{font-size:18px;line-height:1.9} .statement a:not(.button){text-decoration:underline;text-underline-offset:4px} .statement li{margin-bottom:10px} main:focus{outline:none} summary,button,a{touch-action:manipulation} .filters button{min-height:44px} footer a,.project-foot a,.text-link,.map{min-height:44px;display:inline-flex;align-items:center} .filters{max-width:100%} header,.section,.hero,footer{min-width:0} .section>*{min-width:0} @media(max-width:700px){.practice-list .full-copy{margin-right:0;margin-left:0}.hero-bottom{font-size:13px}.brand small{font-size:10px}.project-photo{height:270px}.project-info h3{font-size:22px}.team-grid{grid-template-columns:1fr}.statement h1{font-size:38px}footer{flex-direction:column;align-items:flex-start}.brand b{font-size:16px}.menu{min-width:60px;min-height:44px}.contact-details .phone{font-size:30px}} @media(forced-colors:active){.button,button{border:1px solid ButtonText}:focus-visible{outline:3px solid Highlight}}

.section-heading>p,.project-foot{color:#4c5d63} a:hover{opacity:1} .hero-image{background:#172e3c}.hero-image:after{background:linear-gradient(transparent,rgba(11,30,41,.98))}.image-label,.image-note{background:rgba(11,30,41,.85);padding:6px 10px}.image-label{bottom:62px}.image-note{bottom:20px}.hero-copy,.hero-image,.brand,nav,.team-grid article,.project{min-width:0}h1,h2,h3,p,.brand,.button,summary,.hero-bottom,.contact-details,footer{overflow-wrap:anywhere}.button{max-width:100%;gap:20px}.contact-details a{max-width:100%;overflow-wrap:anywhere}.hero-bottom span{max-width:100%}@media(max-width:700px){header{height:auto;min-height:80px;gap:12px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}.brand{max-width:100%;flex:1}.brand>span:last-child{min-width:0}.brand small{letter-spacing:0}.hero-image{min-height:350px} .contact-details .phone{word-break:break-all}.practice-list summary{align-items:flex-start}.practice-list h3{flex:1;min-width:0}.hero-bottom{flex-direction:column}.project-foot{flex-wrap:wrap}nav{top:100%}}

.skip{max-width:calc(100vw - 40px);white-space:normal;overflow-wrap:anywhere}.image-label,.image-note{background:#142f3f}.project-photo>span{z-index:2}
