@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#20292d;--muted:#5e676b;--line:#d8dddf;--paper:#fff;--soft:#f0f3f4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font:1rem/1.7 'Manrope',Arial,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}a:focus-visible{outline:3px solid #4d93b3;outline-offset:6px}.skip{position:fixed;top:-80px;left:20px;background:#fff;padding:12px;z-index:20}.skip:focus{top:10px}header{height:94px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;gap:30px;background:white}.brand{display:flex;align-items:center;gap:10px;line-height:1}.brand b{font-size:1.9rem;font-weight:800;letter-spacing:-.06em}.brand small{display:block;font-size:.75rem;letter-spacing:.06em;margin-top:5px}.brand img{object-fit:contain}nav{display:flex;gap:30px;font-size:.875rem}nav a:hover{border-bottom:1px solid}.contact-link{font-size:.875rem;font-weight:700;border-bottom:1px solid;padding-bottom:5px}.contact-link span{margin-left:20px}.hero{position:relative;min-height:690px;min-height:min(790px,calc(100svh - 94px));color:#fff;background:#20282c;display:flex;align-items:center}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-image{object-position:center;filter:grayscale(1)}.hero-shade{background:linear-gradient(90deg,rgba(13,22,27,.92),rgba(13,22,27,.48) 55%,rgba(13,22,27,.15))}.hero-content{position:relative;padding:70px 7% 110px;width:100%}.eyebrow{font-size:.75rem;letter-spacing:.15em;font-weight:700;margin:0 0 26px}.hero .eyebrow{color:#d5dde1}h1,h2{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-weight:600;line-height:1.04;letter-spacing:-.015em;margin:0}h1{font-size:clamp(3.4rem,6.7vw,7rem);max-width:950px}h2{font-size:clamp(2.6rem,4.5vw,4.7rem)}h3{line-height:1.3}.intro{font-size:1.1rem;margin:28px 0 32px;line-height:1.8;color:#e1e6e9}.button{display:inline-flex;align-items:center;gap:45px;padding:16px 22px;font-weight:700;font-size:.875rem}.light{background:white;color:var(--ink)}.button:hover{background:#dce5e9}.hero-foot{position:absolute;bottom:0;left:7%;right:7%;border-top:1px solid #ffffff42;display:flex;justify-content:space-between;gap:20px;padding:23px 0;font-size:.75rem;letter-spacing:.08em}.section{padding:95px 7%;scroll-margin-top:0}.about{display:grid;grid-template-columns:1fr 2fr;gap:50px}.about>div{max-width:760px}.about p:not(.eyebrow){color:var(--muted)}.large-copy{font-size:1.35rem;line-height:1.6}.director{margin-top:32px;border-top:1px solid var(--line);padding-top:24px}.director span{font-size:.875rem;font-weight:800}.director p{font-size:.875rem;max-width:640px}.services{background:var(--soft)}.section-title{display:flex;justify-content:space-between;gap:40px;margin-bottom:45px}.section-title h2{width:66%}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #aeb9bf}.service-grid article{padding:30px 24px 8px 0}.service-grid article+article{border-left:1px solid var(--line);padding-left:24px}.number{font-size:.875rem;color:var(--muted)}.service-grid h3{font-size:1.25rem;margin-top:38px}.service-grid p{font-size:1rem;color:var(--muted)}.service-grid .detail{font-size:.875rem}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px 30px}.project-image{aspect-ratio:1.7;overflow:hidden;background:var(--soft)}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.project:hover img{transform:scale(1.025)}.project-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:19px}.project h3{font-size:1.55rem;margin:0}.project-heading span{font-size:.75rem;letter-spacing:.06em}.project p{margin:6px 0;color:var(--muted);font-size:.875rem}.bim{background:var(--ink);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.bim p:not(.eyebrow){color:#d1d9dd}.bim figure{margin:0;background:white;padding:30px}.bim figure img{width:100%;aspect-ratio:1.1;object-fit:contain}.bim figcaption{color:var(--ink);font-size:.75rem;letter-spacing:.05em;text-align:center;padding-top:20px}.bim-labels{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.bim-labels span{font-size:.75rem;border:1px solid #667176;padding:7px 12px}.method ol{counter-reset:step;list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:25px;margin:45px 0 0}.method li{counter-increment:step;border-top:1px solid var(--line);padding-top:20px}.method li:before{content:'0' counter(step);color:var(--muted);font-size:.875rem}.method h3{font-size:1.05rem}.method li p{color:var(--muted);font-size:.875rem}.contact{background:var(--soft)}.contact-main{display:flex;justify-content:space-between;align-items:end;gap:40px}.email{font-size:clamp(1rem,1.8vw,1.65rem);border-bottom:1px solid;padding-bottom:10px;overflow-wrap:anywhere}.contact-details{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;border-top:1px solid var(--line);padding-top:32px;margin-top:55px}.contact-details h3{font-size:.875rem}.contact-details p{margin:0;color:var(--muted)}footer{padding:40px 7%;display:flex;align-items:center;justify-content:space-between;gap:30px}footer p,footer>a:last-child{font-size:.75rem;color:var(--muted)}@media(min-width:1600px){.section,header,footer{padding-left:max(7%,calc((100% - 1450px)/2));padding-right:max(7%,calc((100% - 1450px)/2))}}@media(max-width:1000px){nav{gap:15px}.contact-link{display:none}.service-grid{grid-template-columns:1fr 1fr}.service-grid article:nth-child(3){border-left:0;padding-left:0}.bim{gap:30px}.contact-main{display:block}.email{display:inline-block;margin-top:30px}.method ol{grid-template-columns:repeat(3,1fr)}}@media(max-width:640px){header{height:auto;min-height:100px;flex-wrap:wrap;padding:20px 6%;gap:20px}nav{width:100%;justify-content:space-between;gap:10px;font-size:.875rem}.hero{min-height:670px}.hero-content{padding:65px 6% 125px}h1{font-size:3.7rem}.hero .eyebrow{font-size:.75rem;max-width:260px}.hero-foot{left:6%;right:6%;flex-direction:column;gap:7px;font-size:.75rem;padding:20px 0}.section{padding:65px 6%}.about{grid-template-columns:1fr;gap:0}.section-title{display:block}.section-title h2{width:100%}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article+article{padding:25px 0;border-left:0;border-bottom:1px solid var(--line)}.service-grid h3{margin-top:15px}.project-grid{grid-template-columns:1fr;gap:35px}.project-heading{flex-wrap:wrap}.bim{grid-template-columns:1fr}.bim figure{padding:20px}.method ol{grid-template-columns:1fr;gap:12px}.method li{padding-top:16px}.method h3{margin:5px 0}.method li p{margin:5px 0 14px}.contact-details{grid-template-columns:1fr;gap:18px}.large-copy{font-size:1.15rem}footer{padding:30px 6%;align-items:start;flex-wrap:wrap}footer p{width:100%;order:3;margin:0}.intro{font-size:1rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* FTC Structural â€” portfolio refinement */
:root{--ink:#172a32;--muted:#576870;--line:#d6dfe2;--soft:#f2f5f6}
header{height:100px;border-bottom:1px solid var(--line);padding-left:6%;padding-right:6%}
header nav{font-weight:600}header .brand{gap:14px}.brand b{font-size:2.1rem}
.hero{background:#f3f5f5;color:var(--ink);min-height:690px;align-items:flex-start;overflow:hidden}
.hero-image{left:52%;width:48%;height:100%;object-position:62% center;filter:grayscale(1);border-left:1px solid #bcc9ce}
.hero-shade{display:none}.hero-content{width:58%;padding:74px 0 130px 6%;z-index:1}
.hero .eyebrow{color:#516870;font-size:.75rem}.hero h1{font-size:clamp(3.4rem,5.2vw,6.3rem);line-height:1.04;letter-spacing:-.025em}
.hero .intro{color:var(--muted);font-size:1.05rem;max-width:470px}.hero .light{background:var(--ink);color:#fff;padding:18px 24px}
.hero .light:hover,.dark:hover{background:#33505d}.hero-foot{left:0;right:0;padding:23px 6%;background:white;border-top:1px solid var(--line);color:#43565f;font-weight:600}
.section{padding:100px 6%}.eyebrow{letter-spacing:.16em}.about{grid-template-columns:1fr 1.7fr;padding-top:105px;padding-bottom:105px}
.about h2{font-size:clamp(2.8rem,4vw,4.7rem)}.services{background:var(--ink);color:white}.services p,.services .number,.services .service-grid p{color:#c0cdd3}.services .service-grid{border-color:#536671}.services .service-grid article+article{border-color:#435963}.services .section-title h2{width:63%}.service-more{font-size:.875rem;border-bottom:1px solid #9db0b8;padding-bottom:5px;display:inline-block;margin-top:14px}.service-grid h3{font-size:1.3rem}
.projects>.section-title{align-items:end;margin-bottom:42px}.projects>.section-title h2{width:auto}.portfolio-intro{max-width:380px;color:var(--muted);margin:0 0 6px;font-size:1.05rem}
.category-nav{display:flex;width:100%;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:72px;position:sticky;top:0;background:#fffffff5;backdrop-filter:blur(12px);z-index:5}
.category-nav a{padding:20px 24px 20px 0;font-size:.95rem;font-weight:700;flex:1}.category-nav a:hover{color:#2b6c83;border-bottom:0}.category-nav a+a{padding-left:24px;border-left:1px solid var(--line)}.category-nav span{font-size:.75rem;color:var(--muted);margin-left:12px;font-weight:400}
.project-category{scroll-margin-top:85px}.project-category+.project-category{margin-top:80px;padding-top:60px;border-top:1px solid var(--line)}
.category-heading{display:flex;gap:24px;align-items:start;margin-bottom:30px}.category-number{font-family:'Barlow Condensed',sans-serif;font-size:3rem;color:#a9b9c1;line-height:1.1}.category-heading h3{font-family:'Barlow Condensed',sans-serif;font-size:2.7rem;font-weight:500;margin:0;line-height:1.1}.category-heading p{color:var(--muted);margin:10px 0 0;font-size:.95rem}.category-count{font-size:.75rem;letter-spacing:.1em;margin-left:auto;padding-top:12px;white-space:nowrap}
.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 24px}.project{min-width:0}.project-image{aspect-ratio:1.65;background:#edf1f2}.project-image img{transition:transform .5s ease}.project h4{font-size:1.2rem;font-weight:700;line-height:1.3;margin:8px 0 10px}.project p{font-size:.95rem;line-height:1.65;margin:0;color:var(--muted)}.project .project-location{font-size:.75rem;letter-spacing:.02em;margin-top:18px;color:#657982}.project:hover img{transform:scale(1.04)}
.assessments{background:var(--soft);border-top:1px solid var(--line)}.assessment-top{display:grid;grid-template-columns:1.1fr 1fr;gap:70px}.assessment-top .large-copy{margin-top:0}.assessment-top p{color:var(--muted)}.dark{background:var(--ink);color:#fff;margin-top:18px}.assessment-scope{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;border-top:1px solid #bccbd1;border-bottom:1px solid #bccbd1;padding:22px 0;margin:45px 0 55px;font-size:.875rem;font-weight:600}.review-title{font-size:1.25rem;margin:0 0 25px}.assessments .project-image{aspect-ratio:1.8}
.bim{background:#fff;color:var(--ink);gap:80px}.bim p:not(.eyebrow){color:var(--muted)}.bim figure{border:1px solid var(--line);padding:34px;background:#fff}.bim-labels span{border-color:#bbc9cf}.method{border-top:1px solid var(--line)}.contact{background:var(--ink);color:white}.contact .eyebrow,.contact-details p{color:#c0cdd3}.contact-details{border-color:#536671}.contact-details a{font-size:1.1rem}.contact-details h3{color:#b8c8ce;font-weight:500}.contact h2{font-size:clamp(2.9rem,4.4vw,5rem)}footer{padding-left:6%;padding-right:6%}
@media(max-width:1000px){header nav{gap:16px}.hero{min-height:620px}.hero-content{width:62%;padding-top:60px}.hero-image{left:57%;width:43%}.hero h1{font-size:4rem}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.services .service-grid article:nth-child(3){border-left:0}.assessment-top{gap:35px}.assessment-scope{grid-template-columns:1fr 1fr}.category-count{display:none}}
@media(max-width:640px){header{height:auto;padding:18px 6%;gap:20px}header nav{font-size:.78rem;gap:10px}.hero{display:block;min-height:0;padding-bottom:0;overflow:visible}.hero-content{width:100%;padding:44px 6% 40px}.hero h1{font-size:3.75rem}.hero .intro{font-size:1rem}.hero-image{position:relative;inset:auto;width:100%;height:240px;border:0;object-position:center 45%}.hero-content{order:-1}.hero{display:flex;flex-direction:column}.hero-foot{position:relative;width:100%;padding:20px 6%;font-size:.7rem}.section{padding:64px 6%}.about{grid-template-columns:1fr}.section-title{display:block}.services .section-title h2{width:100%}.services .service-grid article+article{border-left:0;border-bottom-color:#435963}.projects>.section-title{display:block}.portfolio-intro{margin-top:24px;font-size:1rem}.category-nav{margin-bottom:38px;gap:0;top:0}.category-nav a,.category-nav a+a{font-size:.8rem;padding:16px 8px;line-height:1.4}.category-nav a:first-child{padding-left:0}.category-nav span{display:block;margin-left:0;margin-top:5px}.category-heading{gap:16px}.category-heading h3{font-size:2.3rem}.category-heading p{font-size:.875rem}.project-grid{grid-template-columns:1fr;gap:32px}.project-category+.project-category{margin-top:48px;padding-top:38px}.project h4{font-size:1.3rem}.project-category{scroll-margin-top:100px}.assessment-top{grid-template-columns:1fr;gap:26px}.assessment-scope{font-size:.8rem;gap:18px;margin:32px 0}.bim{gap:30px}.bim figure{padding:22px}.contact .email{font-size:1.05rem}.hero .eyebrow{max-width:none}.project-image{aspect-ratio:1.65}}
