@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Inter:wght@400;500;600;700&display=swap');
:root{--ink:#071321;--navy:#0d2032;--gold:#efb54e;--cream:#f5f5f2;--muted:#9ca9b6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:#152333;font:16px/1.65 Inter,Arial,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3{font-family:'Barlow Condensed',Impact,sans-serif;line-height:1.05;letter-spacing:.015em;margin:0 0 18px}h1{font-size:clamp(52px,6.2vw,104px)}h2{font-size:clamp(38px,4.4vw,66px)}h3{font-size:30px}.wrap{max-width:1220px;padding:0 26px;margin:auto}.site-header{position:absolute;z-index:4;width:100%;color:white}.site-header .wrap{display:flex;align-items:center;gap:32px;justify-content:space-between;padding-top:20px;padding-bottom:20px}.logo{width:205px;height:82px;object-fit:contain;background:white;border-radius:3px;padding:7px}.nav{display:flex;gap:20px;align-items:center}.nav a{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.nav a:hover,.nav a.active{color:var(--gold)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border:1px solid var(--gold);background:var(--gold);color:#071321;font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:12px;border-radius:3px}.btn.outline{background:transparent;color:var(--gold)}.btn:hover{filter:brightness(1.1)}.menu-toggle{display:none}.hero{min-height:760px;background:linear-gradient(90deg,rgba(4,12,22,.5),transparent 75%),url('assets/hero-truck.jpg') center/cover;display:flex;align-items:center;color:white}.hero .wrap{width:100%;padding-top:100px}.hero-content{max-width:690px}.eyebrow{text-transform:uppercase;color:var(--gold);letter-spacing:.36em;font-weight:700;font-size:12px;margin:0 0 24px}.hero h1{max-width:700px}.accent{color:var(--gold)}.hero p.lead{font-size:19px;max-width:530px;color:#e2e7ed;margin-bottom:32px}.page-hero{background:linear-gradient(120deg,#081523,#18324b);color:white;padding:185px 0 85px}.page-hero p{max-width:700px;color:#d2dce4}.section{padding:90px 0}.section.dark{background:#0c1c2d;color:white}.section.dark p{color:#d0d7df}.section.soft{background:#e8eced}.intro{max-width:770px;margin-bottom:36px;color:#566371}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.grid.two{grid-template-columns:repeat(2,1fr)}.tile{background:white;border:1px solid #e0e4e6;border-radius:4px;overflow:hidden}.tile img{width:100%;height:270px;object-fit:cover}.tile-body{padding:25px}.tile p{color:#53616c}.smallcap{text-transform:uppercase;color:#aa7523;letter-spacing:.13em;font-weight:700;font-size:12px}.split{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}.split img{width:100%;height:430px;object-fit:cover}.stat-row{display:flex;gap:35px;flex-wrap:wrap}.stat{border-left:3px solid var(--gold);padding-left:15px}.stat strong{display:block;font-size:24px}.cta{background:var(--gold);padding:65px 0}.cta .wrap{display:flex;justify-content:space-between;align-items:center;gap:25px}.cta .btn{background:#0c1c2d;color:white;border-color:#0c1c2d}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.gallery img{width:100%;height:270px;object-fit:cover;border-radius:3px}.gallery .wide{grid-column:span 2}.gallery .wide img{height:340px}.project{margin-bottom:72px}.project h3{font-size:38px}.tag{display:inline-block;background:#e5eaf0;color:#1a354e;font-size:12px;font-weight:700;padding:5px 12px;margin:0 8px 12px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px}.contact-form{display:grid;gap:15px}label{font-size:13px;font-weight:700;display:grid;gap:6px}input,textarea,select{font:inherit;width:100%;padding:13px;border:1px solid #cbd2d7;border-radius:3px;background:white}textarea{min-height:140px}.note{font-size:13px;color:#64707b}.site-footer{background:#071321;color:#e0e5eb;padding:50px 0 25px}.footer-grid{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}.footer-links{display:flex;gap:15px;flex-wrap:wrap}.footer-links a{font-size:13px}.copyright{border-top:1px solid #263648;padding-top:20px;margin-top:40px;color:#8e9aa5;font-size:12px}@media(max-width:900px){.nav{gap:10px}.nav a{font-size:10px}.logo{width:140px;height:60px}.split{gap:28px}.hero{min-height:700px;background-position:58% center}}@media(max-width:720px){.menu-toggle{display:block;background:transparent;border:1px solid #9ca9b6;color:white;padding:8px 12px}.site-header .wrap{flex-wrap:wrap}.nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;background:#0b1a29;padding:18px}.nav.open{display:flex}.nav a{font-size:14px;padding:8px}.hero{min-height:700px;background-position:65% center}.hero h1{font-size:55px}.hero p.lead{font-size:16px}.grid,.grid.two,.split,.contact-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr}.gallery img,.gallery .wide img{height:210px}.section{padding:60px 0}.cta .wrap{display:block}.cta .btn{margin-top:18px}.page-hero{padding-top:150px}.logo{width:155px}}
/* Uplink 2026 approved content updates */
:root{--gold:#d9ad59}html{scroll-behavior:smooth}body{overflow-x:hidden}.narrow{max-width:900px;margin:auto}.section .intro{max-width:780px}.section h2{line-height:1.12}.value-card{padding:28px;border:1px solid #e4e5e6;background:white;border-radius:5px}.value-card h3{margin:10px 0}.value-icon{color:#bc8e38;font-size:30px}.soft{background:#f6f6f4}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.centered{text-align:center;margin-top:32px}.tile small{color:#98732e;font-weight:700;letter-spacing:.12em}.cta-flex{display:flex;gap:35px;align-items:center;justify-content:space-between}.cta-flex>div{max-width:800px}.cta .eyebrow{color:#d9ad59}.footprint{width:100%;height:auto;border:1px solid #e9e9e9;display:block;margin-top:24px}.map-note,.fineprint{font-size:.86rem;color:#60646b}.leaders{align-items:start}.leader{background:#fff;border:1px solid #e5e5e5}.leader img{display:block;width:100%;height:410px;object-fit:contain;object-position:center top;background:#f9f9f9}.leader-body{padding:28px}.leader blockquote{border-left:3px solid #c79c4a;margin:22px 0 4px;padding-left:18px;font-size:1.12rem;font-style:italic;line-height:1.6}.quote-credit{font-weight:600}.project-detail{padding:12px 0 55px;margin-bottom:45px;border-bottom:1px solid #e3e3e3}.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.photo-grid img{width:100%;height:280px;object-fit:cover;border-radius:3px}.photo-grid.single{grid-template-columns:1fr}.photo-grid.single img{height:auto;max-height:640px;object-fit:contain}.application-box{border:1px solid #ddd;padding:32px;background:#f8f8f6;scroll-margin-top:110px}.notice{border-left:4px solid #c49a4d;background:#f7f4ec;padding:18px;margin:20px 0}.footer-logo{max-width:190px;max-height:90px;object-fit:contain}.site-footer a{color:inherit}.text-link{color:#9e7838;font-weight:700}.hero-content{max-width:610px}.hero-inner{display:flex;align-items:center;min-height:inherit}.hero{background-position:center center}.hero-content h1{max-width:630px}@media(max-width:780px){.grid.two{grid-template-columns:1fr}.cta-flex{display:block}.cta-flex .btn{display:inline-block;margin-top:15px}.leader img{height:340px}.photo-grid{grid-template-columns:1fr}.photo-grid img{height:auto}.application-box{padding:22px}}

/* October 2026 refinements */
.hero-content h1{font-size:clamp(40px,5.4vw,78px);overflow-wrap:normal}.hero-content{max-width:800px}.hero{background-position:center center}.value-icon{color:#bc8e38}.equipment-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.equipment-grid .value-card{min-height:130px;display:flex;align-items:center}@media(max-width:720px){.hero-content h1{font-size:clamp(37px,9vw,58px)}.hero-content{max-width:100%}.hero{background-position:56% center}}

/* Approved October 10 revisions */
/* Readable header on light-background application page */
body:has(.application-box) .site-header{color:#102033;background:#f7f7f5;position:relative;border-bottom:1px solid #d8dee2}
body:has(.application-box) .site-header .nav a:not(.btn){color:#102033}
body:has(.application-box) .site-header .nav a:not(.btn):hover,body:has(.application-box) .site-header .nav a.active{color:#9d6b13}
body:has(.application-box) .site-header .nav .btn.outline{color:#102033;border-color:#b88b36}
body:has(.application-box) .site-header .menu-toggle{color:#102033;border-color:#102033}
@media(max-width:720px){body:has(.application-box) .site-header .nav{background:#fff;border:1px solid #dce1e4}}
/* Moderately smaller, consistent leadership portraits */
.leader img{height:340px;width:100%;object-fit:contain;object-position:center top;background:#fafafa}
@media(max-width:780px){.leader img{height:300px}}
/* Show entire real project photos, not a zoomed-in crop */
.photo-grid img,.photo-grid.single img{height:auto;max-height:none;object-fit:contain;background:#f2f3f3}
.photo-grid{align-items:start}
.photo-grid img{border:1px solid #e2e5e7}

/* Final visibility and sizing corrections — Oct 10 */
.leader img{width:78%;max-width:430px;height:300px;object-fit:contain;object-position:center center;margin:22px auto 0;background:#fff}
@media(max-width:780px){.leader img{width:82%;height:270px}}
/* Do not crop any project photography, including homepage project previews */
.photo-grid img,.photo-grid.single img,.gallery img,.gallery .wide img,.tile img{object-fit:contain!important;height:auto!important;max-height:none!important;width:100%;background:#f2f3f3}
.gallery,.photo-grid{align-items:start}
/* Versioned hero image to avoid showing an old graphic with lettering */
.hero{background-image:linear-gradient(90deg,rgba(4,12,22,.5),transparent 75%),url('assets/hero-truck-clean-oct10.jpg')!important}

/* Subcontractor application: high contrast navigation on light background */
body.subcontractor-page .site-header{background:#f7f7f5;color:#142638;position:relative;border-bottom:1px solid #d8dee2}
body.subcontractor-page .site-header .nav a:not(.btn){color:#142638}
body.subcontractor-page .site-header .nav a:not(.btn):hover{color:#926d2a}
body.subcontractor-page .site-header .nav .btn.outline{color:#142638;background:transparent;border-color:#b88b36}
body.subcontractor-page .site-header .nav .btn.outline:hover{background:#f3e8d0}
body.subcontractor-page .site-header .menu-toggle{color:#142638;border-color:#142638}
@media(max-width:720px){body.subcontractor-page .site-header .nav{background:#fff;border:1px solid #dce1e4}}

/* Three requested fixes — map, project photograph display, readable application header */
body.subcontractor-page .site-header {position:relative!important;background:#ffffff!important;color:#142638!important;border-bottom:1px solid #d8dee2!important}
body.subcontractor-page .site-header .nav a:not(.btn) {color:#142638!important}
body.subcontractor-page .site-header .nav a:not(.btn):hover {color:#986a18!important}
body.subcontractor-page .site-header .nav .btn.outline {color:#142638!important;border-color:#b88b36!important;background:transparent!important}
body.subcontractor-page .site-header .menu-toggle {color:#142638!important;border-color:#142638!important}
@media(max-width:720px) {body.subcontractor-page .site-header .nav {background:#fff!important}}
/* Display actual project image edge-to-edge, no letterbox from fixed-height slots. */
.project-detail .photo-grid, .project-detail .photo-grid.single {align-items:start!important}
.project-detail .photo-grid img {display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important;background:transparent!important}

/* Clean release: preserve full work photos and high-contrast navigation */
.project-detail .photo-grid img,.project-detail .photo-grid.single img,.tile img,.gallery img {object-fit:contain!important;object-position:center!important;height:auto!important;max-height:none!important;background:transparent!important}
body.subcontractor-page .site-header,body:has(.application-box) .site-header {background:#fff!important;color:#142638!important;position:relative!important}
body.subcontractor-page .site-header .nav a:not(.btn),body:has(.application-box) .site-header .nav a:not(.btn){color:#142638!important}
body.subcontractor-page .site-header .nav .btn.outline,body:has(.application-box) .site-header .nav .btn.outline{color:#142638!important;border-color:#b88b36!important}
.leader img{width:78%!important;max-width:430px!important;height:300px!important;object-fit:contain!important;margin:22px auto 0!important}
@media(max-width:780px){.leader img{width:82%!important;height:270px!important}}
