
html{scroll-behavior:smooth;scroll-padding-top:82px}
body{overflow-x:hidden}
.page-loader{position:fixed;inset:0;z-index:9999;background:radial-gradient(circle at center,#122d49 0%,#071525 65%,#040c15 100%);display:flex;align-items:center;justify-content:center;transition:opacity .7s ease,visibility .7s ease}
.page-loader.hide{opacity:0;visibility:hidden;pointer-events:none}
.loader-content{text-align:center;color:#fff;animation:loaderEnter .8s ease both}
.loader-logo{width:110px;height:110px;object-fit:contain;background:#fff;border-radius:18px;padding:6px;box-shadow:0 18px 60px rgba(0,0,0,.35);animation:loaderPulse 1.8s ease-in-out infinite}
.loader-content p{margin:18px 0 0;font-size:13px;letter-spacing:3px;font-weight:900}
.loader-dots{display:flex;justify-content:center;gap:7px;margin-top:20px}
.loader-dots span{width:8px;height:8px;border-radius:50%;background:var(--orange);animation:dotPulse 1.1s infinite ease-in-out}
.loader-dots span:nth-child(2){animation-delay:.15s}.loader-dots span:nth-child(3){animation-delay:.3s}
@keyframes dotPulse{0%,80%,100%{transform:scale(.55);opacity:.35}40%{transform:scale(1);opacity:1}}
@keyframes loaderPulse{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.025)}}
@keyframes loaderEnter{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
/* Project photos are image-only cards. Click any photo to open it large. */
.project-card{background:#ddd;min-height:240px}
.project-card::after{content:'VIEW IMAGE';position:absolute;left:50%;top:50%;transform:translate(-50%,-40%);padding:10px 14px;border-radius:999px;background:rgba(7,21,37,.82);color:#fff;font-size:11px;font-weight:900;letter-spacing:1.5px;opacity:0;transition:.3s;pointer-events:none}
.project-card:hover::after{opacity:1;transform:translate(-50%,-50%)}
.photo-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:110}
.photo-modal.open{display:flex}
.photo-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.9);backdrop-filter:blur(5px)}
.photo-box{position:relative;z-index:2;width:min(1200px,94vw);height:min(88vh,900px);display:flex;align-items:center;justify-content:center}
.photo-box img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:10px;box-shadow:0 25px 80px rgba(0,0,0,.45)}
.photo-close{position:absolute;right:-8px;top:-8px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#111;font-size:30px;line-height:1;cursor:pointer;z-index:3;box-shadow:0 8px 25px rgba(0,0,0,.3)}
:root{--navy:#071525;--navy2:#0d2036;--orange:#f59a23;--orange2:#ffb84d;--cream:#f5f7f9;--text:#17212b;--muted:#66717d;--white:#fff;--line:#e2e7ec;--shadow:0 20px 60px rgba(7,21,37,.10)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--text);background:#fff;line-height:1.65}a{text-decoration:none;color:inherit}.container{width:min(1160px,92%);margin:auto}.header{position:sticky;top:0;z-index:50;background:rgba(7,21,37,.96);backdrop-filter:blur(14px);box-shadow:0 8px 30px rgba(0,0,0,.12)}.nav{height:78px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:11px;color:#fff;font-weight:900;letter-spacing:.6px}.brand img{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:9px;padding:3px}.nav-links{display:flex;gap:25px;margin-left:auto;color:#dce5ee;font-size:14px;font-weight:700}.nav-links a{transition:.25s}.nav-links a:hover{color:var(--orange2)}.nav-call{background:var(--orange);color:#071525;font-weight:900;padding:11px 18px;border-radius:8px}.menu{display:none;background:none;border:0;color:#fff;font-size:27px}.hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:88px 0 90px}.hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(245,154,35,.18),transparent 35%),linear-gradient(135deg,#071525,#102943)}.hero-grid{position:relative;display:grid;grid-template-columns:1.02fr .98fr;gap:70px;align-items:center}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:900;color:var(--orange);margin:0 0 13px}.hero h1{font-size:clamp(42px,6vw,76px);line-height:1.02;margin:0 0 25px;letter-spacing:-2px}.hero h1 span{color:var(--orange2)}.lead{font-size:19px;color:#d8e0e9;max-width:630px}.actions{display:flex;gap:12px;margin:30px 0}.btn{display:inline-flex;justify-content:center;align-items:center;padding:13px 22px;border-radius:8px;font-weight:900;border:1px solid transparent;cursor:pointer}.primary{background:var(--orange);color:#071525}.light{border-color:#8395a9;color:#fff}.hero-points{display:flex;flex-wrap:wrap;gap:12px;color:#c5d0db;font-size:13px}.hero-image{position:relative}.hero-image img{width:100%;height:510px;object-fit:cover;border-radius:18px;box-shadow:0 30px 70px rgba(0,0,0,.32)}.hero-badge{position:absolute;right:-18px;bottom:25px;background:#fff;color:var(--navy);padding:17px 22px;border-radius:12px;box-shadow:var(--shadow)}.hero-badge strong,.hero-badge small{display:block}.hero-badge strong{font-size:23px}.hero-badge small{color:var(--muted)}.section{padding:100px 0}.section-title{max-width:760px;margin-bottom:45px}.section-title h2,.split h2,.safety h2,.contact h2{font-size:clamp(31px,4vw,49px);line-height:1.1;margin:0 0 18px;letter-spacing:-1px}.section-title p:not(.eyebrow){color:var(--muted);max-width:720px}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.section-image img{width:100%;height:470px;object-fit:cover;border-radius:16px;box-shadow:var(--shadow)}.split>div:last-child>p{color:var(--muted)}.feature-list{margin:28px 0;display:grid;gap:13px}.feature-list div{padding:17px 18px;border-left:4px solid var(--orange);background:var(--cream);border-radius:5px}.feature-list b,.feature-list span{display:block}.feature-list span{color:var(--muted);font-size:14px}.dark{background:var(--navy);color:#fff}.light-title h2,.light-title p:not(.eyebrow){color:#fff}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-card{background:#102943;border:1px solid rgba(255,255,255,.09);padding:30px 25px;border-radius:13px;transition:.3s}.service-card:hover{transform:translateY(-6px);border-color:rgba(245,154,35,.6)}.service-icon{font-size:34px;margin-bottom:18px}.service-card h3{margin:0 0 10px}.service-card p{color:#b9c7d4;margin:0;font-size:14px}.fleet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.fleet-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 10px 35px rgba(7,21,37,.06);transition:.3s}.fleet-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.fleet-card img{width:100%;height:245px;object-fit:cover;background:#e9eef2}.fleet-body{padding:22px}.capacity{color:var(--orange);font-weight:1000;font-size:12px;letter-spacing:1.5px}.fleet-body h3{margin:5px 0 7px;font-size:24px}.fleet-body p{color:var(--muted);margin:0 0 17px;font-size:14px}.more{border:0;background:var(--navy);color:#fff;border-radius:7px;padding:10px 15px;font-weight:800;cursor:pointer}.project-section{background:var(--cream)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project-card{position:relative;overflow:hidden;border-radius:13px;cursor:pointer;background:#ddd}.project-card img{width:100%;height:290px;object-fit:cover;display:block;transition:.5s}.project-card:hover img{transform:scale(1.06)}.project-label{position:absolute;left:15px;right:15px;bottom:15px;background:rgba(7,21,37,.88);color:#fff;padding:13px 15px;border-radius:8px}.safety{background:#fff}.safety-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.safety p:not(.eyebrow){color:var(--muted)}.safety-cards{display:grid;gap:12px}.safety-cards div{display:flex;gap:18px;align-items:center;padding:20px;background:var(--cream);border-radius:10px}.safety-cards b{color:var(--orange);font-size:23px}.safety-cards span{font-weight:700}.contact{background:#f0f3f6}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:start}.contact-info>p:not(.eyebrow){color:var(--muted)}.contact-item{display:flex;gap:15px;margin:23px 0}.contact-item>span{font-size:23px}.contact-item b{display:block}.contact-item p{margin:2px 0;color:var(--muted)}.directions{display:inline-block;margin-top:8px;color:var(--orange);font-weight:900}.enquiry{background:#fff;padding:32px;border-radius:15px;box-shadow:var(--shadow)}.form-head span{font-size:11px;letter-spacing:1.7px;font-weight:900;color:var(--orange)}.form-head h3{font-size:29px;margin:4px 0 24px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:block;font-size:13px;font-weight:800;margin-bottom:15px}input,select,textarea{width:100%;margin-top:7px;padding:13px 14px;border:1px solid #d9e0e6;border-radius:7px;background:#fbfcfd;font:inherit;color:var(--text);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--orange)}textarea{resize:vertical}.full{width:100%;border:0;font-size:15px}.form-note{text-align:center;color:#8a949e;font-size:12px;margin:12px 0 0}.footer{background:#050f1c;color:#b8c3cf;padding:60px 0 20px}.footer-grid{display:grid;grid-template-columns:1.3fr .8fr 1.1fr;gap:60px}.footer-logo{width:70px;height:70px;background:#fff;border-radius:10px;padding:4px;object-fit:contain}.footer h3,.footer h4{color:#fff;margin:12px 0}.footer-grid a{display:block;margin:7px 0;color:#c7d0da}.copyright{border-top:1px solid rgba(255,255,255,.1);margin-top:45px;padding-top:20px;font-size:12px;text-align:center}.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:100}.modal.open{display:flex}.modal-backdrop{position:absolute;inset:0;background:rgba(2,8,15,.84);backdrop-filter:blur(5px)}.modal-box{position:relative;width:min(1000px,92%);max-height:88vh;overflow:auto;background:#fff;border-radius:16px;padding:30px;z-index:2}.modal-close{position:absolute;right:16px;top:10px;border:0;background:none;font-size:35px;cursor:pointer;color:#333}.modal-head{padding-right:40px}.modal-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.modal-gallery img{width:100%;height:300px;object-fit:cover;border-radius:10px}.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.show{opacity:1;transform:none}@media(max-width:900px){.nav-links{display:none}.nav-links.open{position:absolute;top:78px;left:0;right:0;background:var(--navy);display:flex;flex-direction:column;padding:22px 4%;gap:17px}.menu{display:block;margin-left:auto}.nav-call{display:none}.hero-grid,.split,.safety-grid,.contact-grid{grid-template-columns:1fr}.hero{padding:65px 0}.hero-image img{height:390px}.service-grid{grid-template-columns:1fr 1fr}.fleet-grid{grid-template-columns:1fr 1fr}.project-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}.hero-badge{right:12px}.section{padding:75px 0}}@media(max-width:600px){.brand span{font-size:13px}.service-grid,.fleet-grid,.project-grid,.footer-grid,.form-row{grid-template-columns:1fr}.hero h1{font-size:45px}.hero-image img,.section-image img{height:320px}.section-title{margin-bottom:30px}.enquiry{padding:22px}.modal-gallery{grid-template-columns:1fr}.modal-gallery img{height:250px}.hero-points{display:grid}.nav{height:70px}.nav-links.open{top:70px}}
