:root{--navy:#071c36;--blue:#0a2c50;--red:#e71920;--cream:#faf9f5;--ink:#101d32}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.55 Arial,Helvetica,sans-serif;background:var(--cream)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;line-height:1.1;margin:0 0 18px}h1{font-size:clamp(2.6rem,5.5vw,5.8rem)}h2{font-size:clamp(2.1rem,3.8vw,3.7rem)}h3{font-size:1.65rem}p{margin:0 0 18px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.header{min-height:90px;background:white;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px max(3vw,20px);position:sticky;top:0;z-index:10;box-shadow:0 2px 12px #0001}.brand{color:#001d68;display:flex;flex-direction:column;align-items:center;line-height:1.03;flex-shrink:0}.est{font:16px Georgia,serif}.brandname{font:clamp(16px,1.8vw,25px) Georgia,serif;letter-spacing:-1px}.brand small{font-size:8px;font-weight:700}.header nav{display:flex;align-items:center;gap:clamp(12px,1.6vw,27px);font-weight:700;font-size:13px}.header nav a:not(.btn):hover{color:var(--red)}.phone{font-weight:800;white-space:nowrap;color:var(--navy)}.btn{display:inline-block;border:0;background:var(--red);color:#fff!important;padding:14px 22px;border-radius:4px;font-weight:800;cursor:pointer;text-align:center;transition:transform .2s,background .2s}.btn:hover{background:#ba0e17;transform:translateY(-2px)}.btn.small{padding:11px 15px;font-size:12px}.btn.outline{background:transparent;border:1px solid white}.menu{display:none}.hero{min-height:660px;position:relative;color:white;background:linear-gradient(90deg,#031424ed 0%,#031424c7 43%,#03142422 100%),url('assets/hero.jpg') center/cover;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(50px,7vw,105px) max(5vw,25px) 35px}.hero-content{max-width:830px}.eyebrow{font-size:13px;font-weight:800;letter-spacing:4px;text-transform:uppercase;margin-bottom:14px}.eyebrow.red{color:var(--red)}h1 em{color:#ff4145;font-style:normal}.hero-content>p:not(.eyebrow){max-width:590px;font-size:19px}.actions{display:flex;gap:12px;flex-wrap:wrap}.hero-stats{display:flex;gap:clamp(18px,5vw,90px);font-size:12px;letter-spacing:1px;font-weight:800;margin-top:45px}.section{padding:80px max(5vw,22px)}.section-heading{text-align:center;max-width:800px;margin:0 auto 35px}.section-heading p:last-child{color:#4c596a}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;max-width:1450px;margin:auto}.service{background:white;box-shadow:0 4px 25px #091b3212;border:1px solid #e9e8e3;border-radius:5px;overflow:hidden}.service img{width:100%;height:185px;object-fit:cover}.service>div{padding:23px}.service-icon{color:var(--red);font-size:26px}.service h3{font-size:1.6rem;margin:8px 0 12px}.service p{font-size:14px;min-height:110px}.service a{color:var(--red);font-weight:800;font-size:14px}.story-banner{background:var(--navy);color:white;padding:65px max(5vw,22px);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.story-banner>div{max-width:570px}.story-banner img{width:100%;height:360px;object-fit:cover;border-radius:4px}.perks{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center;padding:40px 5vw;background:#fff}.perks div{font-size:34px;color:var(--navy)}.perks strong{display:block;font-size:12px;line-height:1.5;margin-top:12px}.work-section{background:#f4f4f1}.filter-row{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-bottom:27px}.filter{border:1px solid #cbd0d7;border-radius:30px;padding:8px 20px;background:white;cursor:pointer}.filter.active{background:var(--navy);color:white}.gallery{max-width:1450px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.gallery figure{margin:0;background:white;overflow:hidden;border-radius:5px;box-shadow:0 4px 14px #0001}.gallery img{width:100%;height:220px;object-fit:cover;display:block}.gallery figcaption{font-weight:800;padding:13px}.gallery figure.hidden{display:none}.gallery-note{text-align:center;font-size:12px;color:#677;max-width:750px;margin:20px auto 0}.about{display:grid;grid-template-columns:1fr 1fr;min-height:530px}.about-photo img{height:100%;width:100%;object-fit:cover}.about-text{padding:70px clamp(25px,6vw,95px);background:white}.about-text p{max-width:620px}.anniversary{display:flex;align-items:center;color:var(--red);gap:16px;margin-top:25px}.anniversary strong{font:120px/.9 Georgia,serif}.anniversary span{font:35px/1 Georgia,serif}.anniversary small{font:11px Arial,sans-serif;color:var(--navy)}.quote-section{background:var(--navy);color:white;display:grid;grid-template-columns:.85fr 1.15fr;gap:5vw;padding:80px max(5vw,22px)}.quote-intro{max-width:500px}.quote-form{background:white;color:var(--ink);padding:30px;border-radius:6px}.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:15px}.quote-form label{display:block;font-size:13px;font-weight:800;margin-bottom:17px}.quote-form input,.quote-form select,.quote-form textarea{display:block;width:100%;border:1px solid #c8ced5;padding:12px;border-radius:3px;margin-top:7px;background:#fff;color:#15243b}.fine{font-size:12px;opacity:.7;margin-top:15px}.contact{padding:55px 5vw;display:flex;justify-content:space-between;gap:25px;align-items:center}.contact h2{font-size:2.6rem}.contact a{display:block;font-weight:800;margin:10px 0}footer{background:#071525;color:white;padding:22px 5vw;font-size:13px;display:flex;justify-content:space-between;gap:15px}footer a{text-decoration:underline}@media(max-width:1100px){.header{flex-wrap:wrap}.header nav{order:3;width:100%;justify-content:center}.service-grid{grid-template-columns:repeat(2,1fr)}.service p{min-height:0}}@media(max-width:700px){.header{min-height:72px}.brandname{font-size:17px}.brand small{font-size:6px}.est{font-size:12px}.menu{display:block;margin-left:auto;background:transparent;border:0;font-size:28px}.header nav{display:none;flex-direction:column;align-items:stretch;order:5}.header nav.open{display:flex}.phone{font-size:13px}.hero{min-height:640px;padding-top:75px;background-position:55% center}.hero h1{font-size:clamp(2.35rem,9vw,3.8rem)}.hero-stats{gap:14px;justify-content:space-between;font-size:9px}.service-grid,.story-banner,.about,.quote-section{grid-template-columns:1fr}.service-grid{gap:16px}.service img{height:210px}.story-banner img{height:270px}.perks{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr)}.gallery img{height:170px}.about-photo img{height:260px}.about-text{padding:40px 22px}.quote-section{gap:20px}.form-pair{grid-template-columns:1fr;gap:0}.contact{flex-direction:column;align-items:flex-start}footer{flex-direction:column}.anniversary strong{font-size:90px}}

/* Logo-focused homepage hero, replacing stock machinery photograph */
.hero{background:radial-gradient(ellipse at 80% 22%,#173c70 0%,transparent 50%),linear-gradient(125deg,#041326 0%,#0b2c54 65%,#071b37 100%)}
.hero-content{max-width:960px}.hero-logo-panel{background:#fff;display:inline-flex;align-items:center;justify-content:center;padding:18px 25px;border-radius:5px;margin-bottom:35px;box-shadow:0 12px 35px #0003}.hero-logo-panel img{display:block;width:min(540px,75vw);height:auto}.hero .eyebrow{color:#e6eefa}
@media(max-width:700px){.hero-logo-panel{padding:12px 14px;margin-bottom:25px}.hero-logo-panel img{width:min(440px,78vw)}}

/* Multi-page branded design */
.header-logo{display:block;width:clamp(195px,18vw,275px);height:auto}.brand{flex-shrink:0}.hero{min-height:610px;display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.78fr);align-items:center;column-gap:6vw;background:linear-gradient(110deg,#041528,#092b52 65%,#0b3763);padding-top:65px}.hero-content{max-width:710px}.hero h1{font-size:clamp(2.7rem,4.4vw,5rem)}.hero-side-logo{background:#fff;border-radius:8px;padding:32px 25px;box-shadow:0 20px 60px #0005;transform:rotate(-2deg)}.hero-side-logo img{width:100%;height:auto;display:block}.hero-stats{grid-column:1/-1;margin-top:20px}.page-banner{background:linear-gradient(110deg,#06182e,#10395f);color:#fff;padding:90px max(5vw,22px);min-height:295px}.page-banner h1{font-size:clamp(2.7rem,5vw,4.7rem)}.page-banner p:not(.eyebrow){max-width:670px;font-size:19px}.cta{background:#071c36;color:white;text-align:center;padding:75px 24px}.cta p{max-width:600px;margin:0 auto 22px}.cta h2{font-size:clamp(2rem,4vw,3.3rem)}.section{scroll-margin-top:90px}.gallery img{object-fit:cover}.header nav a[aria-current="page"]{color:#d81920}.quote-section{min-height:620px}.header{gap:12px}
@media(max-width:1100px){.header-logo{width:220px}}@media(max-width:700px){.header-logo{width:190px}.hero{display:flex;flex-direction:column;align-items:stretch;padding:55px 22px 25px;gap:25px}.hero h1{font-size:clamp(2.45rem,9vw,3.6rem)}.hero-side-logo{transform:none;padding:16px;max-width:420px}.hero-stats{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;margin-top:5px}.page-banner{padding:65px 22px;min-height:230px}.section{padding:55px 22px}}

/* Keep small temporary screenshot crops from being stretched disproportionately. */
.service img,.gallery img{object-position:center;image-rendering:auto;}

/* Clickable Our Work categories */
.work-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:35px auto;max-width:1200px}.work-category{display:block;text-decoration:none;color:#102c4c;background:#fff;border:1px solid #e4e8ed;border-radius:10px;overflow:hidden;box-shadow:0 8px 28px #0a1e3512;transition:transform .2s,box-shadow .2s}.work-category:hover,.work-category:focus-visible{transform:translateY(-5px);box-shadow:0 15px 35px #0a1e3526}.work-category img{width:100%;height:235px;object-fit:cover;display:block}.work-category-content{padding:25px}.work-category h2{font-size:clamp(1.35rem,2vw,1.8rem);margin:0 0 10px}.work-category p{line-height:1.6}.work-category span{font-weight:800;color:#b71825}.gallery-note{max-width:820px;margin:25px auto;text-align:center}.gallery-back{display:inline-block;margin-bottom:30px;color:#af1b26;font-weight:700;text-decoration:none}@media(max-width:850px){.work-categories{grid-template-columns:1fr;max-width:520px}}

/* Clean, uninterrupted navy hero background on right */
.hero-side-logo{background:transparent;box-shadow:none;transform:none;padding:0;min-height:1px;}
@media(max-width:700px){.hero-side-logo{display:none}}

.gallery-empty{min-height:280px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:2px dashed #d8dee5;border-radius:12px;background:#fff;color:#64748b;text-align:center}.gallery-empty-icon{font-size:54px;color:#9caabe}.gallery-empty p{margin:10px 0;font-size:17px}

/* Homepage logo appears only in the navigation */
.hero-logo-panel{display:none!important}

/* Client and organization logo showcase */
.community-section{background:#fff}.partner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1080px;margin:30px auto}.partner-placeholder{min-height:155px;border:1px solid #e2e5ec;background:#f8f9fc;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#8992a6;font-weight:700;font-size:13px;letter-spacing:.12em;text-align:center;padding:18px}.partner-note{text-align:center;color:#687286;font-size:13px;margin:20px 0 0}@media(max-width:700px){.partner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.partner-placeholder{min-height:115px;font-size:11px}}

.partner-card{min-height:150px;border:1px solid #e4e8ef;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;padding:24px;box-shadow:0 3px 14px rgba(11,26,51,.05)}
.partner-card img{width:100%;max-width:235px;height:100px;object-fit:contain;display:block}
@media(max-width:700px){.partner-card{min-height:110px;padding:14px}.partner-card img{height:76px}}

.location-map{max-width:1120px;margin:0 auto;padding:24px 24px 60px}.location-map-head{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:18px}.location-map-head h2{margin:0}.location-map-head a{color:#d71920;font-weight:700}.contact>div:last-child a{display:block;margin-bottom:12px}

/* Approved customer portfolio galleries */
.portfolio-grid{max-width:1320px;margin:8px auto 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.portfolio-card{background:#fff;border:1px solid #e4e8ed;border-radius:10px;overflow:hidden;margin:0;box-shadow:0 7px 22px #10204013}.portfolio-card a{display:block;background:#f3f4f5}.portfolio-card img{display:block;width:100%;height:350px;object-fit:contain}.portfolio-card figcaption{padding:17px 20px;font-size:17px;font-weight:800;color:#102c4c}@media(max-width:750px){.portfolio-grid{grid-template-columns:1fr}.portfolio-card img{height:270px}}
