@layer reset,base,layout,components,motion;
@layer reset{*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,p,ul,ol{margin:0}button,a,input{font:inherit}button{cursor:pointer}img,svg{display:block;max-width:100%}a{color:inherit}button{color:inherit}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}}
@layer base{:root{--paper:#f7f9fb;--ink:#172d40;--muted:#526473;--blue:#0872ce;--line:#d8e2e9;--teal:#126b78;--radius:4px;--gutter:clamp(22px,5.5vw,88px)}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}::selection{background:#b8ede7;color:#112a3a}:focus-visible{outline:3px solid #0879dd;outline-offset:6px}h1,h2,h3{line-height:1.06;font-weight:500;letter-spacing:-.055em}h2{font-size:clamp(36px,4vw,58px)}h3{font-size:26px;letter-spacing:-.035em}p{color:var(--muted)}button{border:0;background:none}a{text-decoration:none}p a{text-decoration:underline;text-underline-offset:4px}section[id]{scroll-margin-top:24px}.wrap{max-width:1536px;padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:110px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.14em;line-height:1.6;color:var(--ink)}.accent{color:var(--blue)}.skip-link{position:fixed;top:-80px;left:20px;background:var(--ink);color:white;padding:10px 20px;z-index:10}.skip-link:focus{top:10px}}
@layer layout{.header{position:sticky;top:0;background:rgb(247 249 251 / .96);border-bottom:1px solid var(--line);z-index:5}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:91px}.brand{display:inline-flex;align-items:center;gap:10px}.brand img{object-fit:contain;mix-blend-mode:multiply}.brand>span{font-size:24px;font-weight:700;letter-spacing:.02em}.brand-llc{font-size:10px;letter-spacing:.08em;font-weight:500}nav{display:flex;align-items:center;gap:32px;font-size:12px;font-weight:600}nav>a:not(.button),.nav-portal{padding-block:12px}.nav-portal{border-left:1px solid var(--line);padding-left:28px}.nav-portal span{margin-left:10px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:5%;padding-top:62px;padding-bottom:67px;align-items:stretch}.hero-copy{padding-top:16px}.hero .eyebrow{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.1em}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px #e0f1f2;flex-shrink:0}h1{font-size:clamp(60px,6.7vw,102px);margin:26px 0 25px;line-height:.99;letter-spacing:-.065em}.hero-intro{font-size:17px;max-width:420px;line-height:1.7}.hero-actions{display:flex;align-items:center;gap:24px;margin-top:30px;flex-wrap:wrap}.hero-note{font-size:10px;margin-top:34px;letter-spacing:.025em}.hero-art{position:relative;background:#102636;min-height:560px;overflow:hidden;border-radius:5px;color:#c8d6df;isolation:isolate}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#b2d5df09 1px,transparent 1px),linear-gradient(90deg,#b2d5df09 1px,transparent 1px),radial-gradient(ellipse at 80% 25%,#15565188,transparent 60%);background-size:42px 42px,42px 42px,100% 100%}.art-top{position:absolute;top:25px;left:25px;right:25px;display:flex;justify-content:space-between;font:8px monospace;letter-spacing:.08em}.art-top i{display:inline-block;width:5px;height:5px;background:#75e5bf;border-radius:50%;margin-right:6px}.path-art{width:100%;height:100%;position:absolute;inset:0;object-fit:contain}.art-label{position:absolute;left:28px;bottom:80px;display:flex;gap:12px;align-items:center;font-size:19px;letter-spacing:-.03em}.art-label small{display:block;font:7px monospace;letter-spacing:.1em;margin-top:5px;color:#a4b6c2}.art-symbol{border:1px solid #53717b;width:38px;height:38px;display:grid;place-items:center;font-size:25px;border-radius:50%}.art-bottom{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:20px 28px;border-top:1px solid #ffffff1a;font:8px monospace;letter-spacing:.12em}.art-bottom b{color:#78d8c0}.intro-band{border-block:1px solid var(--line)}.intro-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:28px}.intro-inner p{font-size:13px;line-height:1.7}.intro-inner strong{color:var(--ink);font-weight:500}.band-tags{display:flex;gap:34px;font-size:11px;color:var(--muted)}.band-tags span::before{content:'↗';color:var(--teal);margin-right:9px}.section-heading{display:grid;grid-template-columns:1fr 2.05fr;gap:30px;margin-bottom:50px}.section-heading>.eyebrow{padding-top:10px}.section-heading>div{display:flex;align-items:flex-end;gap:7%}.section-heading h2{flex:1;white-space:nowrap}.section-heading>div>p{font-size:13px;flex:1;max-width:300px}.services{border-top:1px solid var(--line)}.service{border-bottom:1px solid var(--line)}.service summary{display:grid;grid-template-columns:7% 42% 1fr 28px;align-items:center;min-height:102px;gap:10px}.service-number{font:11px monospace;color:var(--muted)}.service-name{font-size:clamp(22px,2.7vw,36px);letter-spacing:-.04em}.service-subtitle{font-size:12px;color:var(--muted)}.expand{font-size:24px;font-weight:400;justify-self:end;transition:transform .25s}.service[open] .expand{transform:rotate(45deg)}.service[open] .service-name{color:var(--blue)}.service-content{padding:3px 7% 42px;display:grid;grid-template-columns:40% 1fr;gap:5%}.service-content h3{font-size:24px;margin-bottom:15px}.service-content p{font-size:14px;max-width:540px}.service-glyph{height:190px;display:grid;place-items:center;position:relative;background:linear-gradient(145deg,#e6eeeb,#edf2f1);overflow:hidden;border-radius:3px}.service-glyph:before,.service-glyph:after{content:'';position:absolute;width:155px;height:155px;border:1px solid #b1c9c4;transform:rotate(-30deg) skew(10deg)}.service-glyph:after{transform:translate(30px,25px) rotate(-30deg) skew(10deg)}.service-glyph>span{font-size:90px;line-height:1;color:var(--blue);z-index:1;font-weight:400}.pills{display:flex;gap:8px;flex-wrap:wrap;padding:0;list-style:none;margin:22px 0}.pills li{font-size:10px;padding:5px 10px;border:1px solid var(--line);border-radius:2px}.approach{background:#edf4f8}.steps{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;padding:0;gap:40px}.steps li{border-top:1px solid #c5d8e2;padding-top:18px}.step-top{display:flex;justify-content:space-between;color:var(--teal);font:12px monospace;margin-bottom:43px}.steps h3{margin-bottom:15px}.steps p{font-size:14px;max-width:310px}.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.about-copy>.eyebrow{margin-bottom:22px}.about-copy h2{font-size:clamp(35px,3.5vw,50px);margin-bottom:26px}.about-copy p{font-size:14px;margin-bottom:20px}.about-copy .large-copy{font-size:19px;color:var(--ink);line-height:1.5}.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.35fr;gap:60px;padding-top:75px}.faq .eyebrow{margin-bottom:22px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 0;font-size:15px;line-height:1.5}.faq-list summary span{font-size:22px}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:14px;padding:0 25px 25px 0}.contact{background:#122c3c;color:#f6f9f6;padding-block:90px}.contact-inner{display:grid;grid-template-columns:1.4fr 1fr;gap:10%;align-items:center}.contact .eyebrow{color:#a2dce2;font-size:9px;margin-bottom:24px}.contact h2{font-size:clamp(48px,5.5vw,80px);line-height:1.03}.contact h2>span{color:#8be7d5}.contact p{color:#b1c2cc;font-size:14px;margin:25px 0 30px}.contact-links>a{display:block;border-bottom:1px solid #ffffff26;padding:25px 0}.contact-links small{font:9px monospace;color:#a3b9c5;letter-spacing:.12em;display:block;margin-bottom:10px}.contact-links>a>span{display:flex;justify-content:space-between;font-size:clamp(23px,2.5vw,34px);letter-spacing:-.03em}.contact-links b{font-weight:400;color:#8be7d5}.contact-links .text-link{color:#e4f7f8;margin-top:5px;padding:0}.footer{display:flex;justify-content:space-between;align-items:center;padding-block:35px}.footer .brand>span{font-size:21px}.footer p{font-size:10px;margin-top:8px}.footer-right{text-align:right;font-size:11px}.footer-right p{margin-top:20px}}
@layer components{.button{display:inline-flex;justify-content:space-between;align-items:center;gap:30px;background:var(--ink);color:white;font-size:12px;font-weight:500;min-height:51px;padding:14px 19px;border:1px solid var(--ink);border-radius:var(--radius);transition:background .2s,transform .2s}.button>span{font-size:20px;line-height:1}.button:hover{background:#25475b;transform:translateY(-2px)}.button.small{min-height:39px;padding:7px 14px;gap:22px;font-size:11px}.button.light{background:#dff5f3;color:#153940;border-color:#dff5f3}.button.light:hover{background:#bcebe7}.text-link{display:inline-flex;align-items:center;gap:16px;font-size:11px;font-weight:600;border-bottom:1px solid #bdcedb;padding-bottom:3px;transition:color .2s}.text-link>span{font-size:17px}.text-link:hover,nav>a:not(.button):hover,.nav-portal:hover{color:var(--blue)}dialog{padding:0;border:1px solid var(--line);border-radius:8px;max-width:510px;width:calc(100% - 40px);color:var(--ink);background:var(--paper);box-shadow:0 25px 100px #0003}dialog::backdrop{background:#0c2136b8;backdrop-filter:blur(5px)}.dialog-inner{padding:45px;position:relative}.dialog-close{position:absolute;right:14px;top:10px;font-size:28px;min-width:44px;min-height:44px}.portal-icon{font-size:35px;color:var(--teal);display:block;margin-bottom:15px}dialog .eyebrow{margin-bottom:14px}dialog h2{font-size:43px;margin-bottom:25px}dialog p:not(.eyebrow){font-size:14px}dialog .button{margin-top:28px;width:100%}dialog .dialog-note{font-size:11px!important;margin-top:15px}}
@layer motion{@media(prefers-reduced-motion:no-preference){.hero-copy{animation:arrive .8s both}.hero-art{animation:arrive 1s .12s both}.ribbon-path{animation:ribbon-light 7s ease-in-out infinite}.reveal{transition:opacity .65s,transform .65s}.reveal.waiting{transform:translateY(12px)}@keyframes arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes ribbon-light{50%{filter:brightness(1.12)}}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}}
@media(min-width:1500px){.hero-art{min-height:640px}.hero{padding-block:80px}.hero-intro{font-size:19px}.hero-actions{margin-top:38px}}
@media(max-width:1100px){nav{gap:20px}.nav-portal{padding-left:18px}.hero{gap:4%;padding-top:42px}.hero-art{min-height:520px}h1{font-size:clamp(57px,7.1vw,80px)}.hero .eyebrow{font-size:8px}.hero-actions{gap:18px}.section-heading>div{display:block}.section-heading>div>p{margin-top:24px;max-width:470px}.section{padding-block:80px}.band-tags{gap:18px;font-size:10px}.service summary{grid-template-columns:6% 43% 1fr 20px}.service-content{padding-left:7%;grid-template-columns:35% 1fr}.about{gap:6%}}
@media(max-width:760px){.nav-wrap{min-height:75px}.brand img{width:50px;height:37px}.brand>span{font-size:22px}.menu-toggle{display:flex;align-items:center;gap:15px;font-size:12px;min-height:44px;padding:0 5px}.menu-lines{display:block;width:20px;height:10px;border-block:1px solid var(--ink)}nav{display:none;position:absolute;top:75px;left:0;right:0;padding:20px var(--gutter) 28px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 15px 20px #172d400a}nav.is-open{display:flex;align-items:stretch;flex-direction:column;gap:6px}nav a,nav .nav-portal{font-size:15px;padding:10px 0}.nav-portal{border-left:0;text-align:left}.button.small{margin-top:10px;min-height:45px;font-size:13px}.hero{grid-template-columns:1fr;padding-top:36px;padding-bottom:32px;gap:35px}.hero-copy{padding-top:0}.hero .eyebrow{font-size:8px;letter-spacing:.08em}h1{font-size:clamp(59px,12vw,85px);margin-top:24px}.hero-intro{font-size:16px;max-width:510px}.hero-actions{gap:22px;margin-top:25px}.hero-note{margin-top:22px;font-size:9px}.hero-art{min-height:420px}.path-art{inset:-30px 0 0;height:470px;width:100%}.art-top{font-size:7px}.art-label{bottom:70px}.art-bottom{padding-block:17px}.intro-inner{display:block;padding-block:25px}.band-tags{margin-top:18px;flex-wrap:wrap;column-gap:20px;row-gap:8px;font-size:10px}.section{padding-block:60px}.section-heading{grid-template-columns:1fr;gap:20px;margin-bottom:30px}.section-heading>.eyebrow{padding-top:0}.section-heading>div>p{margin-top:20px;font-size:14px}.service summary{grid-template-columns:24px 1fr 22px;min-height:87px;gap:9px}.service-name{font-size:26px}.service-subtitle{display:none}.service-content{grid-template-columns:1fr;padding:0 0 30px 33px;gap:20px}.service-glyph{height:140px}.service-glyph>span{font-size:65px}.service-glyph:before,.service-glyph:after{width:105px;height:105px}.service-content h3{font-size:23px}.service-content p{font-size:14px}.steps{grid-template-columns:1fr;gap:30px}.step-top{margin-bottom:20px}.steps p{max-width:100%}.steps h3{font-size:28px}.about{grid-template-columns:1fr;gap:35px}.about-copy h2{font-size:38px}.faq{grid-template-columns:1fr;gap:30px}.faq h2 br{display:none}.faq-list summary{font-size:14px}.contact{padding-block:60px}.contact-inner{grid-template-columns:1fr;gap:30px}.contact h2{font-size:clamp(46px,10vw,72px)}.contact .eyebrow{font-size:8px}.contact-links>a>span{font-size:28px}.contact-links p{margin-bottom:0}.footer{align-items:flex-start;gap:25px;padding-block:30px;flex-direction:column}.footer-right{text-align:left;display:flex;justify-content:space-between;width:100%;gap:20px;align-items:center}.footer-right p{margin-top:0;font-size:9px}.footer>div>p{font-size:9px}.dialog-inner{padding:32px 25px}dialog h2{font-size:39px}}
@media(max-width:760px){.section-heading h2{white-space:normal}.section-heading>div{min-width:0}}

/* Core practices: both disciplines are expanded on arrival. */
.practice-content{padding:6px 0 45px 7%}.practice-intro{display:grid;grid-template-columns:1fr 1.4fr;gap:6%;align-items:start;margin-bottom:32px}.practice-intro h3{font-size:clamp(26px,2.6vw,36px)}.practice-intro>p{font-size:14px;max-width:620px}.capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-bottom:27px}.capabilities article{border-top:1px solid var(--line);padding-top:20px}.capability-label{display:block;font-size:9px;font-weight:700;letter-spacing:.09em;color:var(--teal);margin-bottom:14px}.capabilities h4{font-size:20px;font-weight:500;letter-spacing:-.035em;line-height:1.2;margin:0 0 13px}.capabilities p{font-size:13px}.industry-tags{margin-top:0;margin-bottom:25px}.service summary{grid-template-columns:7% minmax(0,42%) 1fr 28px}
@media(max-width:1000px){.practice-intro{grid-template-columns:1fr 1.2fr}.capabilities{gap:20px}.service-name{font-size:clamp(24px,3vw,36px)}}
@media(max-width:760px){.practice-content{padding:0 0 32px 0}.practice-intro{grid-template-columns:1fr;gap:18px;margin-bottom:26px}.practice-intro h3{font-size:29px}.capabilities{grid-template-columns:1fr;gap:24px}.capabilities article{padding-top:18px}.capabilities h4{font-size:23px}.capabilities p{font-size:14px}.service summary{grid-template-columns:24px minmax(0,1fr) 22px}.service-name{font-size:26px;line-height:1.15;padding-block:15px}.capability-label{margin-bottom:10px}.practice-content>.text-link{font-size:12px}}

/* Cross-industry project management examples. */
.industry-experience{margin:36px 0 30px;padding-top:32px;border-top:1px solid var(--line)}.industry-heading{display:grid;grid-template-columns:1fr 1.4fr;gap:6%;align-items:end;margin-bottom:28px}.industry-heading .eyebrow{font-size:9px;color:var(--teal);margin-bottom:12px}.industry-heading h4{font-size:30px;font-weight:500;letter-spacing:-.045em;line-height:1.1;margin:0}.industry-heading>p{font-size:14px;max-width:510px}.industry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:4px;overflow:hidden}.industry-grid article{background:var(--paper);padding:27px;display:flex;flex-direction:column;align-items:flex-start}.industry-number{font:9px/1.6 Arial,Helvetica,sans-serif;font-weight:700;letter-spacing:.09em;color:var(--teal);margin-bottom:17px}.industry-grid h5{font-size:23px;font-weight:500;letter-spacing:-.035em;line-height:1.15;margin:0 0 14px;max-width:340px}.industry-grid p{font-size:13px;margin-bottom:22px}.method-label{font-size:10px;line-height:1.6;color:var(--teal);border-top:1px solid var(--line);padding-top:12px;margin-top:auto;width:100%}.industry-outro{font-size:13px;max-width:760px;margin-top:22px}
@media(max-width:760px){.industry-heading{grid-template-columns:1fr;gap:18px}.industry-heading h4{font-size:29px}.industry-grid{grid-template-columns:1fr}.industry-grid article{padding:24px 20px}.industry-grid h5{font-size:24px}.industry-grid p,.industry-outro{font-size:14px}.industry-number{font-size:9px;letter-spacing:.06em}}

/* Architectural stock photography: locally hosted, responsive, and credited. */
.about-photo{position:relative;align-self:stretch;margin:0;min-height:530px;border-radius:5px;overflow:hidden;background:#172d40}.about-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% 48%}.about-photo figcaption{position:absolute;inset:auto 0 0;padding:38px 20px 16px;background:linear-gradient(transparent,#091c2dd9);text-align:right;color:#fff;font-size:9px;letter-spacing:.035em;line-height:1.6}.about-photo figcaption a{display:inline-flex;align-items:center;gap:8px;padding:5px 0}.about-photo figcaption a:hover{text-decoration:underline;text-underline-offset:3px}.about-photo figcaption a:focus-visible{outline-color:#8be7d5}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1100px){.about-photo{min-height:550px}}
@media(max-width:760px){.about-photo{min-height:0;height:440px}.about-photo>img{object-position:58% 46%}}
@media(max-width:380px){.about-photo{height:370px}}
