
:root{--red:#bd202b;--black:#15191f;--slate:#333b45;--grey:#69717b;--muted:#f1f3f4;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--black);font-family:Arial,Helvetica,sans-serif;line-height:1.58}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.small{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--red)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(38px,5.6vw,76px);line-height:1.07;letter-spacing:-.045em}h2{font-size:clamp(29px,3.1vw,45px);line-height:1.18;letter-spacing:-.025em}h3{font-size:21px;line-height:1.3}p{color:#56606a}header{position:sticky;top:0;z-index:100;background:white;box-shadow:0 3px 18px #00000010}.topline{height:4px;background:var(--red)}.navrow{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:90px}.brand{display:flex;align-items:center;gap:14px;min-width:0}.logo{width:102px;height:72px;object-fit:contain;object-position:center}.brand-copy{border-left:1px solid #d7dadd;padding-left:13px;line-height:1.2}.brand-copy strong{font-size:16px;letter-spacing:.055em}.brand-copy span{font-size:11px;color:#6a737c;display:block;margin-top:6px;letter-spacing:.09em;text-transform:uppercase}.navlinks{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:700}.navlinks a:hover{color:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:13px;font-weight:800;letter-spacing:.025em;background:var(--red);color:white;padding:15px 22px;border:1px solid var(--red);transition:.2s}.btn:hover{background:#991824}.btn.light{background:transparent;border-color:#fff;color:#fff}.btn.light:hover{background:#ffffff24}.menu-toggle{display:none;background:none;border:0;font-size:25px}.hero{position:relative;background:#121820;color:white;min-height:585px;display:flex;align-items:center;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,18,25,.96) 0%,rgba(15,21,29,.9) 35%,rgba(18,22,28,.3) 100%),url('project-10.png') center/cover}.hero:after{content:"";position:absolute;right:-90px;top:-150px;width:370px;height:900px;background:#c5202b55;transform:rotate(20deg)}.hero-inner{position:relative;z-index:2;padding:76px 0 85px;max-width:1160px}.hero-content{max-width:740px}.hero .small{color:#ff7780}.hero p{font-size:18px;color:#e0e4e7;max-width:650px}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.section{padding:92px 0}.section-heading{max-width:775px;margin-bottom:42px}.section-heading p{font-size:17px}.intro{display:grid;grid-template-columns:1.06fr .94fr;align-items:center;gap:76px}.intro-photo{min-height:385px;position:relative;background:url('engcorp-crane.png') center/cover}.intro-photo:after{content:"Engineering-led. Delivery-focused.";position:absolute;bottom:-24px;right:-22px;background:var(--red);color:white;font-size:18px;font-weight:800;padding:22px 30px;max-width:275px;line-height:1.3}.intro strong{color:#28313b}.statrow{display:flex;gap:23px;margin-top:28px;padding-top:19px;border-top:1px solid #d7dade}.stat{font-size:13px;font-weight:750;line-height:1.4;color:#45515e;border-left:3px solid var(--red);padding-left:12px}.dark{background:var(--black);color:white}.dark p{color:#c0c7cd}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.service{background:#262e37;padding:30px 23px;min-height:282px;border-top:4px solid var(--red)}.service .n{font-size:13px;color:#d85860;font-weight:800;margin-bottom:40px}.service h3{color:#fff;font-size:21px}.service p{font-size:14px;margin-bottom:0}.projects{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.project{background:#fff;border:1px solid #e5e8eb;overflow:hidden}.project img{width:100%;height:270px;object-fit:cover}.project .body{padding:25px 27px}.project .body .small{font-size:10px}.project h3{margin:10px 0 8px}.project p{font-size:14px;margin-bottom:0}.note{font-size:12px;color:#77818b;padding-top:20px}.feature{background:#f0f2f3}.split{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.feature img{width:100%;height:380px;object-fit:cover}.feature ul{list-style:none;padding:0;margin:24px 0}.feature li{padding:10px 0 10px 24px;border-bottom:1px solid #d6dadd;position:relative}.feature li:before{content:"";position:absolute;left:0;top:19px;width:8px;height:8px;background:var(--red)}.contact{background:var(--red);color:#fff}.contact p{color:#ffe6e7}.contact h2{max-width:780px}.contact .btn{background:#fff;color:var(--black);border-color:#fff}.contact .btn:hover{background:#f2eded}footer{background:#10151b;color:#fff;padding:40px 0}.footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:flex-start}.footbrand{font-weight:800;letter-spacing:.05em}.footbrand small{display:block;color:#9fa9b4;font-weight:400;letter-spacing:0;margin-top:7px}.footer-links{font-size:13px;color:#c4cbd0;display:flex;gap:24px}.footerbottom{font-size:12px;color:#909ca7;border-top:1px solid #3a434d;padding-top:19px;margin-top:26px;display:flex;justify-content:space-between;gap:15px}.preview{font-size:11px;background:#f8e9e9;color:#92222d;text-align:center;padding:6px}.muted{color:#f3f4f5}a:focus-visible,button:focus-visible{outline:3px solid #e6a44d;outline-offset:3px}@media(max-width:1050px){.cards{grid-template-columns:repeat(2,1fr)}.navlinks{gap:13px}.brand-copy{display:none}}@media(max-width:760px){.wrap{width:min(100% - 34px,1160px)}.navrow{min-height:76px}.logo{width:85px;height:60px}.menu-toggle{display:block}.navlinks{display:none;position:absolute;top:80px;left:0;right:0;flex-direction:column;align-items:stretch;background:#fff;padding:22px 24px;gap:17px;box-shadow:0 10px 20px #0002}.navlinks.open{display:flex}.hero{min-height:540px}.hero:before{background:linear-gradient(90deg,#111923ef,#111923b5),url('project-10.png') center/cover}.section{padding:67px 0}.intro,.split{grid-template-columns:1fr;gap:40px}.intro-photo{min-height:300px;margin-right:20px}.cards,.projects{grid-template-columns:1fr}.service{min-height:210px}.service .n{margin-bottom:22px}.project img{height:225px}.footer-grid,.footerbottom{flex-direction:column}.footer-links{flex-wrap:wrap}.statrow{flex-wrap:wrap}}

/* Rev 1.1 multi-page enhancements */
.pagehero{background:#131b25;color:white;padding:90px 0 75px;position:relative;overflow:hidden}.pagehero h1{font-size:clamp(36px,5vw,62px);max-width:840px}.pagehero p{color:#d5dce3;max-width:720px;font-size:18px}.pagehero .small{color:#fa8188}.breadcrumb{font-size:12px;color:#aab4c0;margin-bottom:30px}.breadcrumb a{text-decoration:underline}.prose{max-width:790px}.two{display:grid;grid-template-columns:1fr 1fr;gap:30px}.detail{padding:28px;border:1px solid #e0e4e8;background:#fff}.detail h3{margin-bottom:10px}.detail p{font-size:15px}.bullet{padding-left:20px;color:#4b5863}.bullet li{margin-bottom:11px}.project-detail{display:grid;grid-template-columns:minmax(220px,.9fr) 1.1fr;gap:32px;border-top:1px solid #e1e4e7;padding:28px 0}.project-detail img{height:235px;object-fit:cover;width:100%}.soft{background:#f2f4f5}.callout{border-left:4px solid var(--red);padding:19px 24px;background:#f4f5f6;color:#3c4650}.contactitems{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contactitems .detail{min-height:170px}.mini{font-size:12px;color:#687783}.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:200;background:#fff;padding:10px}nav a[aria-current=page]{color:#bd202b}.notice{padding:15px 18px;background:#fff1f1;border-left:3px solid #bd202b;font-size:13px;color:#62252b}.servicegrid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.servicegrid .detail{min-height:240px}@media(max-width:760px){.two,.project-detail,.contactitems,.servicegrid{grid-template-columns:1fr}.pagehero{padding:60px 0}.project-detail img{height:220px}}

/* Rev 1.2 selectable About Us sections */
.about-area{padding-top:72px}.about-tabs{display:flex;gap:7px;flex-wrap:wrap;border-bottom:2px solid #e4e7e9;margin-bottom:38px}.about-tab{font:700 13px Arial,Helvetica,sans-serif;color:#3c4752;background:#f1f3f4;border:1px solid #e4e7e9;border-bottom:0;padding:16px 19px;cursor:pointer;transition:.18s}.about-tab:hover{background:#e9e9eb;color:#b71e2b}.about-tab[aria-selected="true"]{background:#bd202b;color:#fff;border-color:#bd202b}.about-tab:focus-visible{outline:3px solid #e6a44d;outline-offset:3px}.about-panel{min-height:370px}.about-panel[hidden]{display:none!important}.about-content{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(240px,.7fr);gap:50px;align-items:start}.about-content p,.about-narrow p{font-size:16px;line-height:1.8}.about-photo{width:100%;height:400px;object-fit:cover}.about-narrow{max-width:1000px}.about-twocol{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:24px 0}.signature{border-top:1px solid #dee2e5;max-width:330px;margin-top:30px;padding-top:22px}.people-layout{grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr)}.portrait-placeholder{min-height:440px;background:linear-gradient(135deg,#2b323a,#12171c);display:flex;align-items:center;justify-content:center;flex-direction:column;color:#fff;border-bottom:6px solid #bd202b}.portrait-initials{font-size:108px;font-weight:800;letter-spacing:-.09em}.portrait-placeholder small{font-size:12px;color:#bec6ce}.people-role{font-weight:800;color:#bd202b!important}.about-panel .btn{margin-top:14px}@media(max-width:760px){.about-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.about-tab{text-align:left;padding:13px 12px}.about-content,.about-twocol,.people-layout{grid-template-columns:1fr}.about-photo{height:260px}.portrait-placeholder{min-height:280px}.portrait-initials{font-size:76px}}

/* Rev 1.3 Leadership, brochure and QR */
.leader-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:30px 0}.leader-card{border:1px solid #e5e7e9;background:#fff;overflow:hidden;display:grid;grid-template-columns:165px 1fr}.leader-photo{background:linear-gradient(145deg,#30363d,#101318);min-height:230px;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-bottom:5px solid #bd202b}.leader-photo span{font-weight:800;font-size:50px}.leader-photo small{font-size:10px;color:#bcc1c7}.leader-info{padding:24px}.leader-info h2{font-size:23px;margin:9px 0}.leader-info p{font-size:14px;line-height:1.65}.leader-role{font-weight:700;color:#bd202b}.brochure-banner{margin:42px 0;padding:32px;background:#f1f2f3;border-left:5px solid #bd202b;display:flex;gap:28px;justify-content:space-between;align-items:center}.brochure-banner h2{margin:7px 0 12px}.site-qr{display:flex;gap:17px;align-items:center;padding:15px 0 28px;color:#fff}.site-qr img{width:110px;height:110px;object-fit:contain;background:white;border:5px solid white}.site-qr div{display:flex;flex-direction:column;gap:5px}.site-qr span{opacity:.75;font-size:13px}@media(max-width:750px){.leader-grid{grid-template-columns:1fr}.leader-card{grid-template-columns:125px 1fr}.brochure-banner{flex-direction:column;align-items:flex-start}.leader-info{padding:17px}}

/* Rev 1.4: director profile portrait */
.leader-photo-image{padding:0;overflow:hidden;background:#eaeaea}
.leader-photo-image img{width:100%;height:100%;min-height:230px;max-height:295px;object-fit:cover;object-position:center;display:block}

/* Rev 1.6: leadership photographic grid, consistent 4:5 image ratios */
.leader-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch;margin:36px 0}
.leader-card{display:flex;flex-direction:column;min-width:0;border:1px solid #e1e5e8;box-shadow:0 8px 24px rgba(15,24,33,.05);border-bottom:4px solid var(--red)}
.leader-photo{border:0;min-height:0;aspect-ratio:4/5;background:#e5e6e7;display:block;overflow:hidden}
.leader-photo-image img{width:100%;height:100%;min-height:0;max-height:none;aspect-ratio:4/5;object-fit:cover;object-position:50% 18%;display:block}
.leader-info{padding:22px 20px 26px;flex:1;display:flex;flex-direction:column}
.leader-info h2{font-size:clamp(20px,1.65vw,25px);margin:8px 0 8px;letter-spacing:-.02em;line-height:1.14}
.leader-role{font-size:13px!important;margin:0 0 14px!important;line-height:1.4!important}
.leader-info p:last-child{font-size:13px;line-height:1.7;margin-bottom:0}
@media(max-width:1050px){.leader-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.leader-info h2{font-size:24px}}
@media(max-width:540px){.leader-grid{grid-template-columns:1fr;gap:26px}.leader-card{max-width:420px;margin-inline:auto;width:100%}.leader-photo,.leader-photo-image img{aspect-ratio:4/4.3}.leader-info h2{font-size:25px}}

/* Rev 1.7: evidence-led portfolio */
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.case-card{border:1px solid #dfe4e7;background:#fff;box-shadow:0 8px 30px #15202d0b;overflow:hidden}
.case-card>img{height:260px;width:100%;object-fit:cover}
.case-copy{padding:27px 28px 30px}
.case-category{color:#bd202b;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:800}
.case-copy h3{font-size:25px;margin:10px 0 20px}
.case-facts{margin:0;border-top:1px solid #e6e9ec}
.case-facts>div{display:grid;grid-template-columns:118px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid #e6e9ec}
.case-facts dt{font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:800;color:#707b85}
.case-facts dd{margin:0;font-size:14px;line-height:1.5;color:#35414b}
.case-summary{margin:18px 0 0;font-size:14px}
.portfolio-note{margin:30px 0 18px;padding:23px 27px;background:#f5f6f7;border-left:4px solid #bd202b}
.portfolio-note strong{font-size:17px}
.portfolio-note p{margin:7px 0 0;font-size:14px}
.portfolio-next{padding:35px 0 5px;max-width:810px}
.portfolio-next h2{font-size:30px}.portfolio-next p{font-size:15px}.portfolio-next .btn{margin-top:8px}
@media(max-width:850px){.portfolio-grid{grid-template-columns:1fr}.case-card>img{height:280px}}
@media(max-width:500px){.case-card>img{height:210px}.case-copy{padding:20px}.case-facts>div{grid-template-columns:1fr;gap:2px}}

/* Rev 1.9: client logos and updated QR */
.logos-section{background:#f7f8f9}.logo-wall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:24px}.logo-item{background:#fff;border:1px solid #e3e6e8;min-height:110px;display:flex;align-items:center;justify-content:center;padding:18px;box-shadow:0 4px 20px #15202d08}.logo-item img{max-width:100%;max-height:62px;object-fit:contain;filter:grayscale(100%)}.logo-item:hover img{filter:none}@media(max-width:850px){.logo-wall{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:560px){.logo-wall{grid-template-columns:repeat(2,minmax(0,1fr))}.logo-item{min-height:92px;padding:12px}.logo-item img{max-height:50px}}

/* Rev 2.0: portfolio, logo wall and leadership presentation */
.logo-wall{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.logo-item{min-height:140px;border-radius:8px;padding:24px}
.logo-item img{max-height:84px;filter:none}
.logo-item:hover{box-shadow:0 10px 28px #15202d18;transform:translateY(-2px);transition:box-shadow .2s ease,transform .2s ease}
.case-link{display:inline-block;margin-top:20px;color:#bd202b;font-size:14px;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.case-detail-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:45px;align-items:start}
.case-detail-photo{width:100%;max-height:500px;object-fit:cover;border-radius:8px}
.case-detail-grid h3{font-size:18px;margin:24px 0 8px}
@media(max-width:850px){.case-detail-grid{grid-template-columns:1fr}.logo-wall{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.logo-wall{grid-template-columns:repeat(2,minmax(0,1fr))}.logo-item{min-height:110px;padding:15px}.logo-item img{max-height:66px}}
