
*{box-sizing:border-box}
body{
margin:0;
font-family:Arial,Helvetica,sans-serif;
background:#f8fafc;
color:#0f172a;
line-height:1.6
}
.container{
width:min(1180px,calc(100% - 40px));
margin:auto
}
.header{
background:#020617;
border-bottom:1px solid #f97316
}
.nav{
display:flex;
justify-content:space-between;
align-items:center;
padding:22px 0
}
.logo{
font-size:32px;
font-weight:800;
color:#fb923c
}
.tagline{
font-size:14px;
color:#cbd5e1
}
.menu{
display:flex;
gap:28px
}
.menu a{
color:#e2e8f0;
text-decoration:none
}
.hero{
position:relative;
min-height:720px;
display:flex;
align-items:center;
overflow:hidden;
color:white;
background:#020617
}
.hero-bg{
position:absolute;
inset:0;
background-image:url('images/01_hero_city_skyline.png');
background-size:cover;
background-position:center;
opacity:.48
}
.hero-overlay{
position:absolute;
inset:0;
background:linear-gradient(135deg,rgba(2,6,23,.85),rgba(15,23,42,.72))
}
.hero-content{
position:relative;
display:grid;
grid-template-columns:1.1fr .9fr;
gap:58px;
padding:90px 0;
align-items:center
}
.pill{
display:inline-block;
padding:10px 18px;
border-radius:999px;
border:1px solid rgba(249,115,22,.4);
background:rgba(249,115,22,.14);
color:#fdba74;
margin-bottom:24px
}
h1{
font-size:64px;
line-height:1.02;
margin-bottom:26px;
max-width:780px
}
.hero-copy p{
font-size:20px;
color:#cbd5e1;
max-width:720px
}
.buttons{
display:flex;
gap:16px;
margin-top:32px;
flex-wrap:wrap
}
.btn{
padding:15px 26px;
border-radius:16px;
font-weight:800;
text-decoration:none
}
.btn-primary{
background:#f97316;
color:white
}
.btn-secondary{
border:1px solid #fb923c;
color:white
}
.glass-card{
background:rgba(255,255,255,.10);
backdrop-filter:blur(12px);
padding:36px;
border-radius:30px
}
.glass-card h2{
color:#fdba74
}
.glass-card ul{
padding-left:20px
}
.section{
padding:88px 0
}
.white{
background:white
}
.section-header{
max-width:760px
}
.section-label{
text-transform:uppercase;
letter-spacing:.22em;
font-size:12px;
font-weight:800;
color:#f97316;
margin-bottom:14px
}
h2{
font-size:46px;
margin-bottom:18px
}
.grid{
display:grid;
gap:24px;
margin-top:42px
}
.four{
grid-template-columns:repeat(4,1fr)
}
.card{
background:white;
border:1px solid #fed7aa;
border-radius:28px;
padding:30px;
box-shadow:0 10px 30px rgba(15,23,42,.06)
}
.icon{
width:58px;
height:58px;
display:flex;
align-items:center;
justify-content:center;
background:#ffedd5;
border-radius:18px;
font-size:28px;
font-weight:900;
margin-bottom:22px;
color:#ea580c
}
.split{
display:grid;
grid-template-columns:1fr 1fr;
gap:58px;
align-items:center
}
.market-list{
display:grid;
gap:14px;
margin-top:28px
}
.market-list div{
padding:16px;
background:#fff7ed;
border-radius:18px;
border:1px solid #fed7aa
}
.dark-card{
background:linear-gradient(135deg,#020617,#0f172a);
color:white;
padding:38px;
border-radius:30px;
border:1px solid rgba(249,115,22,.25)
}
.contact{
background:#f1f5f9
}
.support-list{
padding-left:20px;
display:grid;
gap:12px
}
.footer{
background:#020617;
color:#94a3b8;
padding:40px 0;
text-align:center;
border-top:1px solid rgba(249,115,22,.25)
}
@media(max-width:980px){
.hero-content,.split,.four{
grid-template-columns:1fr
}
.menu{
display:none
}
h1{
font-size:46px
}
}


/* Fixed Representative Projects / Capabilities Page */
.menu a.active{color:#fb923c;font-weight:800}.project-preview{border-top:1px solid #e2e8f0}.project-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}.project-tile{position:relative;min-height:250px;overflow:hidden;border-radius:18px;box-shadow:0 18px 38px rgba(15,23,42,.16);text-decoration:none;background:#0f172a}.project-tile img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .35s ease;opacity:.82}.project-tile span{position:absolute;left:22px;right:22px;bottom:22px;color:#fff;font-size:22px;font-weight:900;text-shadow:0 2px 12px rgba(0,0,0,.55)}.project-tile:hover img{transform:scale(1.05)}.center-action{text-align:center;margin-top:34px}.projects-hero{position:relative;min-height:560px;display:flex;align-items:center;overflow:hidden;background:#020617;color:#fff}.projects-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.78}.projects-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,6,23,.95),rgba(2,6,23,.62) 52%,rgba(2,6,23,.15))}.projects-hero-content{position:relative;padding:90px 0;max-width:850px}.projects-hero-content h1{font-size:62px;line-height:1.02;margin:0 0 20px;color:#fff;text-transform:uppercase}.projects-hero-content p{font-size:22px;color:#e2e8f0;max-width:760px;margin:0 0 28px}.wide-head{max-width:980px}.light-section{background:#f1f5f9}.project-card-grid{display:grid;gap:22px;margin-top:38px}.project-card-grid.five{grid-template-columns:repeat(5,1fr)}.project-card-grid.three{grid-template-columns:repeat(3,1fr)}.photo-card{background:#fff;border:1px solid #d7dee8;box-shadow:0 14px 30px rgba(15,23,42,.08);overflow:hidden;min-height:100%;border-radius:2px}.photo-card img{width:100%;height:210px;object-fit:cover;display:block}.photo-card.large img{height:265px}.photo-card-body{padding:22px}.photo-card-body h3{font-size:17px;line-height:1.25;text-transform:uppercase;color:#08295a;margin:0 0 10px}.photo-card-body strong{display:block;color:#0b3768;font-size:14px;margin-bottom:14px}.photo-card-body p{font-size:14px;line-height:1.55;margin:0;color:#1f2937}.logo-section{padding-top:42px;padding-bottom:42px}.logos-strip{width:100%;height:auto;display:block;margin-top:20px}.dark-section{background:#020617;color:#fff}.value-band{padding:44px 0}.value-row{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}.value-row>div{border-right:1px solid rgba(255,255,255,.22);padding-right:24px}.value-row>div:last-child{border-right:0}.value-row h3{color:#fff;margin:0 0 10px;text-transform:uppercase}.value-row p{color:#cbd5e1;margin:0}.footer-flex{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-flex a{color:#fb923c;text-decoration:none;font-weight:900}
@media(max-width:1200px){.project-card-grid.five{grid-template-columns:repeat(2,1fr)}.project-card-grid.three,.value-row,.project-preview-grid{grid-template-columns:1fr 1fr}.projects-hero-content h1{font-size:48px}}
@media(max-width:760px){.project-card-grid.five,.project-card-grid.three,.value-row,.project-preview-grid{grid-template-columns:1fr}.projects-hero{min-height:460px}.projects-hero-content h1{font-size:38px}.projects-hero-content p{font-size:18px}.value-row>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:18px}.footer-flex{display:block}.footer-flex a{display:inline-block;margin-top:14px}}

/* EV / Solar / Energy Infrastructure Additions */
.energy-section{background:linear-gradient(180deg,#fff7ed 0%,#ffffff 48%,#f1f5f9 100%);border-top:1px solid #fed7aa;border-bottom:1px solid #fed7aa}
.energy-section .photo-card{border-color:#fdba74}
.energy-section .photo-card-body h3{color:#9a3412}
.energy-section .photo-card-body strong{color:#c2410c}
@media(min-width:981px){.project-preview-grid{grid-template-columns:repeat(4,1fr)}}


/* Usability + hover enhancements */
html{scroll-behavior:smooth}
.card,.photo-card,.project-tile,.market-list div,.dark-card,.btn{transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease}
.card:hover,.photo-card:hover,.market-list div:hover{transform:translateY(-8px);box-shadow:0 22px 44px rgba(15,23,42,.16);border-color:#fb923c}
.project-tile:hover{transform:translateY(-8px);box-shadow:0 26px 52px rgba(15,23,42,.24)}
.dark-card:hover{transform:translateY(-6px);box-shadow:0 24px 46px rgba(2,6,23,.28)}
.btn:hover{transform:translateY(-3px);box-shadow:0 14px 26px rgba(249,115,22,.25)}
.back-to-top{position:fixed;right:22px;bottom:22px;z-index:999;background:#f97316;color:#fff;text-decoration:none;font-weight:900;border-radius:999px;padding:13px 18px;box-shadow:0 16px 32px rgba(15,23,42,.25);border:1px solid rgba(255,255,255,.28)}
.back-to-top:hover{background:#ea580c;transform:translateY(-4px)}
.energy-section .photo-card img,.project-tile img{filter:saturate(1.04) contrast(1.02)}
@media(max-width:760px){.back-to-top{right:14px;bottom:14px;padding:11px 14px;font-size:14px}}
