:root{--gold:#b48e2e;--gold-text:#866819;--gold-button:#e1c888;--tab:#ceab4a;--tab-active:#dfc888;--navy:#303c52;--ink:#1f2930;--dark:#373d3f;--charcoal:#3a3a3a;--text:#606773;--sand:#e9e0cb;--sand-wash:#f5f2ea;--zebra:#f5f5f5;--link:#3f70a1;--rule:#a9acb2;--field:#fafafa;--line:#ddd;--error:#c02b0a;--font:Montserrat, "Helvetica Neue", Arial, sans-serif;--wide:1280px;--narrow:1140px;--gutter:20px}*,:before,:after{box-sizing:border-box}*{margin:0}img,iframe,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}ul[class],.nav ul{padding:0;list-style:none}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);color:var(--text);background:#fff;flex-direction:column;min-height:100vh;font-size:16px;font-weight:500;line-height:2;display:flex}main{flex:1}h1,h2,h3,h4{font-weight:600;line-height:1.3}a{color:var(--link)}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}[tabindex="-1"]:focus{outline:none}.container{width:100%;max-width:calc(var(--wide) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.container.narrow{max-width:calc(var(--narrow) + 2 * var(--gutter))}.center{text-align:center}.skip{z-index:50;color:#fff;background:#000;padding:10px 14px;text-decoration:none;position:absolute;top:-100px;left:12px}.skip:focus{top:12px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.button{background:var(--gold-button);color:var(--dark);font-family:var(--font);letter-spacing:2px;text-transform:uppercase;cursor:pointer;border:1px solid #707070;border-radius:0;padding:16px 40px;font-size:12px;font-weight:500;line-height:1;text-decoration:none;display:inline-block}.button:hover{background:var(--tab-active)}.site-header{z-index:20;background:#fff;position:relative}.site-header .bar{justify-content:space-between;align-items:center;gap:24px;min-height:99px;padding:0 20px 0 40px;display:flex}.logo img{width:170px;height:auto}.nav,.nav>ul{align-items:center;display:flex}.nav li{position:relative}.nav>ul>li>a{color:var(--charcoal);padding:0 16px;line-height:70px;text-decoration:none;display:block}.nav a:hover,.nav a[aria-current=page]{color:var(--gold)}.nav .has-sub{align-items:center;display:flex}.nav .has-sub>a{padding-right:4px}.sub-toggle{color:var(--charcoal);cursor:pointer;background:0 0;border:0;padding:0 12px 0 2px;line-height:70px}.sub-toggle svg{width:11px;height:11px;transition:transform .2s}.sub{border-top:2px solid var(--gold);background:#fff;width:240px;padding:0;display:none;position:absolute;top:100%;left:0;box-shadow:0 4px 10px -2px #0000001a}.sub a{color:var(--charcoal);padding:12.6px 14px;font-size:14px;line-height:1.45;text-decoration:none;display:block}.sub li+li a{border-top:1px solid #eaeaea}.has-sub:hover>.sub,.has-sub:focus-within>.sub,.has-sub.open>.sub{display:block}.has-sub.open .sub-toggle svg{transform:rotate(180deg)}.nav .button{margin-left:24px;padding:15px 40px;font-size:13px}.menu-toggle{color:var(--charcoal);cursor:pointer;background:0 0;border:0;padding:10px;display:none}.menu-toggle svg{width:24px;height:24px}@media (width<=921px){.site-header .bar{flex-wrap:wrap;min-height:80px;padding:0 20px}.logo img{width:130px}.menu-toggle{display:block}.nav{flex-direction:column;flex-basis:100%;align-items:stretch;padding-bottom:20px;display:none}.nav.open{display:flex}.nav>ul{flex-direction:column;align-items:stretch}.nav>ul>li>a{border-top:1px solid #eaeaea;padding:0;line-height:50px}.nav .has-sub{border-top:1px solid #eaeaea;flex-wrap:wrap}.nav .has-sub>a{border-top:0;flex:1}.sub-toggle{padding:0 12px;line-height:50px}.sub{width:100%;box-shadow:none;border-top:0;flex-basis:100%;padding-left:16px;position:static}.has-sub:hover>.sub{display:none}.has-sub.open>.sub{display:block}.nav .button{text-align:center;margin:16px 0 0}}.band{isolation:isolate;background-color:var(--navy);color:#fff;align-items:center;display:flex;position:relative}.band:before{content:"";z-index:-2;background:var(--band-image) center / cover no-repeat;filter:grayscale();position:absolute;inset:0}.band:after{content:"";z-index:-1;background:#222222bf;position:absolute;inset:0}.band h1{color:var(--gold);font-size:60px;font-weight:800;line-height:1.4}.band .lede{color:#fff;font-size:20px;line-height:2}.hero{min-height:675px}.hero .lede{margin-top:20px}.page-band{text-align:center;min-height:max(50vh,300px);padding:40px var(--gutter);justify-content:center}.team-band{min-height:350px}.market-band{min-height:630px;padding:163px var(--gutter) 0;text-align:center;align-items:flex-start}.market-band .container{max-width:840px}.market-band .lede{margin-top:20px}@media (width<=921px){.band h1{font-size:44px}.hero{min-height:520px}.market-band{min-height:520px;padding-top:110px}}@media (width<=544px){.band h1{font-size:34px}.band .lede{font-size:17px;line-height:1.8}}.carousel{position:relative}.carousel-track{scroll-snap-type:x mandatory;scrollbar-width:none;display:flex;overflow-x:auto}.carousel-track::-webkit-scrollbar{display:none}.carousel-track>*{flex:0 0 calc(100% / var(--per-view,1));scroll-snap-align:start}.carousel-arrow{z-index:2;color:#fff;cursor:pointer;background:0 0;border:0;place-items:center;width:44px;height:44px;padding:0;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.carousel-arrow svg{filter:drop-shadow(0 1px 2px #0006);width:25px;height:25px}.carousel-arrow.prev{left:10px}.carousel-arrow.next{right:10px}.photos{--per-view:3}.photos .carousel-track img{object-fit:cover;width:100%;height:300px}@media (width<=921px){.photos{--per-view:2}}@media (width<=544px){.photos{--per-view:1}}.markets-serve{padding:96px var(--gutter) 96px}.markets-serve h2{color:var(--ink);text-align:center;margin-bottom:20px;font-size:30px;font-weight:700}.icon-grid{grid-template-columns:repeat(3,1fr);gap:20px;max-width:1260px;margin-inline:auto;padding:10px;display:grid}.icon-grid a{color:var(--text);flex-direction:column;align-items:center;min-height:170px;text-decoration:none;display:flex}.icon-grid img{width:104px;height:104px}.icon-grid h3{color:var(--text);margin-top:14px;font-size:20px;font-weight:500;line-height:2}.icon-grid a:hover h3{color:var(--gold)}@media (width<=544px){.icon-grid{grid-template-columns:repeat(2,1fr)}}.services-tabs{padding:32px var(--gutter) 64px}.tabs{max-width:var(--wide);grid-template-columns:384px 1fr;gap:16px;margin-inline:auto;display:grid}.tablist{flex-direction:column;display:flex}.tablist button{background:var(--tab);height:100px;color:var(--dark);letter-spacing:2px;cursor:pointer;text-align:right;border:0;justify-content:flex-end;align-items:center;padding:30px 18px;font-size:18px;font-weight:400;display:flex}.tablist button[aria-selected=true],.tablist button:hover{background:var(--tab-active)}.tabpanel{isolation:isolate;border:2px solid var(--tab-active);background:var(--panel-image) center / cover no-repeat;min-height:500px;padding:32px;position:relative}.tabpanel:before{content:"";z-index:-1;background:linear-gradient(90deg,#fff 10%,#fff0 100%);position:absolute;inset:0}.tabpanel h3{color:var(--gold);margin-bottom:8px;font-size:28px;font-weight:500}.tabpanel ul{padding-left:20px}@media (width<=921px){.tabs{grid-template-columns:1fr;gap:0}.tablist button{text-align:left;justify-content:flex-start;height:auto;min-height:60px;padding:14px 18px}.tabpanel{min-height:380px}}.focus{background:var(--sand);padding:64px var(--gutter)}.focus .split{max-width:var(--narrow);grid-template-columns:530px 1fr;align-items:center;gap:40px;margin-inline:auto;padding:10px;display:grid}.focus img{border:1px solid var(--text);width:100%;height:auto}.focus h2{color:var(--ink);margin-bottom:20px;font-size:32px}.focus p{color:#575d68}.focus .actions{text-align:center;margin-top:20px}@media (width<=921px){.focus .split{grid-template-columns:1fr}}.excellence{background:var(--charcoal);padding:60px var(--gutter)}.excellence h2{color:var(--sand);margin-bottom:20px;font-size:36px;font-weight:700}.excellence .cols{grid-template-columns:repeat(3,1fr);gap:40px;padding:20px;display:grid}.excellence h3{color:var(--gold);margin-bottom:14px;font-size:26px}.excellence p{color:var(--zebra)}@media (width<=921px){.excellence .cols{grid-template-columns:1fr;gap:24px}}.testimonials{padding:60px var(--gutter)}.quotes{--per-view:2;padding-inline:40px}.quotes blockquote{text-align:center;padding:20px}.quotes blockquote p{font-size:14px;font-style:italic;line-height:1.6}.quotes footer{margin-top:20px;line-height:1.5}.quotes cite{color:var(--navy);font-style:normal;display:block}.quotes .role{color:var(--gold-text);font-size:14px;display:block}.quotes .carousel-arrow{color:#c4c7cc}.quotes .carousel-arrow svg{filter:none}.quotes .carousel-arrow.prev{left:-10px}.quotes .carousel-arrow.next{right:-10px}@media (width<=768px){.quotes{--per-view:1}}.about-intro{max-width:1320px;padding:32px var(--gutter) 32px 65px;grid-template-columns:1fr 1fr;align-items:start;gap:20px;margin-inline:auto;display:grid}.about-intro h1{color:var(--gold);margin-bottom:20px;font-size:60px;font-weight:800;line-height:1.4}.video{aspect-ratio:16/9;background:#000;position:relative;box-shadow:0 0 10px #00000080}.video button,.video iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.video button{cursor:pointer;background:0 0;padding:0}.video button img{object-fit:cover;width:100%;height:100%}.video .play{width:68px;height:48px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.video button:hover .play path:first-child,.video button:focus-visible .play path:first-child{fill:red;fill-opacity:1}.team-heading{color:var(--dark);text-align:center;padding:70px var(--gutter) 40px;font-size:40px}@media (width<=921px){.about-intro{padding-left:var(--gutter);grid-template-columns:1fr}.about-intro h1{font-size:44px}}.team{padding:64px var(--gutter)}.team-list{max-width:var(--wide);margin-inline:auto}.member{align-items:flex-start;gap:20px;padding:32px;display:flex}.member img{object-fit:cover;flex:0 0 220px;width:220px;height:275px}.member .bio{max-width:976px;color:var(--dark);flex:1;padding:10px}.member h2,.member h3{color:var(--dark);font-size:24px;font-weight:500;line-height:1}.member .role{color:var(--gold-text);margin:12px 0 6px;font-style:italic;line-height:1}.member:nth-child(2n){background:var(--zebra);text-align:right;flex-direction:row-reverse;justify-content:flex-start}@media (width<=768px){.member,.member:nth-child(2n){text-align:left;flex-direction:column;padding:24px 0}.member:nth-child(2n){padding-inline:16px}}.services-body{max-width:1020px;padding:40px var(--gutter) 140px;margin-inline:auto;font-size:17px;line-height:32px}.services-body p+p{margin-top:1.4em}.title-band{background:var(--navy);padding:50px var(--gutter);text-align:center}.title-band h1{color:var(--sand);font-size:50px}.contact-intro{max-width:1040px;padding:25px var(--gutter);margin-inline:auto;font-size:18px;font-weight:400;line-height:2}.contact-body{max-width:1033px;padding:0 var(--gutter) 50px;grid-template-columns:700px 293px;align-items:stretch;margin-inline:auto;display:grid}.contact-body .form-col{padding:50px 10px 10px}.contact-card{background:var(--sand);color:#575d68;border:1px solid #d8cfb8;padding:20px;font-size:18px;line-height:2}.contact-card p+p{margin-top:20px}.contact-card b{font-weight:600}.contact-card a{color:#2f5d8a}.map{border:0;width:100%;height:400px}@media (width<=1040px){.contact-body{grid-template-columns:1fr}.contact-card{margin-top:20px}}.form-group{border:0;margin:0 0 16px;padding:0}.form-group legend,.field>label{margin-bottom:8px;padding:0;font-size:16px;font-weight:700;line-height:2;display:block}.req{color:var(--error);padding-left:3px;font-size:13px;font-style:italic;font-weight:700}.fields-2{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}@media (width<=544px){.fields-2{grid-template-columns:1fr}}.field{margin-bottom:16px}.field input,.field textarea{color:#666;background:var(--field);border:1px solid var(--line);border-radius:0;width:100%;padding:8px;font-size:15px;line-height:2}.field textarea{resize:vertical;height:264px}.field input:focus,.field textarea:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold)}.field .sublabel{margin:0;padding-top:5px;font-size:15px;font-weight:500;line-height:2;display:block}.field .err{color:var(--error);font-size:14px;line-height:1.6;display:none}.field.invalid input,.field.invalid textarea{border-color:var(--error)}.field.invalid .err{display:block}.actions{margin-top:24px}.form-error{color:var(--error);margin-top:12px}.form-error:empty,.success,body.done form{display:none}body.done .success{display:block}.success h2{color:var(--ink);margin-bottom:8px;font-size:24px}.markets-index{max-width:1000px;padding:64px var(--gutter) 90px;margin-inline:auto}.markets-index h1{color:var(--dark);margin-bottom:26px;font-size:50px;font-weight:700}.market-cards{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.market-cards a{background:var(--navy);min-height:177px;color:var(--sand);border-radius:3px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:10px;text-decoration:none;display:flex}.market-cards img{width:80px;height:80px}.market-cards h2{color:var(--sand);font-size:28px;font-weight:500}.market-cards a:hover{background:#3b4964}@media (width<=768px){.market-cards{grid-template-columns:repeat(2,1fr)}.market-cards h2{font-size:22px}}.flip-grid{max-width:calc(var(--wide) + 2 * var(--gutter));padding:0 var(--gutter) 112px;grid-template-columns:repeat(2,1fr);gap:16px 32px;margin:-112px auto 0;display:grid;position:relative}.flip{background:#fff;height:300px;text-decoration:none;display:block;position:relative;overflow:hidden;box-shadow:0 0 10px #00000080}.flip img{object-fit:cover;width:100%;height:100%;transition:transform .6s}.flip .back{background:#222222bf;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;transition:background .3s;display:flex;position:absolute;bottom:0;left:0;right:0}.flip:hover .back,.flip:focus-visible .back{background:#222222e6}.flip:hover img,.flip:focus-visible img{transform:scale(1.04)}.flip h2{color:var(--sand);font-size:21px;line-height:1.3}.flip .more{color:#fff;border:1px solid #fff;flex-shrink:0;padding:12px 24px;font-size:12px;line-height:1}.flip:hover .more,.flip:focus-visible .more{color:var(--dark);background:#fff}.no-projects{height:112px}@media (prefers-reduced-motion:reduce){.flip img{transition:none}.flip:hover img,.flip:focus-visible img{transform:none}}@media (width<=768px){.flip-grid{grid-template-columns:1fr}}.projects-head{background:var(--navy);align-items:center;min-height:300px;display:flex}.projects-head .container{max-width:calc(var(--narrow) + 2 * var(--gutter))}.projects-head h1{color:var(--sand);margin-bottom:14px;font-size:60px;font-weight:500;line-height:1.4}.projects-head p{color:#fff;font-size:15px;font-weight:400;line-height:2}.projects{max-width:calc(var(--narrow) + 2 * var(--gutter));padding:10px var(--gutter) 70px;grid-template-columns:224px 1fr;gap:20px;margin-inline:auto;display:grid}.filters{flex-direction:column;align-items:center;gap:20px;padding-top:8px;display:flex}.filters button{letter-spacing:2px;text-transform:uppercase;color:#69727d;cursor:pointer;background:0 0;border:0;padding:0 8px;font-size:12px;font-weight:500}.filters button[aria-pressed=true],.filters button:hover{color:#0c0d0e}.project-grid{grid-template-columns:repeat(3,1fr);gap:30px;display:grid}.pcard{background:#fff;border:3px solid #fff;height:250px;text-decoration:none;display:block;position:relative;overflow:hidden;box-shadow:0 0 10px #00000080}.pcard img{object-fit:cover;filter:grayscale();width:100%;height:100%;transition:filter .3s}.pcard:hover img,.pcard:focus-visible img{filter:none}.pcard h2{color:#fff;background:#303c528f;padding:10px;font-size:22px;line-height:1.3;position:absolute;bottom:0;left:0;right:0}.pcard:not(:has(img)) h2{background:var(--navy)}.pcard[hidden]{display:none}@media (width<=1024px){.projects{grid-template-columns:1fr}.filters{flex-flow:wrap;justify-content:center;gap:8px 16px}.project-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=544px){.project-grid{grid-template-columns:1fr}.projects-head h1{font-size:44px}}.project-page{background:var(--sand-wash);padding:64px var(--gutter)}.project-page .inner{max-width:var(--narrow);margin-inline:auto}.project-page .featured{object-fit:cover;width:100%;height:600px}.project-page article{background:#fff;margin-top:20px;padding:32px}.project-page h1{color:var(--navy);margin-bottom:20px;font-size:45px;font-weight:800;line-height:1.4}.project-page article p{margin-bottom:28px}.project-page article p:last-child{margin-bottom:0}.gallery{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:28px;display:grid}.gallery img{aspect-ratio:1;object-fit:cover;width:100%;height:100%}.project-page article p img{height:auto}@media (width<=921px){.project-page .featured{height:380px}.project-page h1{font-size:34px}}@media (width<=544px){.project-page .featured{height:240px}.gallery{grid-template-columns:1fr}}.site-footer .container{padding-top:32px;padding-bottom:32px}.footer-grid{border-top:1px solid var(--rule);grid-template-columns:558fr 434fr 248fr;gap:20px;padding:15px 0 0;font-size:14px;line-height:2;display:grid}.footer-grid>div{padding:0 10px}.footer-about{max-width:558px}.footer-brand{text-align:center}.footer-brand .tagline{padding-top:10px;font-weight:600;line-height:1}.footer-brand .logos{justify-content:center;align-items:center;gap:20px;margin-top:32px;display:flex}.footer-brand .logos img:first-child{width:80px;height:auto}.footer-brand .logos img:last-child{width:150px;height:auto}.footer-contact{text-align:right;flex-direction:column;align-items:flex-end;display:flex}.footer-contact address{font-style:normal}.footer-contact .button{text-align:center;width:228px;margin-top:20px;padding:10px}.social{gap:14px;margin-top:20px;display:flex}.social a{color:var(--navy)}.social svg{width:26px;height:26px}.social a:hover{color:var(--gold)}.copyright{margin-top:30px;font-size:14px;line-height:1}@media (width<=921px){.footer-grid{grid-template-columns:1fr}.footer-brand{order:-1}.footer-contact{text-align:left;align-items:flex-start}}.draft-badge{background:var(--error);color:#fff;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px;padding:2px 10px;font-size:12px;font-weight:700;line-height:2;display:inline-block}.pcard .draft-badge{z-index:1;margin:0;position:absolute;top:8px;left:8px}.drafts{max-width:var(--narrow);padding:48px var(--gutter) 80px;margin-inline:auto}.drafts h1{color:var(--ink);font-size:40px}.drafts table{border-collapse:collapse;width:100%;margin-top:24px;font-size:14px;line-height:1.5}.drafts th,.drafts td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:8px}.drafts img{object-fit:cover;width:96px;height:64px}
