:root{--paper:#f9f9f7;--ink:#17191a;--muted:#5c6061;--red:#ba242b;--rule:#d4d5d2;--gutter:clamp(24px,5.6vw,90px);font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none;scroll-behavior:smooth;scroll-padding-top:32px}
*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,select{font:inherit;color:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid var(--red);outline-offset:6px}img{display:block;max-width:100%;height:auto}figure,p,h1,h2,h3,dl,dd{margin:0}p{font-size:1rem;line-height:1.8}h1,h2,h3{font-weight:400}h2{font-size:clamp(2.2rem,4.1vw,4rem);line-height:1.12;letter-spacing:-.055em}h3{font-size:1.5rem;line-height:1.25;letter-spacing:-.025em}.skip-link{position:absolute;top:-80px;left:24px;background:var(--ink);color:white;padding:16px;z-index:20}.skip-link:focus{top:10px}.header{min-height:122px;display:flex;align-items:center;justify-content:space-between;gap:30px;margin:0 var(--gutter);border-bottom:1px solid var(--rule)}.brand{display:flex;align-items:center;gap:18px;min-height:44px}.brand img{width:100px}.brand span{font-size:.65rem;line-height:1.55;letter-spacing:.13em}.header nav{display:flex;gap:clamp(20px,2.5vw,40px);align-items:center}.header nav a{font-size:.875rem;padding:15px 0;position:relative}.header nav a:hover{color:var(--red)}.nav-contact{border-bottom:1px solid var(--ink)}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.13fr .87fr;padding:50px var(--gutter) 0;min-height:660px;gap:25px;max-width:1800px;margin:auto}.hero-copy{padding-top:65px;display:flex;flex-direction:column;align-items:flex-start}.eyebrow,.section-marker,.hero-foot,figcaption{font-size:.75rem;letter-spacing:.1em;line-height:1.6}.eyebrow{margin-bottom:35px}.hero h1{font-size:clamp(3.4rem,6.6vw,7.1rem);letter-spacing:-.065em;line-height:1.025;position:relative;z-index:1}.hero h1 span{color:var(--red)}.hero-description{color:var(--muted);max-width:420px;margin-top:28px}.text-link{display:inline-flex;gap:28px;align-items:center;min-height:48px;font-size:.875rem;font-weight:600}.hero .text-link{margin-top:32px}.link-line{width:46px;height:1px;background:currentColor;transition:width .25s}.text-link:hover{color:var(--red)}.text-link:hover .link-line{width:65px}.hero-foot{display:flex;justify-content:space-between;gap:30px;width:100%;padding:60px 40px 28px 0;margin-top:auto;color:var(--muted);font-size:.65rem}.hero-visual{position:relative}.hero-image{height:560px;overflow:hidden;clip-path:polygon(0 0,100% 0,100% 74%,88% 74%,88% 86%,76% 86%,76% 100%,0 100%);animation:architectural-reveal 1.4s cubic-bezier(.2,.7,.2,1) both}.hero-image img{height:100%;width:100%;object-fit:cover;object-position:center 52%;filter:grayscale(1)}.hero-visual figcaption{margin-top:16px;font-size:.6rem;color:var(--muted);text-align:left}.section{padding:100px var(--gutter);max-width:1800px;margin:auto}.section-marker{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--rule);padding-top:22px;margin-bottom:55px}.section-marker span:last-child{color:var(--muted)}.intro-layout{display:grid;grid-template-columns:1fr 1fr;gap:12%}.intro-copy{max-width:490px}.intro-copy p+p{margin-top:20px}.intro-copy p{color:var(--muted)}.company-facts{display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;margin-top:65px;padding-left:50%;margin-left:-50%;}.company-facts dt{font-size:.8rem;color:var(--muted);margin-bottom:18px}.company-facts dd{font-size:3.6rem;letter-spacing:-.06em}.company-facts dd span{font-size:2.2rem}.company-facts .registration{font-size:2.2rem;line-height:1.65;letter-spacing:-.025em}.footer{padding:35px var(--gutter);display:flex;justify-content:space-between;gap:24px;font-size:.75rem;color:var(--muted);border-top:1px solid var(--rule)}
.expertise{padding-top:10px}.expertise-heading,.projects-heading,.people-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:55px}.expertise-heading>p,.projects-heading>p,.people-heading>p{max-width:370px;color:var(--muted)}.expertise-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:12%}.expertise-photo{max-width:340px;position:relative}.expertise-photo img{width:100%;height:440px;object-fit:cover;object-position:center 40%;filter:grayscale(1)}.expertise-photo figcaption,.commitment figcaption{padding-top:15px;color:var(--muted)}details summary{cursor:pointer;list-style:none;min-height:60px}details summary::-webkit-details-marker{display:none}.service-list details{border-top:1px solid var(--rule)}.service-list details:last-child{border-bottom:1px solid var(--rule)}.service-list summary{display:flex;align-items:center;gap:22px;padding:28px 0}.service-list summary h3{flex:1;font-size:clamp(1.2rem,2vw,1.7rem)}.item-number{font-size:.75rem;color:var(--muted)}.plus{flex:0 0 18px;width:18px;height:18px;position:relative;margin-left:auto}.plus:before,.plus:after{content:"";position:absolute;background:currentColor;top:8px;left:2px;width:14px;height:1px}.plus:after{transform:rotate(90deg);transition:transform .2s}details[open]>summary .plus:after{transform:rotate(0)}.service-list details[open] summary{padding-bottom:18px}.service-list details p{padding:0 35px 26px 39px;color:var(--muted)}.projects{background:#efefec;max-width:none}.projects>.section-marker,.projects>.projects-heading,.projects>.project-toolbar,.projects>.project-list,.projects>.project-note{max-width:1620px;margin-left:auto;margin-right:auto}.project-toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--ink);padding:22px 0}.project-toolbar p{font-size:.875rem;color:var(--muted)}.project-toolbar>div{display:flex;align-items:center;gap:20px}.project-toolbar label{font-size:.875rem}.project-toolbar select{background:transparent;border:1px solid #767978;padding:12px 34px 12px 15px;min-height:46px;border-radius:0;max-width:180px}.project-row{border-bottom:1px solid #bfc1bd}.project-row summary{display:grid;grid-template-columns:80px 1fr 190px 25px;gap:20px;align-items:center;padding:30px 0}.project-year{font-size:.875rem;color:var(--muted)}.project-title h3{font-size:clamp(1.2rem,1.8vw,1.6rem)}.project-title>span{display:block;font-size:.875rem;color:var(--muted);margin-top:8px}.project-category{font-size:.8rem;color:var(--muted);text-align:right}.project-row summary:hover h3,.service-list summary:hover h3{color:var(--red)}.project-detail{margin:0 45px 30px 100px;max-width:950px;padding-top:5px}.project-detail>p{max-width:720px;color:var(--muted)}.project-detail dl{display:grid;grid-template-columns:1.2fr 1fr .7fr;gap:30px;margin-top:25px}.project-detail dt{font-size:.75rem;color:var(--muted);margin-bottom:9px}.project-detail dd{font-size:.9rem;line-height:1.55}.project-detail .value{font-size:1.25rem;letter-spacing:-.025em}.outline-button{background:none;border:1px solid #767978;min-height:48px;padding:14px 22px;margin-top:30px;font-size:.875rem}.outline-button:hover{background:var(--ink);color:white}.outline-button[hidden]{display:none}.project-note{font-size:.75rem;line-height:1.7;color:var(--muted);margin-top:28px;max-width:900px!important;margin-left:0!important}.data-message{padding:40px 0;color:var(--muted)}.commitment{padding-top:125px;padding-bottom:90px}.commitment-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:13%;align-items:center}.commitment figure img{width:100%;height:640px;object-fit:cover;object-position:center 40%;filter:grayscale(1)}.commitment .eyebrow{margin-bottom:24px;color:var(--muted)}.commitment-intro{max-width:450px;color:var(--muted);margin-top:26px}.principles{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:35px}.principles dt{font-size:.9rem;font-weight:600;margin-bottom:10px}.principles dd{font-size:.875rem;color:var(--muted);line-height:1.65}.people{padding-top:20px}.people-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px 55px}.people-grid article{border-top:1px solid var(--rule);padding-top:22px}.person-role{font-size:.75rem;color:var(--red);margin-bottom:18px}.people-grid article>p:last-child{font-size:.8rem;line-height:1.7;color:var(--muted);margin-top:20px}.people-grid h3{font-size:1.45rem;line-height:1.25}.corporate-details{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);margin-top:65px}.corporate-details>summary{padding:25px 0;display:flex;align-items:center;gap:25px;font-size:.9rem}.corporate-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:50px;padding:20px 0 40px}.corporate-grid h3{font-size:1rem;margin-bottom:20px;font-weight:600}.corporate-grid dt{font-size:.75rem;color:var(--muted);margin-bottom:7px}.corporate-grid dd{font-size:.875rem;line-height:1.6;margin-bottom:17px}.corporate-grid p{font-size:.875rem;color:var(--muted);line-height:1.6}.contact{background:var(--ink);color:var(--paper);max-width:none;padding-bottom:90px}.contact .section-marker{border-color:#4e5355}.contact .section-marker span:last-child{color:#c5c8c7}.contact-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:10%}.contact h2{font-size:clamp(3rem,5.2vw,5.5rem)}.contact h2 span{color:#ee666b}.contact-layout>div>p{margin-top:25px;color:#c5c8c7}.contact-email{display:inline-block;font-size:clamp(1.1rem,2.2vw,2rem);letter-spacing:-.025em;border-bottom:1px solid #919695;padding:12px 0;margin-top:25px;overflow-wrap:anywhere;min-height:48px}.contact-email:hover{color:#ee666b}.contact address{font-style:normal;padding-top:7px}.address-label{font-size:.75rem;letter-spacing:.06em;color:#c5c8c7;display:block;line-height:1.7}.contact address p{margin:28px 0}.contact address a{font-size:1.5rem;min-height:48px;display:inline-flex;align-items:center;margin-bottom:10px}.contact a:focus-visible{outline-color:#ee666b}.footer a{display:inline-flex;align-items:center;min-height:44px}.hero-foot,.hero-visual figcaption{font-size:.75rem}.company-facts{padding-left:0;margin-left:0}.hero h1{font-size:clamp(3.7rem,7.5vw,8rem)}
@keyframes architectural-reveal{from{clip-path:polygon(0 0,10% 0,10% 74%,0 74%,0 86%,0 86%,0 100%,0 100%);opacity:.35}to{clip-path:polygon(0 0,100% 0,100% 74%,88% 74%,88% 86%,76% 86%,76% 100%,0 100%);opacity:1}}
@media(min-width:1600px){.hero{min-height:780px}.hero-image{height:670px}.hero-copy{padding-top:95px}}
@media(max-width:1050px){.brand span{display:none}.header{min-height:100px}.header nav{gap:22px}.hero{gap:24px;min-height:580px}.hero-copy{padding-top:40px}.hero h1{font-size:clamp(3.3rem,6.6vw,5rem)}.hero-image{height:470px}.eyebrow{font-size:.65rem}.hero-foot{padding-right:0;font-size:.6rem}.intro-layout{gap:7%}.company-facts{padding-left:0;margin-left:0}.section{padding-top:80px;padding-bottom:80px}}
@media(max-width:720px){.header{min-height:88px;position:relative}.brand img{width:86px}.brand span{display:block;font-size:.5rem}.menu-toggle{display:flex;align-items:center;gap:25px;background:none;border:0;padding:12px 0;font-size:.875rem;min-height:44px}.menu-toggle span{font-size:1.5rem}.header nav{display:none;position:absolute;top:87px;left:calc(-1 * var(--gutter));right:calc(-1 * var(--gutter));padding:22px var(--gutter) 30px;background:var(--paper);z-index:5;border-bottom:1px solid var(--rule)}.header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:4px}.header nav a{font-size:1.2rem;padding:12px 0}.hero{grid-template-columns:1fr;padding-top:35px;gap:28px;min-height:auto}.hero-copy{padding-top:0}.eyebrow{margin-bottom:25px;font-size:.65rem}.hero h1{font-size:clamp(3rem,11.6vw,5rem)}.hero-description{margin-top:22px}.hero .text-link{margin-top:20px}.hero-foot{padding:30px 0 0;max-width:500px}.hero-image{height:360px;clip-path:polygon(0 0,100% 0,100% 74%,88% 74%,88% 86%,76% 86%,76% 100%,0 100%)}.hero-image img{object-position:center 50%}.hero-visual figcaption{font-size:.6rem}.section{padding-top:65px;padding-bottom:65px}.section-marker{margin-bottom:35px;font-size:.7rem}.section-marker span:last-child{display:none}.intro-layout{grid-template-columns:1fr;gap:28px}.company-facts{grid-template-columns:1fr 1fr;gap:30px;margin-top:40px}.company-facts>div:last-child{grid-column:1/-1}.company-facts dd{font-size:3rem}.company-facts .registration{font-size:2rem;line-height:1}.footer{flex-direction:column;gap:10px}}
@media(max-width:1050px){.expertise-heading,.projects-heading,.people-heading{gap:40px}.expertise-heading>p,.projects-heading>p,.people-heading>p{max-width:300px}.expertise-layout{gap:7%}.commitment-layout{gap:7%}.commitment figure img{height:620px}.people-grid{grid-template-columns:1fr 1fr;gap:40px}.project-row summary{grid-template-columns:65px 1fr 140px 20px;gap:15px}.project-detail{margin-left:80px}.project-detail dl{grid-template-columns:1fr 1fr}.project-detail dl>div:last-child{grid-column:1/-1}.corporate-grid{grid-template-columns:1fr 1fr;gap:30px}.corporate-grid>div:last-child{grid-column:1/-1}.hero-foot,.hero-visual figcaption,.eyebrow{font-size:.75rem}.hero-foot{flex-wrap:wrap;gap:8px 20px}.contact-layout{gap:8%}}
@media(max-width:720px){.expertise{padding-top:10px}.expertise-heading,.projects-heading,.people-heading{display:block;margin-bottom:35px}.expertise-heading>p,.projects-heading>p,.people-heading>p{margin-top:25px;max-width:500px}.expertise-layout{grid-template-columns:1fr;gap:35px}.expertise-photo{max-width:none}.expertise-photo img{height:270px;object-position:center 48%}.expertise-photo figcaption{font-size:.75rem}.service-list summary{padding:24px 0;gap:16px}.service-list details p{padding-left:30px;padding-right:15px}.project-toolbar{gap:12px;align-items:start}.project-toolbar>div{gap:10px}.project-toolbar select{max-width:140px}.project-toolbar p{max-width:150px;font-size:.8rem;padding-top:12px}.project-row summary{grid-template-columns:1fr 24px;gap:10px;padding:24px 0}.project-year{grid-column:1;font-size:.75rem}.project-title{grid-column:1;grid-row:2}.project-title h3{font-size:1.3rem}.project-row .plus{grid-column:2;grid-row:2}.project-category{grid-column:1;text-align:left;font-size:.75rem;margin-top:3px}.project-detail{margin:0 0 26px}.project-detail dl{grid-template-columns:1fr;gap:20px}.project-note{font-size:.75rem}.commitment{padding-top:65px}.commitment-layout{grid-template-columns:1fr;gap:40px}.commitment figure img{height:340px;object-position:center 28%}.principles{gap:25px}.people-grid{gap:35px 24px}.people-grid h3{font-size:1.25rem}.people-grid article>p:last-child{font-size:.75rem}.corporate-grid{grid-template-columns:1fr;gap:30px}.contact-layout{grid-template-columns:1fr;gap:50px}.contact address{padding-top:30px;border-top:1px solid #4e5355}.contact address p{margin:20px 0}.contact{padding-bottom:50px}.hero h1{font-size:clamp(3.5rem,14.2vw,5.5rem)}.hero-foot,.hero-visual figcaption,.eyebrow{font-size:.75rem}.hero-foot{padding-top:28px;gap:10px}.contact-email{font-size:clamp(1.1rem,5vw,1.6rem)}}
@media(max-width:420px){.people-grid{grid-template-columns:1fr}.principles{grid-template-columns:1fr}.project-toolbar>div{display:block}.project-toolbar label{display:block;margin-bottom:8px}.hero-image{height:310px}.brand span{display:none}.hero-description{font-size:.95rem}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
