@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap');
:root{--red:#e5161b;--ink:#222;--max:1120px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Poppins,Arial,sans-serif;font-size:14px;line-height:1.85}a{color:inherit}img{max-width:100%}.content-width{max-width:var(--max);margin:auto;padding-left:28px;padding-right:28px}.site-header{position:absolute;z-index:10;top:0;left:0;right:0;background:rgba(8,10,18,.6);height:94px}.header-inner{max-width:1200px;margin:auto;padding:12px 28px;height:100%;display:flex;justify-content:space-between;align-items:center}.brand img{width:155px;display:block}.main-nav{display:flex;gap:35px}.main-nav a{color:#fff;text-decoration:none;font-size:14px}.main-nav a:hover{color:#f54c50}.menu-toggle{display:none}.hero{height:min(960px,100svh);min-height:650px;position:relative;overflow:hidden;color:white}.hero-slides,.hero-shade,.hero-slide{position:absolute;inset:0}.hero-slide{background-size:cover;background-position:center;opacity:0;transform:scale(1);transition:opacity 1s ease;will-change:transform}.hero-slide.active{opacity:1;animation:herozoom 5s linear forwards}@keyframes herozoom{from{transform:scale(1)}to{transform:scale(1.09)}}.hero-shade{background:rgba(4,9,17,.65)}.hero-content{position:absolute;bottom:10%;left:max(calc((100% - 1120px)/2),9%);padding-right:24px}.red-rule{height:6px;width:95px;background:var(--red);margin-bottom:26px}.hero h1{font-size:clamp(32px,3.5vw,52px);font-weight:400;line-height:1.35;letter-spacing:.2px;margin:0 0 56px}.outline-button{display:inline-block;text-decoration:none;border:1px solid var(--red);color:var(--red);padding:5px 20px;font-size:16px;line-height:1.5}.outline-button:hover{background:var(--red);color:white}.intro{padding-top:100px;padding-bottom:95px}.section-mark{height:6px;width:80px;background:var(--red);margin-bottom:25px}h2{font-weight:500;line-height:1.4}h3{font-weight:500}.intro h2,.services h2{font-size:clamp(26px,3vw,40px)}.intro p{max-width:860px}.services{padding-top:65px;padding-bottom:100px}.section-lead{margin-bottom:28px}.service-list{border-top:1px solid #ddd}.service-panel{border-bottom:1px solid #ddd}.service-panel summary{cursor:pointer;list-style:none;padding:20px 12px;font-size:18px;font-weight:500;display:flex;justify-content:space-between}.service-panel summary::-webkit-details-marker{display:none}.service-panel summary span{color:var(--red)}.service-panel[open] summary span{transform:rotate(45deg)}.service-panel>p{padding:0 12px}.gallery{position:relative;max-width:850px;height:450px;overflow:hidden;margin:20px auto 40px;background:#eee}.gallery img{width:100%;height:100%;object-fit:cover;animation:galleryzoom 3s linear both}.gallery button{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.45);border:0;color:white;font-size:32px;width:45px;height:60px;cursor:pointer}.gallery-prev{left:0}.gallery-next{right:0}@keyframes galleryzoom{from{transform:scale(1)}to{transform:scale(1.055)}}.detail-row{display:grid;grid-template-columns:1fr 1fr;min-height:540px}.detail-row.reverse .detail-text{order:2}.detail-row.reverse .detail-image{order:1}.detail-text{display:flex;align-items:center;justify-content:center;padding:65px 8%}.detail-inner{max-width:430px}.detail-inner h2,.industry h2{border-left:4px solid var(--red);padding-left:14px;font-size:21px;margin:0 0 24px}.detail-inner h3,.industry h3{font-size:13px;margin:27px 0 6px;padding-left:15px;position:relative}.detail-inner h3:before,.industry h3:before{content:'';background:var(--red);width:8px;height:8px;position:absolute;left:0;top:9px}.detail-inner p,.industry p{font-size:12px;line-height:2}.detail-image img{width:100%;height:100%;object-fit:cover;display:block}.industry{padding-top:75px;padding-bottom:85px}.industry-columns{display:grid;grid-template-columns:1fr 1fr;gap:45px}.closing{min-height:320px;position:relative;background:linear-gradient(rgba(14,9,13,.7),rgba(14,9,13,.7)),url('images/construction-engineer-wear-safety-uniform-under-in-2023-11-27-05-37-18-utc.webp') center/cover;display:flex;align-items:center;justify-content:center;text-align:center;color:white;border-bottom:3px solid var(--red)}.closing:before{content:'';position:absolute;top:0;border-left:48px solid transparent;border-right:48px solid transparent;border-top:28px solid var(--red)}.closing h2{font-size:23px;font-weight:400;margin:30px 0}.closing-rule{display:block;background:var(--red);width:3px;height:24px;margin:auto}.contact{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-top:42px;padding-bottom:65px;max-width:780px}.contact h2{font-size:15px;margin-bottom:25px}.contact a{text-decoration:none}.contact input,.contact textarea{display:block;width:100%;padding:10px;border:1px solid #aaa;font:inherit;font-size:12px;margin-bottom:9px;border-radius:0}.contact textarea{height:90px}.contact button{background:var(--red);color:#fff;border:0;width:100%;padding:10px;cursor:pointer}.form-note{font-size:10px;color:#666}.footer{background:var(--red);color:white;padding:15px 0;font-size:11px}.footer a{text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(max-width:760px){.site-header{height:80px}.brand img{width:130px}.menu-toggle{display:block;color:white;border:0;background:none;font-size:26px}.main-nav{display:none;position:absolute;top:80px;left:0;right:0;padding:20px 28px;background:rgba(8,10,18,.95);flex-direction:column;gap:15px}.main-nav.open{display:flex}.hero{min-height:600px;height:85svh}.hero-content{left:7%;bottom:13%}.hero h1{font-size:clamp(29px,7vw,42px)}.intro{padding-top:65px;padding-bottom:40px}.services{padding-top:40px;padding-bottom:60px}.gallery{height:280px}.detail-row{grid-template-columns:1fr}.detail-row.reverse .detail-text,.detail-row.reverse .detail-image{order:initial}.detail-image{height:340px}.detail-text{padding:45px 28px}.industry-columns,.contact{grid-template-columns:1fr;gap:20px}.contact{padding-top:45px}.closing h2{font-size:19px;padding:0 18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* V2.1: faithful welcome and services transition */
.intro{max-width:none;padding:0;background:#fff;}
.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:start;padding-top:100px;padding-bottom:120px;}
.intro .section-mark{width:66px;height:5px;margin-bottom:16px;}
.intro h2{font-size:clamp(24px,2.3vw,34px);font-weight:400;margin:0 0 10px;}
.intro-tagline{font-size:15px;line-height:1.4;margin:0;}
.intro-right{font-size:12px;line-height:2.05;}
.intro-right p{margin:0 0 22px;}
.services-heading{position:relative;background:var(--red);color:#fff;padding:35px 0 45px;clip-path:polygon(0 11%,17% 0,64% 22%,82% 15%,100% 24%,100% 100%,0 100%);padding-top:100px;}
.services-heading .section-mark{background:#fff;width:66px;height:5px;margin-bottom:14px;}
.services-heading h2{font-size:clamp(24px,2.4vw,34px);font-weight:400;margin:0 0 12px;}
.services-heading p{font-size:12px;margin:0;line-height:1.9;}
.services{max-width:none;background:#1a0000;color:#fff;padding:65px 0 80px;}
.services h2{font-size:22px;font-weight:500;border-left:5px solid var(--red);padding-left:15px;margin:0 0 28px;}
.services-description{font-size:13px;margin:0 0 35px;}
.services .service-list{border-top:0;}
.services .service-panel{border-bottom:1px solid var(--red);}
.services .service-panel summary{font-size:13px;padding:14px 7px;}
.services .service-panel summary span{order:-1;margin-right:9px;font-size:13px;}
.services .service-panel summary{justify-content:flex-start;}
.services .service-panel>p{font-size:13px;}
@media(max-width:760px){.intro-grid{grid-template-columns:1fr;gap:22px;padding-top:65px;padding-bottom:85px}.services-heading{padding-top:85px;clip-path:polygon(0 6%,25% 0,65% 7%,85% 4%,100% 8%,100% 100%,0 100%)}.services{padding-top:45px}.intro-tagline br{display:none}}
