@font-face{font-family:Editorial;src:local('Georgia');font-display:swap}
:root{--bg:#f5f3ee;--ink:#252d29;--muted:#59625b;--line:#c9cdc5;--accent:#4b5c4d;--panel:#e9ece5;--font:Georgia,'Times New Roman',serif;--sans:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--bg)}.wrap{width:min(1184px,calc(100% - 112px));margin:auto}.skip{position:absolute;left:16px;top:-80px;background:var(--bg);padding:14px;z-index:10}.skip:focus{top:12px}.masthead{display:flex;align-items:center;justify-content:space-between;min-height:124px;border-bottom:1px solid var(--line);gap:32px}.brand{display:flex;gap:16px;align-items:center}.brand-name{font-family:var(--font);font-size:29px;letter-spacing:1.4px;line-height:1}.brand-name small{display:block;font:10px var(--sans);letter-spacing:4px;margin-top:10px}.vult .brand-name{font-family:var(--sans);font-size:24px;letter-spacing:3px}.vmark{display:block;width:43px;height:69px;position:relative;overflow:hidden}.vmark img{position:absolute;width:340px;max-width:none;left:-26px;top:-19px}.nav{display:flex;align-items:center;gap:32px;font-size:12px}.nav .nav-contact{border:1px solid var(--line);padding:12px 18px}.arrow{display:inline-block;margin-left:12px;transition:transform .2s}a:hover .arrow{transform:translate(4px,-2px)}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:2.7px;font-weight:600;line-height:1.7}.hero{padding:83px 0 65px;position:relative}.hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:70px;align-items:center}.hero h1{font-family:var(--font);font-weight:400;letter-spacing:-3.1px;line-height:1.04;font-size:clamp(55px,5.8vw,84px);margin:27px 0 29px;max-width:810px}.hero h1 em{font-weight:400;color:var(--accent)}.hero .intro{font-size:16px;line-height:1.85;max-width:535px;color:var(--muted);margin:0}.actions{display:flex;align-items:center;gap:27px;margin-top:35px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--ink);color:var(--bg);padding:17px 23px;font-size:12px;min-height:49px;transition:opacity .2s}.button:hover{opacity:.8}.text-link{font-size:12px;border-bottom:1px solid var(--line);padding-bottom:5px}.hero-caption{display:flex;justify-content:space-between;gap:25px;margin-top:69px;border-top:1px solid var(--line);padding-top:21px;font-size:11px;line-height:1.6;color:var(--muted)}.hero-caption span:last-child{text-align:right}.folio{position:relative;aspect-ratio:4/4.8;background:var(--panel);padding:33px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.folio .eyebrow{font-size:9px;position:relative;z-index:1}.folio-title{font-family:var(--font);font-size:28px;line-height:1.2;position:relative;z-index:1;max-width:210px}.folio-foot{font-size:10px;letter-spacing:1.2px;z-index:1}.architecture{position:absolute;inset:85px 33px 65px;display:flex;align-items:center;justify-content:center}.architecture svg{width:100%;height:100%;color:var(--accent)}.services{padding:49px 0 75px;border-top:1px solid var(--line)}.section-head{display:grid;grid-template-columns:.55fr 1.45fr;gap:40px;margin-bottom:39px}.section-head h2,.approach h2,.contact h2{font:400 43px/1.13 var(--font);letter-spacing:-1.3px;margin:0;max-width:700px}.section-head p{color:var(--muted);line-height:1.7;margin:17px 0 0;max-width:570px;font-size:14px}.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.service{padding-top:21px;border-top:1px solid var(--line)}.service .number{font-size:10px;letter-spacing:1.6px;color:var(--muted)}.service h3{font:400 24px/1.2 var(--font);margin:22px 0 14px;letter-spacing:-.3px}.service p{color:var(--muted);font-size:13px;line-height:1.8;margin:0}.service .deliverable{margin-top:25px;border-top:1px solid var(--line);padding-top:14px;font-size:11px;color:var(--ink)}.approach-band{background:var(--panel)}.approach{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding:65px 0}.approach .eyebrow{margin-bottom:24px}.approach p{font-size:14px;line-height:1.85;color:var(--muted);margin:0 0 20px}.steps{list-style:none;padding:0;margin:27px 0 0}.steps li{border-top:1px solid var(--line);padding:15px 0;display:grid;grid-template-columns:35px 1fr;gap:13px;font-size:12px;line-height:1.6}.steps span{color:var(--muted);font-size:10px}.principal{padding:59px 0;display:grid;grid-template-columns:.55fr 1.45fr;gap:40px;border-bottom:1px solid var(--line)}.principal h2{font:400 30px var(--font);margin:0 0 8px}.principal .role{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--muted)}.principal p{font-size:15px;line-height:1.85;max-width:670px;margin:0;color:var(--muted)}.contact{padding:65px 0;display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact .eyebrow{margin-bottom:21px}.contact p{font-size:14px;line-height:1.8;max-width:420px;color:var(--muted);margin:18px 0 0}.contact-details{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:17px}.contact-details .email{font:400 25px var(--font);word-break:break-word;border-bottom:1px solid var(--line);padding-bottom:7px}.contact-details .phone{font-size:14px}.related{padding:30px 0 37px;border-top:1px solid var(--line)}.related-heading{display:flex;justify-content:space-between;gap:20px;margin-bottom:25px}.related-heading p{font-size:11px;margin:0;color:var(--muted)}.related-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.related-link{display:flex;justify-content:space-between;gap:10px;padding:18px 0;border-top:1px solid var(--line)}.related-link strong{display:block;font:400 21px var(--font)}.related-link small{display:block;margin-top:8px;color:var(--muted);font-size:11px;line-height:1.5}.footer{border-top:1px solid var(--line);padding:22px 0 90px;font-size:10px;display:flex;justify-content:space-between;gap:18px;color:var(--muted)}.preview-bar{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:4px;padding:6px;background:#fff;color:#252a2d;box-shadow:0 4px 28px #0002;z-index:20;border:1px solid #d3d5d4;max-width:calc(100% - 20px)}.preview-bar span{font-size:9px;letter-spacing:1.2px;padding:0 14px;white-space:nowrap}.preview-bar a{padding:11px 17px;font-size:11px}.preview-bar a[aria-current=page]{background:#252a2d;color:#fff}.preview-bar a:hover{background:#e9ece9;color:#252a2d}.vult{--bg:#1c2023;--ink:#e3e5e6;--muted:#b0b6ba;--line:#41474b;--accent:#bfc9cf;--panel:#252b2f;--font:Arial,Helvetica,sans-serif}.vult .hero h1{font-size:clamp(53px,5.8vw,83px);letter-spacing:-4px;font-weight:400}.vult .hero h1 em{font-style:normal;color:#a9b4bd}.vult .folio{background:linear-gradient(155deg,#2c3439,#242a2e)}.vult .folio-title{font-weight:400}.vult .section-head h2,.vult .approach h2,.vult .contact h2{font-size:39px;letter-spacing:-1.6px}.vult .service h3{font-size:23px}.vult .button{background:#d8dee1;color:#1c2023}.vult .related-link strong{font-family:Georgia,serif}.clearside{--bg:#f6f6f3;--ink:#26343b;--muted:#53636b;--line:#c9d0d2;--accent:#486773;--panel:#e6edef}.clearside .folio{background:#e5ecee}.clearside .hero h1 em{font-style:normal}.clearside .architecture{inset:100px 40px 80px}.fairfield .folio{background:#e8ebe3}.fairfield .hero h1 em{font-style:italic}a:hover.text-link,.email:hover{border-color:var(--ink)}
@media(min-width:1550px){.hero{padding-top:105px;padding-bottom:80px}.hero-grid{gap:110px}}
@media(max-width:900px){.wrap{width:calc(100% - 56px)}.hero-grid{gap:35px;grid-template-columns:1.4fr .6fr}.hero h1,.vult .hero h1{font-size:62px}.folio{padding:22px;aspect-ratio:3/5}.folio-title{font-size:22px}.architecture{inset:100px 15px 50px}.nav{gap:19px}.section-head{grid-template-columns:.45fr 1.55fr}.approach{gap:45px}.brand-name{font-size:25px}.service-list{gap:22px}.preview-bar span{padding:0 8px}}
@media(max-width:650px){.wrap{width:calc(100% - 40px)}.masthead{min-height:98px;gap:15px}.brand-name{font-size:23px;letter-spacing:.8px}.brand-name small{font-size:8px;letter-spacing:3px}.vult .brand-name{font-size:17px;letter-spacing:1.6px}.vmark{width:34px}.brand{gap:8px}.nav>a:not(.nav-contact){display:none}.nav .nav-contact{padding:11px;font-size:10px}.hero{padding:49px 0 36px}.hero-grid{display:block}.hero h1,.vult .hero h1{font-size:55px;letter-spacing:-2.8px;margin-top:22px}.hero .intro{font-size:15px;line-height:1.8}.folio{display:none}.actions{gap:22px;margin-top:29px}.hero-caption{margin-top:44px;font-size:10px}.hero-caption span{max-width:52%}.section-head,.principal{display:block}.section-head>.eyebrow,.principal>div{margin-bottom:22px}.section-head h2,.approach h2,.contact h2,.vult .section-head h2,.vult .approach h2,.vult .contact h2{font-size:34px;letter-spacing:-1px}.services{padding:34px 0 44px}.service-list{display:block}.service{margin-top:28px}.service h3{margin-top:15px}.service .deliverable{margin-top:18px}.approach{display:block;padding:43px 0}.approach>div+div{margin-top:26px}.principal{padding:38px 0}.principal p{font-size:14px}.contact{display:block;padding:42px 0}.contact-details{margin-top:30px}.contact-details .email{font-size:22px}.related-heading{display:block}.related-heading p{margin-top:11px;line-height:1.6}.related-grid{display:block}.related-link strong{font-size:20px}.footer{font-size:9px;padding-bottom:105px}.preview-bar{bottom:10px;width:max-content}.preview-bar span{display:none}.preview-bar a{padding:12px 13px;font-size:11px;white-space:nowrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

@media(min-width:651px){.service-list{row-gap:36px}}
@media(max-width:360px){.preview-bar a{padding:11px 10px;font-size:10px}}

.related-link small{font-size:14px;line-height:1.6;max-width:46ch}.preview-bar a{min-height:44px;display:inline-flex;align-items:center}
@media(max-width:360px){.vult .brand-name{font-size:15px}.masthead{gap:8px}}

@media(max-width:650px){.vult .hero h1{font-size:clamp(40px,11vw,52px);letter-spacing:-1.8px}}
