
:root{--navy:#0b2239;--navy2:#102f4c;--red:#d71920;--steel:#5d6f7d;--ice:#edf3f6;--white:#fff;--ink:#162430;--line:#d8e1e7;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.65;background:white}
.container{width:min(var(--max),calc(100% - 44px));margin:auto}.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.navbar{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo img{width:142px;display:block}.nav{display:flex;gap:24px;align-items:center}.nav a{text-decoration:none;color:var(--navy);font-size:13px;font-weight:700}.nav a:hover,.nav a.active{color:var(--red)}.menu{display:none;border:0;background:none;font-size:25px}
.hero{min-height:650px;color:white;display:flex;align-items:center;background:linear-gradient(90deg,rgba(5,23,39,.68) 0%,rgba(5,23,39,.43) 48%,rgba(5,23,39,.06) 100%),url('assets/images/hero-metro.jpg') center/cover no-repeat;position:relative}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:9px;background:linear-gradient(90deg,var(--red),#a8bac6,transparent)}.hero-inner{max-width:800px;padding:90px 0}.eyebrow,.kicker{font-size:12px;letter-spacing:.17em;font-weight:800;color:#e6a0a3;margin:0 0 15px}.hero h1{font-size:clamp(48px,6vw,78px);line-height:1;letter-spacing:-.04em;margin:0 0 22px}.hero .claim{font-size:25px;line-height:1.35;margin:0 0 20px}.hero p{max-width:720px;font-size:17px;color:#dce6ec}.buttons{display:flex;gap:12px;margin-top:30px}.btn{display:inline-block;padding:12px 18px;text-decoration:none;font-weight:800;font-size:13px;border:1px solid white}.btn.red{background:var(--red);border-color:var(--red);color:white}.btn.ghost{color:white}
.section{padding:82px 0}.alt{background:var(--ice)}.dark{background:var(--navy);color:white}.section h1,.section h2{font-size:clamp(34px,4vw,50px);line-height:1.1;letter-spacing:-.03em;margin:0 0 25px}.lead{font-size:20px;color:#435767;max-width:900px}.dark .lead{color:#c8d6df}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}.card{background:white;border:1px solid var(--line);padding:28px;min-height:230px}.card h3{color:var(--navy);margin-top:0}.card p{color:#5b6b77}.redline{border-top:4px solid var(--red)}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:55px;align-items:center}.split img{width:100%;height:390px;object-fit:cover}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}.service-list div{padding:16px;border-left:3px solid var(--red);background:#fff}.dark .service-list div{background:#14334f}
.page-hero{padding:78px 0;background:linear-gradient(120deg,var(--navy),var(--navy2));color:white}.page-hero h1{font-size:52px;margin:0 0 12px}.page-hero p{max-width:800px;color:#cedbe3;font-size:18px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery figure{margin:0;background:white;border:1px solid var(--line)}.gallery img{width:100%;height:240px;object-fit:cover;display:block}.gallery figcaption{padding:14px 16px;font-size:13px;color:#526571}.gallery .wide{grid-column:span 2}.history{display:grid;grid-template-columns:1fr 1fr;gap:18px}.history img{width:100%;height:360px;object-fit:cover}
.partner-box{padding:32px;border-left:5px solid var(--red);background:#fff;box-shadow:0 12px 35px rgba(9,32,52,.07)}.clients{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:32px}.client{height:110px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;text-align:center;color:#71818d;font-size:12px;font-weight:700;background:white}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:45px}.contact-card{background:white;border:1px solid var(--line);padding:30px}.contact-card a{color:var(--navy)}.contact-card strong{color:var(--navy)}
.footer{background:#071827;color:#aebdca;padding:36px 0}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px}.footer img{width:135px;background:white;padding:4px}.footer a{color:#dce6ec;text-decoration:none}.footer small{display:block;margin-top:25px;color:#7f93a2}
@media(max-width:850px){.menu{display:block}.nav{display:none;position:absolute;top:82px;left:0;right:0;background:white;padding:20px 24px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.nav.open{display:flex}.grid3,.gallery,.clients{grid-template-columns:1fr 1fr}.split,.contact-grid,.footer-grid{grid-template-columns:1fr}.gallery .wide{grid-column:auto}.hero{min-height:600px}.service-list{grid-template-columns:1fr}}
@media(max-width:560px){.container{width:min(var(--max),calc(100% - 28px))}.grid3,.gallery,.clients,.history{grid-template-columns:1fr}.hero h1{font-size:48px}.buttons{flex-direction:column}.page-hero h1{font-size:40px}}

.client{flex-direction:column}.client small{font-size:9px;font-weight:400;color:#9aa7af;margin-top:5px}

.client-logos .client{height:125px;padding:18px;background:#fff}
.client-logos .client img{max-width:100%;max-height:78px;width:auto;height:auto;object-fit:contain;display:block}

.experience-list{margin:24px 0 28px;padding-left:22px}.experience-list li{margin:12px 0;padding-left:6px;color:#435767}.experience-list li::marker{color:var(--red)}

/* V6 visual refinement */
body{background:linear-gradient(180deg,#ffffff 0%,#fbfcfd 100%)}
.header{box-shadow:0 4px 22px rgba(8,30,48,.07)}
.nav a{position:relative;transition:color .2s ease}
.nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--red);transition:width .22s ease}
.nav a:hover:after,.nav a.active:after{width:100%}
.hero{min-height:680px;background:linear-gradient(90deg,rgba(5,23,39,.62) 0%,rgba(5,23,39,.34) 49%,rgba(5,23,39,.03) 100%),url('assets/images/hero-metro.jpg') center/cover no-repeat}
.hero-inner{position:relative}.hero-inner:before{content:"";position:absolute;left:-28px;top:88px;width:4px;height:118px;background:var(--red)}
.hero h1{text-shadow:0 3px 22px rgba(0,0,0,.35)}
.btn{transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.16)}
.section{position:relative}.section h2{color:var(--navy)}.dark h2{color:white}
.kicker{display:inline-block;padding-bottom:7px;border-bottom:2px solid rgba(215,25,32,.38)}
.card{border:0;border-top:4px solid var(--red);box-shadow:0 10px 28px rgba(12,39,61,.08);transition:transform .2s ease,box-shadow .2s ease}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(12,39,61,.13)}
.card p{font-size:15px}.alt{background:linear-gradient(135deg,#f1f5f7 0%,#e8eff3 100%)}
.dark{background:linear-gradient(135deg,#081d30 0%,#123a59 100%)}
.partner-box{border-left:5px solid var(--red);border-radius:2px}
.gallery figure,.history img{box-shadow:0 10px 26px rgba(9,31,49,.10);overflow:hidden}
.gallery img{transition:transform .45s ease}.gallery figure:hover img{transform:scale(1.025)}
.client-logos .client{border:0;box-shadow:0 7px 20px rgba(11,34,57,.08);transition:transform .2s ease,box-shadow .2s ease}
.client-logos .client:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(11,34,57,.13)}
.page-hero{background:linear-gradient(120deg,#071c30 0%,#124a70 72%,#a5161c 140%);position:relative;overflow:hidden}
.page-hero:after{content:"";position:absolute;right:-90px;top:-120px;width:360px;height:360px;border:1px solid rgba(255,255,255,.09);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.018)}
.contact-card{border:0;border-top:4px solid var(--red);box-shadow:0 12px 32px rgba(8,31,49,.10)}
.footer{border-top:5px solid var(--red)}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* V7 readability and colour refinement */
.hero{background:linear-gradient(90deg,rgba(4,20,34,.76) 0%,rgba(4,20,34,.56) 44%,rgba(4,20,34,.12) 76%,rgba(4,20,34,.02) 100%),url('assets/images/hero-metro.jpg') center/cover no-repeat}
.hero-inner{max-width:830px}
.hero .eyebrow{color:#ffb4b7;text-shadow:0 1px 4px rgba(0,0,0,.65)}
.hero h1{color:#fff;text-shadow:0 3px 18px rgba(0,0,0,.68)}
.hero .claim{display:inline-block;background:rgba(255,255,255,.94);color:var(--navy);padding:10px 15px;border-left:4px solid var(--red);box-shadow:0 8px 24px rgba(0,0,0,.16);text-shadow:none}
.hero p:not(.eyebrow):not(.claim){color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.72);font-weight:500}
.section:not(.dark):not(.alt){background:linear-gradient(180deg,#fff 0%,#f9fbfc 100%)}
.alt{background:linear-gradient(135deg,#eaf1f5 0%,#f5f8fa 48%,#edf2f5 100%)}
.section:nth-of-type(odd) .kicker{color:#b51219}
.card:nth-child(3n+1){background:linear-gradient(180deg,#fff 0%,#f5f9fb 100%)}
.card:nth-child(3n+2){background:linear-gradient(180deg,#fff 0%,#f8f6f3 100%)}
.card:nth-child(3n+3){background:linear-gradient(180deg,#fff 0%,#f6f7fb 100%)}
.gallery figcaption{border-top:3px solid var(--red);background:#fff}
.client-logos{gap:16px}
.client-logos .client{background:linear-gradient(145deg,#fff,#f5f8fa);min-height:132px}
.contact{background:linear-gradient(135deg,#e8f0f4,#f7f9fa)}

/* V8 site-wide background refinement */
body{
  background:
    radial-gradient(circle at 88% 8%,rgba(42,91,122,.07),transparent 28%),
    linear-gradient(180deg,#eef3f6 0%,#f7f9fa 42%,#edf2f5 100%);
}
main{background:transparent}
.section:not(.dark):not(.alt){
  background:linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(247,250,252,.96) 100%);
}
.alt{
  background:linear-gradient(135deg,#e4edf2 0%,#f2f6f8 50%,#e8eff3 100%);
}
.page-hero{
  background:linear-gradient(120deg,#071c30 0%,#164c70 70%,#8f2025 145%);
}
.card,.partner-box,.contact-card,.client-logos .client{
  backdrop-filter:blur(2px);
}
