*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#10151b;color:#f4f6f8;font:16px/1.7 system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}header{background:#111820f5;border-bottom:1px solid #ffffff18;position:sticky;top:0;z-index:50}.head{max-width:1280px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:10px 24px}.brand{display:flex;flex-direction:column;align-items:center;width:155px;flex:none;line-height:1}.brand img{width:138px;height:57px;object-fit:contain}.brand span{font-weight:300;font-size:13px;letter-spacing:3.3px;color:#fff;margin-top:1px}nav{display:flex;gap:15px;align-items:center;flex-wrap:wrap;justify-content:flex-end}nav a{font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.5px;color:#c8d0d8;padding:8px 1px}nav a:hover,nav a[aria-current=page]{color:#ff6268}.menu{display:none;background:#1d2833;color:white;border:1px solid #65707b;border-radius:5px;padding:8px 13px;font-size:22px}.wrap{max-width:1220px;margin:auto;padding:0 24px}.hero{min-height:560px;display:flex;align-items:center;background:linear-gradient(90deg,#0b1017 0%,#0b1017ec 33%,#0b101780 72%,#0b101730),var(--hero) center/cover}.hero .wrap{width:100%;padding-top:65px;padding-bottom:65px}.eyebrow{color:#fa777b;text-transform:uppercase;letter-spacing:3px;font-size:12px;font-weight:800}h1{font-size:clamp(37px,5.5vw,76px);line-height:1.07;letter-spacing:-2px;max-width:790px;margin:17px 0 23px}h2{font-size:clamp(27px,3.5vw,45px);line-height:1.2;margin:10px 0 20px;letter-spacing:-1px}h3{font-size:21px;margin:0 0 10px}.lead{max-width:680px;color:#c7d0d8;font-size:19px}.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border-radius:5px;background:#d63f48;color:white;font-weight:750;border:1px solid #d63f48}.btn.secondary{background:transparent;border-color:#85909c}.btn:hover{filter:brightness(1.13)}section{padding:74px 0}.section-dark{background:#161e27}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{background:#202a34;border:1px solid #ffffff12;border-radius:9px;overflow:hidden}.card img{width:100%;height:230px;object-fit:cover}.card .inside{padding:23px}.card p,.muted{color:#bdc7d0}.card p{margin:0}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.gallery figure{margin:0;position:relative;background:#202a34;border-radius:7px;overflow:hidden}.gallery img{width:100%;height:270px;object-fit:cover}.gallery figcaption{padding:12px 15px;color:#d9e0e6;font-size:13px}.pagehead{padding:80px 0 65px;background:linear-gradient(120deg,#1d2a37,#0f151c)}.pagehead h1{font-size:clamp(36px,5vw,61px)}.split{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center}.split img{border-radius:9px;width:100%;max-height:480px;object-fit:cover}.pill{border-left:3px solid #dc4149;padding:9px 18px;background:#ffffff08;margin:12px 0}.cta{background:#202c38;text-align:center;padding:55px 25px;border-radius:12px}.cta p{color:#c8d1da}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step{padding:20px;background:#202a34;border-radius:8px}.step strong{color:#fa7479}footer{border-top:1px solid #ffffff1a;padding:35px 0;background:#0d1218;color:#aebbc7;font-size:13px}.foot{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}footer a{text-decoration:underline;text-underline-offset:3px}.contact-list{line-height:2.1}input,textarea{background:#121b24;color:white;border:1px solid #65717c;border-radius:5px;padding:12px;width:100%;font:inherit;margin:7px 0 17px}label{font-size:13px;font-weight:700}textarea{min-height:135px}.note{color:#aebbc7;font-size:13px}.chat{position:fixed;bottom:20px;right:20px;background:#d63f48;border:0;border-radius:25px;color:white;padding:13px 19px;font-weight:750;box-shadow:0 8px 25px #0007;cursor:pointer;z-index:60}.chatbox{position:fixed;right:20px;bottom:77px;width:min(340px,calc(100vw - 40px));background:#202a34;border:1px solid #ffffff44;border-radius:12px;padding:20px;box-shadow:0 14px 45px #0009;z-index:60;display:none}.chatbox.open{display:block}.chatbox a{display:block;padding:8px 0;color:#ff8e91}.sr{position:absolute;left:-10000px}@media(max-width:1000px){.head{flex-wrap:wrap}.menu{display:block;margin-left:auto}nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding:10px 0}nav.open{display:flex}nav a{padding:11px 6px;border-bottom:1px solid #ffffff16}.grid,.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.brand{width:120px}.brand img{width:115px;height:48px}.brand span{font-size:10px;letter-spacing:2.8px}.hero{min-height:490px}.grid,.gallery,.split,.steps{grid-template-columns:1fr}.gallery img{height:240px}section{padding:52px 0}.pagehead{padding:55px 0}.lead{font-size:17px}}
/* Contact team directory */
.team-section{background:#151e27}.team-heading{font-size:19px;margin:35px 0 14px}.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.team-person{background:#202b36;border:1px solid #ffffff24;border-radius:10px;padding:18px;display:flex;align-items:center;justify-content:space-between;gap:14px}.team-person h4{margin:0 0 7px;font-size:17px}.team-address{color:#f4f7fa;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}.team-button{white-space:nowrap;padding:10px 15px}.team-section .lead{max-width:720px}@media(max-width:760px){.team-grid{grid-template-columns:1fr}.team-person{align-items:flex-start;flex-direction:column}.team-button{align-self:flex-start}}

.showcase-intro{background:linear-gradient(125deg,#10151b,#24313d);padding:90px 0 60px}.showcase-intro h1{font-size:clamp(38px,7vw,80px)}.showcase-section{background:#111820;padding:55px 0 100px}.showcase-grid{columns:3 240px;column-gap:16px;margin-top:28px}.showcase-tile{display:block;margin-bottom:16px;break-inside:avoid;overflow:hidden;border-radius:8px;background:#28313b;cursor:zoom-in}.showcase-tile img{width:100%;height:auto;transition:transform .25s}.showcase-tile:hover img{transform:scale(1.035)}.showcase-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:25px}.showcase-preview a{border-radius:8px;overflow:hidden}.showcase-preview img{width:100%;height:220px;object-fit:cover}.showcase-modal[hidden]{display:none}.showcase-modal{position:fixed;inset:0;z-index:999;background:#05080cf2;display:flex;align-items:center;justify-content:center;padding:50px 45px}.showcase-modal img{max-width:100%;max-height:calc(100dvh - 100px);object-fit:contain}.showcase-modal button{position:absolute;border:1px solid #ffffff50;border-radius:50%;color:#fff;background:#222a33cc;cursor:pointer;width:44px;height:44px;font-size:30px}.showcase-close{right:15px;top:15px}.showcase-prev{left:8px;top:50%}.showcase-next{right:8px;top:50%}.showcase-count{position:absolute;bottom:13px;color:#d9e0e6;font-size:13px}@media(max-width:650px){.showcase-grid{columns:2 140px;column-gap:9px}.showcase-tile{margin-bottom:9px}.showcase-preview{grid-template-columns:repeat(2,1fr);gap:8px}.showcase-preview img{height:150px}.showcase-modal{padding:55px 12px}.showcase-modal button{width:38px;height:38px}}

/* Approved complete GB logo, including outline and company description */
.brand{width:230px;min-width:180px;max-width:32vw}
.brand img{width:100%;height:auto;max-height:128px;object-fit:contain}
@media(max-width:760px){.brand{width:170px;min-width:150px;max-width:48vw}.brand img{width:100%;height:auto;max-height:100px}}

/* Larger approved complete logo, keeping the original artwork intact */
@media(min-width:901px){.head{max-width:1500px;gap:16px}.brand{width:340px;min-width:300px;max-width:30vw}.brand img{width:100%;height:auto;max-height:none}nav{gap:10px}nav a{font-size:10px}}
@media(max-width:900px){.head{gap:10px;align-items:center}.brand{width:min(285px,calc(100vw - 105px));min-width:0;max-width:none}.brand img{width:100%;height:auto;max-height:none}}

/* Compact mobile header: original GB/ENGINEERING artwork, readable live-text description */
.head{gap:18px}.brand{width:215px;min-width:215px;max-width:none;align-items:center;gap:0;flex:none}.brand img{width:165px;height:auto;max-height:none;object-fit:contain}.brand-description{display:block;color:#f7f8fb;font-size:10px;line-height:1.35;letter-spacing:.45px;text-align:center;font-weight:650;white-space:normal;width:215px;margin:0}.brand-description span{display:block;font:inherit;letter-spacing:inherit;color:inherit;margin:0}
@media(max-width:1000px){.head{flex-wrap:wrap}.brand{width:215px;min-width:0;max-width:calc(100vw - 115px)}.brand img{width:165px;max-width:100%}.brand-description{width:100%;font-size:10px;letter-spacing:.3px}.menu{margin-left:auto}}
@media(max-width:640px){.head{padding:9px 15px;gap:9px;align-items:center}.brand{width:205px;max-width:calc(100vw - 105px)}.brand img{width:155px;max-width:100%}.brand-description{font-size:10px;line-height:1.4;letter-spacing:.1px}.menu{padding:7px 12px;font-size:22px}}

/* Final mobile description adjustment: two discreet, readable lines. */
.brand-description,.brand-description span{font-family:Arial,Helvetica,sans-serif!important;font-weight:500!important;text-transform:uppercase!important}
.brand-description{font-size:8px!important;line-height:1.3!important;letter-spacing:0!important;width:215px!important;max-width:100%!important;white-space:nowrap!important}
.brand-description span{display:block!important;font-size:inherit!important;line-height:inherit!important;letter-spacing:inherit!important;white-space:nowrap!important}
@media(max-width:640px){.brand-description{font-size:8px!important;width:205px!important;max-width:100%!important}}
@media(max-width:360px){.brand-description{font-size:7.2px!important}}

/* Refined two-line tagline: intentionally smaller than ENGINEERING. */
.brand-description{font-size:7.2px!important;line-height:1.35!important;letter-spacing:0!important;font-weight:400!important}
.brand-description span{font-size:inherit!important;font-weight:inherit!important}
@media(max-width:360px){.brand-description{font-size:6.8px!important}}

/* Social links: understated and responsive, without altering approved branding */
nav .social-nav{color:#f3f5f8;border:1px solid #ffffff35;border-radius:5px;padding:6px 8px;font-size:10px;white-space:nowrap}
nav .social-nav:hover{border-color:#fa777b;color:#ff777e}
.reviews-section .muted{max-width:700px}
@media(max-width:1100px){nav .social-nav{padding:10px 6px}}

/* Contact styling: red names, white clickable email addresses. */
.team-person h4{color:#f36b73!important}
.team-person .team-address{color:#f3f6fa!important;text-decoration:underline;text-decoration-color:#ffffff65;text-underline-offset:3px;overflow-wrap:anywhere}
.team-person .team-address:hover,.team-person .team-address:focus-visible{color:white!important;text-decoration-color:#f36b73}

/* Customer-help panel; isolated from approved header and website sections. */
.chat{position:fixed;right:17px;bottom:17px;z-index:90;display:flex;align-items:center;gap:7px;border:1px solid #ffffff45;border-radius:999px;padding:10px 14px;background:#c63242;color:#fff;font:700 13px/1.2 system-ui,sans-serif;box-shadow:0 8px 28px #0008;cursor:pointer}
.chat:hover,.chat:focus-visible{background:#a92536;outline-offset:3px}
.chatbox{position:fixed;right:16px;bottom:72px;z-index:90;width:min(355px,calc(100vw - 24px));max-height:min(650px,calc(100dvh - 100px));overflow:auto;background:#141e29;color:#f6f8fb;border:1px solid #ffffff33;border-radius:15px;box-shadow:0 16px 55px #000a;display:none;padding:0;text-align:left}
.chatbox.open{display:block}
.chat-top{background:#1d2b38;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px;border-bottom:1px solid #ffffff20}
.chat-top strong{font:700 16px/1.3 system-ui,sans-serif;display:block;color:#fff}
.chat-top small{font:400 11px/1.5 system-ui,sans-serif;color:#cbd6e0;display:block;margin-top:3px}
.chat-close{font:400 27px/1 system-ui,sans-serif;color:#fff;background:transparent;border:0;cursor:pointer;padding:0 4px}
.chat-content{padding:14px}
.chatbox .chat-welcome{font:400 13px/1.55 system-ui,sans-serif;margin:0 0 13px;color:#e8edf2}
.chat-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.chatbox .chat-options a{display:flex;align-items:center;gap:6px;min-height:53px;padding:9px 8px;border:1px solid #ffffff25;border-radius:9px;background:#1e2b38;color:#fff;text-decoration:none;font:600 11px/1.35 system-ui,sans-serif}
.chatbox .chat-options a:hover,.chatbox .chat-options a:focus-visible{border-color:#f36b73;background:#2a3541}
.chatbox .chat-options a span:first-child{font-size:17px;min-width:19px;text-align:center}
.chatbox .chat-options a span:nth-child(2){flex:1}
.chatbox .chat-options a span:last-child{color:#f36b73}
.chatbox .chat-disclaimer{font:400 10px/1.5 system-ui,sans-serif;color:#b8c3cd;margin:13px 0 0}
@media(max-width:600px){.chat{right:12px;bottom:12px;padding:10px 11px}.chatbox{right:10px;bottom:64px;max-height:calc(100dvh - 84px)}}

/* Mobile navigation: opaque panel, readable text and chat behind open menu. */
@media(max-width:1000px){header:has(nav.open){z-index:120}nav.open{background:#111820!important;position:relative;isolation:isolate;box-shadow:0 12px 28px #0008;border-top:1px solid #ffffff24;padding:10px 12px 14px!important}nav.open a{color:#e9edf2}nav.open a[aria-current=page]{color:#ff777e}.chatbox{z-index:90}}

/* About Us: clear, readable company profile */
.about-details{padding:56px 0;background:#141c25}.about-intro{max-width:850px;margin-bottom:28px}.about-intro p,.about-panel p{color:#d0d7df;line-height:1.7}.about-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.about-panel{padding:24px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:#1a2530}.about-panel h3{margin:0 0 12px;color:#fff}.about-panel p{margin:0}@media(max-width:700px){.about-details{padding:38px 0}.about-grid{grid-template-columns:1fr}.about-panel{padding:20px}}

/* Final release: approved GB artwork and dependable responsive layout */
.brand img{width:100%!important;max-width:210px!important;height:auto!important;max-height:none!important;object-fit:contain!important}
.brand{width:230px!important;min-width:0!important;max-width:calc(100vw - 110px)!important}
.brand-description{width:100%!important;max-width:100%!important;font-size:7.2px!important;white-space:normal!important}
.brand-description span{white-space:normal!important}
@media(min-width:1001px){.brand{width:225px!important;max-width:225px!important}.brand img{max-width:205px!important}}
@media(max-width:640px){.head{padding:10px 14px!important;align-items:center!important}.brand{width:225px!important;max-width:calc(100vw - 100px)!important}.brand img{max-width:195px!important}.menu{flex:none!important}}
@media(max-width:390px){.brand{width:200px!important}.brand img{max-width:180px!important}.brand-description{font-size:6.8px!important}}
/* Avoid cropped headline/eyebrow on narrow mobile screens */
html,body{max-width:100%;overflow-x:clip}
.hero h1,.pagehead h1{overflow-wrap:normal;word-break:normal;letter-spacing:-.025em}
@media(max-width:640px){.hero h1{font-size:clamp(29px,8.3vw,42px)!important;line-height:1.12!important}.pagehead h1{font-size:clamp(29px,8.2vw,39px)!important;line-height:1.13!important}.eyebrow{font-size:10px!important;letter-spacing:1.2px!important;overflow-wrap:anywhere}.wrap{padding-left:18px!important;padding-right:18px!important}.hero{min-height:430px!important}.hero .wrap{padding-top:45px!important;padding-bottom:45px!important}}
/* Keep chat launcher out of the way while the mobile menu is open */
@media(max-width:1000px){header:has(nav.open)~.chat,body:has(nav.open)>.chat{visibility:hidden!important}nav.open{background:#111820!important;z-index:130!important}}
/* Readable links and focus styles */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #ff8188;outline-offset:3px}

/* Final branding: keep GB artwork and bold ENGINEERING together at correct scale. */
.brand{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;width:225px!important;max-width:calc(100vw - 104px)!important;min-width:0!important;flex-shrink:0!important;overflow:visible!important}
.brand img{display:block!important;width:100%!important;max-width:225px!important;height:auto!important;max-height:none!important;object-fit:contain!important;opacity:1!important;filter:none!important}
.brand-description{display:block!important;width:100%!important;color:#f5f6f7!important;font:400 7px/1.35 Arial,sans-serif!important;text-align:center!important;letter-spacing:0!important;margin:0!important;opacity:1!important}
.brand-description span{display:block!important;font-size:inherit!important;line-height:inherit!important;font-weight:400!important;white-space:normal!important}
@media(max-width:640px){.head{padding:9px 12px!important;gap:8px!important}.brand{width:220px!important;max-width:calc(100vw - 100px)!important}.brand img{max-width:220px!important}.menu{flex-shrink:0!important}}
@media(max-width:390px){.brand{width:195px!important}.brand img{max-width:195px!important}}
/* Guard against horizontal cropping in mobile previews. */
html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
.hero,.hero .wrap,.pagehead,.pagehead .wrap{max-width:100%!important;min-width:0!important}
.hero h1,.pagehead h1{max-width:100%!important;overflow-wrap:break-word!important;word-break:normal!important}
.hero .lead{max-width:100%!important;overflow-wrap:break-word!important}
@media(max-width:640px){.hero h1{font-size:clamp(29px,8vw,40px)!important;line-height:1.15!important;letter-spacing:-.035em!important}.hero .lead{font-size:clamp(15px,4vw,18px)!important;line-height:1.6!important}.hero .eyebrow{font-size:10px!important;letter-spacing:1px!important}.hero .btn{max-width:100%;white-space:normal!important}}

/* Final logo spacing: separate the small tagline from ENGINEERING. */
.brand .brand-description{margin-top:7px!important;}
