:root {
    --navy: #1B3A6B;
    --navy-deep: #0D2445;
    --navy-soft: #274C7D;
    --gold: #C9A84C;
    --gold-light: #E2C873;
    --white: #FFFFFF;
    --offwhite: #F7F8FA;
    --ink: #152033;
    --muted: #667085;
    --line: rgba(27, 58, 107, .13);
    --shadow: 0 24px 70px rgba(13, 36, 69, .12);
    --radius: 2px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
    font-family: "Open Sans", sans-serif;
    color: var(--ink);
    background: var(--white);
    line-height: 1.7;
    overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; display: block; }

.container { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.site-progress { position: fixed; inset: 0 auto auto 0; height: 3px; width: 0; background: var(--gold); z-index: 2000; }
.site-header {
    position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
    background: rgba(255,255,255,.96); backdrop-filter: blur(18px);
    border-bottom: 1px solid transparent; transition: .3s ease;
}
.site-header.scrolled { box-shadow: 0 10px 40px rgba(13,36,69,.08); border-color: var(--line); }
.nav-wrap { height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: flex; align-items: center; gap: 12px; min-width: 255px; }
.brand-mark { display: flex; gap: 3px; align-items: flex-end; width: 34px; height: 34px; }
.brand-mark span { width: 9px; background: var(--navy); display: block; }
.brand-mark span:nth-child(1) { height: 22px; }
.brand-mark span:nth-child(2) { height: 30px; background: var(--gold); }
.brand-mark span:nth-child(3) { height: 16px; }
.brand-text { display: grid; line-height: 1; gap: 5px; }
.brand-text strong { font: 600 19px/1 "Oswald", sans-serif; letter-spacing: .09em; color: var(--navy); }
.brand-text small { font: 600 7px/1.2 "Open Sans", sans-serif; letter-spacing: .14em; color: var(--muted); }
.main-nav { display: flex; align-items: center; gap: 27px; }
.main-nav > a { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ink); position: relative; padding: 31px 0; }
.main-nav > a:not(.nav-cta)::after { content:""; position:absolute; left:0; bottom:24px; width:0; height:2px; background:var(--gold); transition:.25s; }
.main-nav > a:hover::after, .main-nav > a.active::after { width:100%; }
.main-nav .nav-cta { color: var(--white); background: var(--navy); padding: 13px 18px; }
.main-nav .nav-cta span { color: var(--gold-light); margin-left: 7px; }
.menu-toggle { display:none; border:0; background:none; width:42px; height:42px; }
.menu-toggle span { display:block; height:2px; background:var(--navy); margin:6px 0; transition:.25s; }

.hero {
    min-height: 760px; padding-top: 82px; position: relative; overflow: hidden;
    background:
        radial-gradient(circle at 84% 38%, rgba(201,168,76,.13), transparent 22%),
        linear-gradient(135deg, #fff 0%, #f5f7fa 100%);
}
.hero::before { content:""; position:absolute; inset:0 0 0 53%; background: linear-gradient(120deg, transparent 0 49%, rgba(27,58,107,.04) 49% 50%, transparent 50%); }
.hero-glow { position:absolute; width:600px; height:600px; border:1px solid rgba(201,168,76,.16); border-radius:50%; right:-220px; top:90px; }
.hero-inner { min-height: 640px; display:grid; grid-template-columns: 1.05fr .95fr; align-items:center; gap:50px; position:relative; z-index:1; }
.eyebrow { display:flex; align-items:center; gap:10px; color:var(--navy); font:600 11px/1.2 "Open Sans", sans-serif; letter-spacing:.18em; text-transform:uppercase; }
.eyebrow > span { width:25px; height:2px; background:var(--gold); display:inline-block; }
.eyebrow.light { color:#dbe6f5; }
.hero h1, .page-hero h1, h2 { font-family:"Oswald", sans-serif; font-weight:500; letter-spacing:.01em; }
.hero h1 { font-size: clamp(58px, 7vw, 94px); line-height:.94; color:var(--navy-deep); margin:24px 0; }
.hero h1 em, h2 em, .page-hero h1 em { color:var(--gold); font-style:normal; }
.hero-copy > p { max-width:590px; font-size:17px; color:var(--muted); }
.hero-actions { display:flex; gap:12px; margin:34px 0; flex-wrap:wrap; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:50px; padding:0 22px; border:1px solid transparent; text-transform:uppercase; letter-spacing:.08em; font-size:11px; font-weight:800; transition:.25s; }
.btn span { color:var(--gold-light); }
.btn-primary { background:var(--navy); color:var(--white); }
.btn-primary:hover { background:var(--navy-deep); transform:translateY(-2px); box-shadow:0 12px 30px rgba(27,58,107,.2); }
.btn-ghost { border-color:var(--line); color:var(--navy); background:var(--white); }
.btn-ghost:hover { border-color:var(--gold); }
.btn-gold { background:var(--gold); color:var(--navy-deep); }
.btn-gold:hover { background:var(--gold-light); transform:translateY(-2px); }
.btn-outline-light { border-color:rgba(255,255,255,.35); color:#fff; }
.btn-outline-light:hover { border-color:var(--gold); color:var(--gold-light); }
.hero-trust { display:flex; gap:34px; padding-top:22px; border-top:1px solid var(--line); max-width:650px; }
.hero-trust div { display:grid; gap:1px; }
.hero-trust strong { font:500 27px/1 "Oswald"; color:var(--navy); }
.hero-trust span { font-size:10px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); }

.hero-visual { position:relative; min-height:500px; display:grid; place-items:center; }
.visual-card {
    width:min(450px, 90%); height:480px; position:relative; overflow:hidden;
    background:linear-gradient(145deg, var(--navy-deep), var(--navy));
    box-shadow:var(--shadow);
}
.visual-card::before {
    content:""; position:absolute; inset:-20%; opacity:.25;
    background: repeating-linear-gradient(115deg, transparent 0 23px, rgba(255,255,255,.08) 24px 25px);
    transform:rotate(8deg);
}
.route-line { position:absolute; width:280px; height:280px; border:1px solid rgba(201,168,76,.5); border-radius:50%; left:90px; top:90px; }
.route-line::after { content:""; position:absolute; width:200px; height:200px; border:1px dashed rgba(255,255,255,.25); border-radius:50%; left:39px; top:39px; }
.route-dot { position:absolute; border-radius:50%; background:var(--gold); width:12px; height:12px; box-shadow:0 0 0 8px rgba(201,168,76,.12); }
.route-dot span { position:absolute; font-size:9px; color:#fff; letter-spacing:.12em; top:18px; left:-5px; }
.dot-a { top:145px; left:105px; }
.dot-b { right:95px; bottom:140px; }
.visual-copy { position:absolute; left:40px; bottom:75px; color:#fff; }
.visual-copy span { font-size:9px; letter-spacing:.2em; color:var(--gold-light); }
.visual-copy strong { display:block; font:500 52px/.92 "Oswald"; margin-top:12px; }
.visual-footer { position:absolute; left:40px; right:40px; bottom:25px; display:flex; justify-content:space-between; border-top:1px solid rgba(255,255,255,.18); padding-top:13px; }
.visual-footer span { font-size:7px; color:#d9e1eb; letter-spacing:.12em; }
.gold-badge { position:absolute; right:8%; bottom:10%; width:82px; height:82px; border-radius:50%; display:grid; place-items:center; background:var(--gold); color:var(--navy-deep); font:600 28px "Oswald"; box-shadow:0 16px 35px rgba(201,168,76,.3); }

.hero-strip { background:var(--navy); color:#fff; }
.strip-items { min-height:65px; display:flex; align-items:center; justify-content:space-between; gap:16px; overflow:hidden; }
.strip-items span { font-size:9px; font-weight:700; letter-spacing:.14em; white-space:nowrap; }
.strip-items i { width:4px; height:4px; background:var(--gold); border-radius:50%; flex:0 0 auto; }

.section { padding:120px 0; }
.two-col { display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:start; }
.section-heading .section-number { display:block; font:500 14px "Oswald"; color:var(--gold); margin-bottom:20px; }
.section-heading h2, .network-copy h2, .contact-info h2 { font-size:clamp(48px,5vw,72px); line-height:.96; color:var(--navy-deep); margin-top:18px; }
.section-heading h2 em { color:var(--navy); }
.about-copy { padding-top:50px; }
.about-copy p { color:var(--muted); margin-bottom:17px; max-width:650px; font-size:14px; }
.about-copy .lead { color:var(--ink); font-size:19px; line-height:1.7; }
.text-link { display:inline-flex; align-items:center; gap:15px; margin-top:12px; color:var(--navy); text-transform:uppercase; letter-spacing:.09em; font-size:10px; font-weight:800; }
.text-link span { color:var(--gold); transition:.2s; }
.text-link:hover span { transform:translateX(5px); }

.values-grid { display:grid; grid-template-columns:repeat(5,1fr); margin-top:80px; border-top:1px solid var(--line); }
.value-card { padding:28px 18px 20px 0; border-right:1px solid var(--line); }
.value-card:not(:first-child) { padding-left:22px; }
.value-card:last-child { border-right:0; }
.value-card span { color:var(--gold); font:500 11px "Oswald"; }
.value-card strong { display:block; font:500 25px "Oswald"; color:var(--navy); margin:12px 0 4px; }
.value-card p { font-size:11px; color:var(--muted); line-height:1.55; }

.services-section { background:var(--offwhite); }
.centered { text-align:center; max-width:800px; margin-inline:auto; }
.centered .section-number { margin-bottom:5px; }
.centered .eyebrow { justify-content:center; }
.heading-intro { margin:24px auto 0; color:var(--muted); font-size:14px; max-width:620px; }
.service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; margin-top:65px; background:var(--line); border:1px solid var(--line); }
.service-card { background:#fff; min-height:290px; padding:28px; position:relative; transition:.3s; }
.service-card:hover { transform:translateY(-5px); box-shadow:0 18px 45px rgba(13,36,69,.12); z-index:2; }
.service-icon { width:44px; height:44px; color:var(--navy); margin-bottom:30px; }
.service-icon svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.service-no { position:absolute; right:25px; top:25px; color:#cbd2dc; font:500 11px "Oswald"; }
.service-card h3 { font:500 25px/1.1 "Oswald"; color:var(--navy-deep); margin-bottom:12px; }
.service-card p { font-size:12px; color:var(--muted); line-height:1.65; }
.service-card a { position:absolute; bottom:25px; left:28px; font-size:9px; text-transform:uppercase; font-weight:800; letter-spacing:.08em; color:var(--navy); }
.service-card a span { color:var(--gold); margin-left:8px; }

.network-section { position:relative; overflow:hidden; background:var(--navy-deep); color:#fff; }
.network-pattern { position:absolute; inset:0; opacity:.1; background:linear-gradient(90deg, transparent 49.8%, #fff 50%, transparent 50.2%), linear-gradient(0deg, transparent 49.8%, #fff 50%, transparent 50.2%); background-size:80px 80px; }
.network-content { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.network-copy h2 { color:#fff; }
.network-copy h2 em { color:var(--gold-light); }
.network-copy > p { color:#b9c5d5; max-width:580px; margin-top:25px; font-size:14px; }
.network-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:32px; }
.country-chip { color:#fff; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); padding:9px 12px; font-size:9px; text-transform:uppercase; letter-spacing:.08em; transition:.2s; }
.country-chip:hover, .country-chip.active { background:var(--gold); color:var(--navy-deep); border-color:var(--gold); }
.network-map { height:450px; position:relative; display:grid; place-items:center; }
.map-ring { position:absolute; border:1px solid rgba(201,168,76,.4); border-radius:50%; animation:pulse 3s infinite ease-in-out; }
.ring-1 { width:150px; height:150px; }
.ring-2 { width:290px; height:290px; animation-delay:.5s; }
.ring-3 { width:430px; height:430px; animation-delay:1s; }
.map-pin { position:absolute; background:var(--gold); color:var(--navy-deep); font:600 12px "Oswald"; padding:12px 14px; z-index:2; }
.pin-za { transform:translate(-50px, 35px); }
.pin-sadc { transform:translate(90px, -75px); background:#fff; }
.map-label { text-align:center; font:500 46px/.9 "Oswald"; color:rgba(255,255,255,.09); letter-spacing:.04em; }
@keyframes pulse { 50% { transform:scale(1.04); opacity:.55; } }

.capability-layout { display:grid; grid-template-columns:1fr 1fr; gap:80px; margin-top:65px; }
.capability-feature { background:var(--navy); color:#fff; padding:55px; min-height:330px; position:relative; }
.feature-number { color:var(--gold-light); font:500 12px "Oswald"; }
.capability-feature h3 { font:500 42px/1 "Oswald"; margin:70px 0 15px; }
.capability-feature p { color:#c6d0df; font-size:13px; max-width:430px; }
.capability-list { border-top:1px solid var(--line); }
.capability-item { min-height:82px; border-bottom:1px solid var(--line); display:flex; align-items:center; gap:20px; }
.capability-item span { color:var(--gold); font:500 12px "Oswald"; width:25px; }
.capability-item strong { font:500 21px "Oswald"; color:var(--navy-deep); }

.quote-section { padding:40px 0; background:var(--offwhite); }
.quote-box { background:var(--navy); padding:70px; color:#fff; display:flex; justify-content:space-between; align-items:end; gap:40px; position:relative; overflow:hidden; }
.quote-box::after { content:"MC"; position:absolute; right:-10px; top:-80px; font:600 300px/.8 "Oswald"; color:rgba(255,255,255,.03); }
.quote-box h2 { font-size:clamp(48px,5vw,70px); line-height:.95; margin:18px 0; position:relative; z-index:1; }
.quote-box p { max-width:600px; color:#bdc9d9; font-size:13px; position:relative; z-index:1; }
.quote-box .btn { position:relative; z-index:1; flex:0 0 auto; }

.contact-section { padding-top:110px; }
.contact-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:100px; }
.contact-details { border-top:1px solid var(--line); }
.contact-row { display:flex; align-items:center; gap:18px; min-height:100px; border-bottom:1px solid var(--line); transition:.2s; }
a.contact-row:hover { padding-left:8px; }
.contact-icon { width:40px; height:40px; display:grid; place-items:center; border:1px solid var(--line); color:var(--navy); font-size:11px; font-weight:800; }
.contact-row span:nth-child(2) { display:grid; flex:1; }
.contact-row small { color:var(--muted); text-transform:uppercase; letter-spacing:.1em; font-size:8px; font-weight:700; }
.contact-row strong { color:var(--navy-deep); font:500 18px "Oswald"; }
.contact-row > b { color:var(--gold); font-weight:400; }

.site-footer { background:#091B34; color:#fff; padding-top:75px; }
.footer-grid { display:grid; grid-template-columns:1.6fr .8fr 1fr 1.2fr; gap:50px; padding-bottom:60px; }
.footer-brand .brand-text strong { color:#fff; }
.footer-brand .brand-text small { color:#8ea0b7; }
.footer-copy { color:#9aaabd; margin-top:20px; font-size:12px; }
.site-footer h3 { font:500 19px "Oswald"; color:var(--gold-light); margin-bottom:17px; }
.site-footer > .container a, .site-footer > .container div > span { display:block; color:#b9c4d3; font-size:11px; margin:8px 0; }
.site-footer a:hover { color:#fff !important; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); min-height:70px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.footer-bottom span { font-size:9px !important; color:#73849a !important; }
.back-top { position:fixed; right:20px; bottom:20px; width:45px; height:45px; border:1px solid var(--line); background:#fff; color:var(--navy); box-shadow:0 10px 30px rgba(0,0,0,.1); z-index:500; opacity:0; pointer-events:none; transition:.2s; }
.back-top.visible { opacity:1; pointer-events:auto; }

.page-hero { background:var(--navy-deep); color:#fff; padding:190px 0 100px; position:relative; overflow:hidden; }
.page-hero::after { content:""; position:absolute; width:550px; height:550px; border:1px solid rgba(201,168,76,.15); border-radius:50%; right:-180px; top:70px; }
.page-hero h1 { font-size:clamp(65px,8vw,105px); line-height:.9; max-width:900px; margin:25px 0; position:relative; z-index:1; }
.page-hero-intro { max-width:620px; color:#b9c5d5; font-size:15px; position:relative; z-index:1; }
.service-detail-section { padding:100px 0; background:var(--offwhite); }
.service-filter { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:40px; }
.filter-btn { border:1px solid var(--line); background:#fff; color:var(--navy); padding:11px 17px; text-transform:uppercase; font-size:9px; font-weight:800; letter-spacing:.08em; }
.filter-btn.active, .filter-btn:hover { background:var(--navy); color:#fff; border-color:var(--navy); }
.detail-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.detail-card { background:#fff; min-height:390px; padding:30px; display:flex; flex-direction:column; transition:.3s; }
.detail-card:hover { transform:translateY(-4px); box-shadow:0 18px 45px rgba(13,36,69,.1); z-index:2; }
.detail-card.hidden { display:none; }
.detail-top { display:flex; justify-content:space-between; color:var(--gold); font-size:8px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.detail-top b { font-size:15px; font-weight:400; }
.detail-card h2 { color:var(--navy-deep); font-size:38px; line-height:1; margin:50px 0 15px; }
.detail-card p { color:var(--muted); font-size:12px; line-height:1.7; }
.detail-card ul { list-style:none; margin:25px 0; }
.detail-card li { font-size:10px; font-weight:700; color:var(--navy); margin:7px 0; display:flex; gap:8px; }
.detail-card li span { color:var(--gold); }
.detail-card .text-link { margin-top:auto; }

.process-section { padding:100px 0; }
.process-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:55px; border-top:1px solid var(--line); }
.process-card { padding:30px 30px 20px 0; border-right:1px solid var(--line); }
.process-card:not(:first-child) { padding-left:30px; }
.process-card:last-child { border:0; }
.process-card > span { color:var(--gold); font:500 12px "Oswald"; }
.process-card h3 { font:500 34px "Oswald"; color:var(--navy); margin:45px 0 8px; }
.process-card p { color:var(--muted); font-size:12px; max-width:330px; }

.contact-page-section { padding:100px 0; background:var(--offwhite); }
.contact-page-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:100px; }
.contact-info > p:not(.eyebrow) { color:var(--muted); font-size:13px; max-width:500px; margin:25px 0; }
.contact-stack { margin-top:35px; border-top:1px solid var(--line); }
.contact-stack > * { display:grid; gap:3px; padding:18px 0; border-bottom:1px solid var(--line); }
.contact-stack small { font-size:8px; text-transform:uppercase; letter-spacing:.12em; color:var(--muted); font-weight:800; }
.contact-stack strong { font:500 20px "Oswald"; color:var(--navy-deep); }
.quote-form-wrap { background:#fff; box-shadow:var(--shadow); }
.quote-form { padding:45px; }
.form-heading { border-bottom:1px solid var(--line); padding-bottom:25px; margin-bottom:28px; }
.form-heading span { color:var(--gold); font:600 9px "Open Sans"; letter-spacing:.12em; }
.form-heading h2 { color:var(--navy-deep); font-size:43px; margin-top:10px; }
.form-heading h2 em { color:var(--gold); font-style:normal; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-grid label { color:var(--navy); font-size:9px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.form-grid .full { grid-column:1/-1; }
.form-grid input, .form-grid select, .form-grid textarea { display:block; width:100%; border:1px solid #dbe1e8; background:#fbfcfd; padding:13px 14px; margin-top:7px; outline:none; color:var(--ink); font-size:12px; font-weight:400; text-transform:none; letter-spacing:0; transition:.2s; }
.form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus { border-color:var(--navy); background:#fff; }
.form-grid textarea { resize:vertical; }
.form-alert { margin:25px 45px 0; padding:14px; background:#fff5f5; border-left:3px solid #b94a48; color:#8b3432; font-size:11px; }
.form-success { padding:70px 45px; text-align:center; }
.form-success > span { width:55px; height:55px; display:grid; place-items:center; margin:0 auto 20px; background:var(--gold); color:var(--navy-deep); border-radius:50%; }
.form-success h2 { font-size:45px; color:var(--navy); }
.form-success p { color:var(--muted); margin:10px 0 25px; font-size:13px; }
.direct-contact { background:var(--navy); padding:60px 0; color:#fff; }
.direct-contact-inner { display:flex; justify-content:space-between; align-items:center; gap:30px; }
.direct-contact h2 { font-size:50px; margin-top:10px; }
.direct-contact h2 em { color:var(--gold-light); font-style:normal; }
.direct-actions { display:flex; gap:10px; flex-wrap:wrap; }

.reveal { opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity:1; transform:none; }
.delay-1 { transition-delay:.12s; }
.delay-2 { transition-delay:.22s; }
.delay-3 { transition-delay:.32s; }

@media (max-width: 1000px) {
    .main-nav { gap:16px; }
    .main-nav > a { font-size:10px; }
    .service-grid { grid-template-columns:repeat(2,1fr); }
    .detail-grid { grid-template-columns:repeat(2,1fr); }
    .values-grid { grid-template-columns:repeat(3,1fr); }
    .value-card:nth-child(3) { border-right:0; }
    .value-card:nth-child(4) { border-top:1px solid var(--line); }
    .value-card:nth-child(5) { border-top:1px solid var(--line); }
    .footer-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width: 780px) {
    .container { width:min(100% - 32px, 1180px); }
    .nav-wrap { height:72px; }
    .brand { min-width:0; }
    .brand-text strong { font-size:16px; }
    .brand-text small { font-size:6px; }
    .menu-toggle { display:block; }
    .main-nav {
        position:fixed; top:72px; left:0; right:0; bottom:0; background:#fff;
        display:flex; flex-direction:column; align-items:stretch; gap:0; padding:20px 25px;
        transform:translateX(100%); transition:.3s ease; box-shadow:0 20px 40px rgba(0,0,0,.1);
    }
    .main-nav.open { transform:none; }
    .main-nav > a { padding:16px 0; border-bottom:1px solid var(--line); font-size:12px; }
    .main-nav > a:not(.nav-cta)::after { bottom:0; }
    .main-nav .nav-cta { margin-top:15px; text-align:center; }
    .menu-toggle.active span:nth-child(1) { transform:translateY(8px) rotate(45deg); }
    .menu-toggle.active span:nth-child(2) { opacity:0; }
    .menu-toggle.active span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); }
    .hero { min-height:auto; padding-top:72px; }
    .hero-inner { grid-template-columns:1fr; padding:75px 0 45px; }
    .hero h1 { font-size:clamp(54px,15vw,82px); }
    .hero-visual { min-height:390px; }
    .visual-card { height:370px; }
    .visual-copy strong { font-size:42px; }
    .hero-trust { gap:18px; flex-wrap:wrap; }
    .hero-trust strong { font-size:23px; }
    .strip-items { justify-content:flex-start; padding:0 16px; }
    .strip-items span:nth-of-type(n+4), .strip-items i:nth-of-type(n+4) { display:none; }
    .section { padding:80px 0; }
    .two-col, .network-content, .capability-layout, .contact-grid, .contact-page-grid { grid-template-columns:1fr; gap:45px; }
    .about-copy { padding-top:0; }
    .values-grid { margin-top:55px; grid-template-columns:1fr 1fr; }
    .value-card, .value-card:not(:first-child) { padding:22px 15px; border-right:0; border-bottom:1px solid var(--line); }
    .value-card:nth-child(odd) { border-right:1px solid var(--line); }
    .service-grid { grid-template-columns:1fr; }
    .service-card { min-height:260px; }
    .network-map { height:360px; order:-1; }
    .ring-3 { width:320px; height:320px; }
    .capability-feature { min-height:280px; padding:35px; }
    .capability-feature h3 { margin-top:45px; }
    .quote-box { padding:45px 30px; align-items:flex-start; flex-direction:column; }
    .contact-grid { gap:35px; }
    .footer-grid { grid-template-columns:1fr 1fr; gap:35px 25px; }
    .footer-bottom { padding:18px 0; align-items:flex-start; flex-direction:column; }
    .page-hero { padding:140px 0 75px; }
    .page-hero h1 { font-size:clamp(58px,16vw,85px); }
    .detail-grid { grid-template-columns:1fr; }
    .process-grid { grid-template-columns:1fr; }
    .process-card, .process-card:not(:first-child) { padding:25px 0; border-right:0; border-bottom:1px solid var(--line); }
    .form-grid { grid-template-columns:1fr; }
    .form-grid .full { grid-column:auto; }
    .quote-form { padding:30px 22px; }
    .form-alert { margin:20px 22px 0; }
    .direct-contact-inner { flex-direction:column; align-items:flex-start; }
}

@media (max-width: 480px) {
    .brand-text small { display:none; }
    .brand-text strong { font-size:15px; }
    .hero h1 { font-size:52px; }
    .hero-actions .btn { width:100%; }
    .hero-trust { display:grid; grid-template-columns:repeat(3,1fr); }
    .hero-trust span { font-size:8px; }
    .visual-card { width:100%; }
    .gold-badge { width:65px; height:65px; font-size:22px; right:0; }
    .values-grid { grid-template-columns:1fr; }
    .value-card:nth-child(odd) { border-right:0; }
    .service-card { padding:24px; }
    .quote-box h2, .direct-contact h2 { font-size:43px; }
    .contact-row strong { font-size:16px; }
    .footer-grid { grid-template-columns:1fr; }
}

/* ==========================================================
   BRAND & FLEET IMAGERY
   ========================================================== */
.brand-logo { width:180px; height:70px; object-fit:contain; object-position:center; mix-blend-mode:multiply; }
.header-logo { width:210px; height:82px; }
.footer-logo { width:210px; height:82px; mix-blend-mode:screen; }
.hero-truck-photo { width:min(560px,100%); height:510px; position:relative; overflow:hidden; background:var(--navy-deep); box-shadow:var(--shadow); }
.hero-truck-photo > img { width:100%; height:100%; object-fit:cover; }
.photo-overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,27,52,.62),transparent 55%),linear-gradient(0deg,rgba(9,27,52,.72),transparent 45%); }
.photo-brand { position:absolute; left:25px; top:25px; width:210px; height:92px; padding:7px; background:rgba(9,27,52,.9); border:1px solid rgba(201,168,76,.55); box-shadow:0 15px 35px rgba(0,0,0,.22); }
.photo-brand img { width:100%; height:100%; object-fit:contain; }
.hero-truck-photo figcaption { position:absolute; left:25px; bottom:22px; color:#fff; font:500 24px "Oswald"; letter-spacing:.03em; text-transform:uppercase; }
.fleet-gallery { padding:110px 0 120px; background:var(--offwhite); }
.fleet-gallery-grid { display:grid; grid-template-columns:1.4fr .8fr .8fr; gap:14px; margin-top:55px; }
.fleet-photo { height:350px; position:relative; overflow:hidden; background:var(--navy-deep); }
.fleet-photo.large { height:430px; }
.fleet-photo > img { width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.fleet-photo:hover > img { transform:scale(1.05); }
.fleet-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(9,27,52,.85),transparent 58%); pointer-events:none; }
.photo-brand.small { width:130px; height:58px; left:18px; top:18px; z-index:2; padding:4px; }
.fleet-photo figcaption { position:absolute; z-index:3; left:22px; right:20px; bottom:20px; display:grid; gap:3px; color:#fff; }
.fleet-photo figcaption strong { font:500 25px "Oswald"; text-transform:uppercase; }
.fleet-photo figcaption span { color:#d6deea; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.service-visual-banner { padding:0 0 100px; background:var(--offwhite); }
.service-banner-image { height:430px; position:relative; overflow:hidden; background:var(--navy-deep); }
.service-banner-image > img { width:100%; height:100%; object-fit:cover; }
.service-banner-image::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(9,27,52,.9),rgba(9,27,52,.15) 65%),linear-gradient(0deg,rgba(9,27,52,.5),transparent 55%); }
.service-banner-brand { position:absolute; z-index:2; top:28px; right:30px; width:220px; height:92px; padding:6px; background:rgba(9,27,52,.88); border:1px solid rgba(201,168,76,.5); }
.service-banner-brand img { width:100%; height:100%; object-fit:contain; }
.service-banner-copy { position:absolute; z-index:2; left:max(24px,calc((100% - 1180px)/2)); bottom:55px; color:#fff; }
.service-banner-copy span { color:var(--gold-light); font-size:10px; font-weight:800; letter-spacing:.18em; }
.service-banner-copy strong { display:block; margin-top:12px; font:500 clamp(45px,6vw,78px)/.9 "Oswald"; text-transform:uppercase; }

@media (max-width: 980px) {
    .brand-logo { width:155px; height:62px; }
    .fleet-gallery-grid { grid-template-columns:1fr 1fr; }
    .fleet-photo.large { grid-column:1/-1; height:420px; }
}
@media (max-width: 780px) {
    .brand-logo { width:145px; height:58px; }
    .hero-truck-photo { height:390px; }
    .hero-truck-photo figcaption { font-size:19px; }
    .photo-brand { width:165px; height:72px; }
    .fleet-gallery { padding:80px 0; }
    .fleet-gallery-grid { grid-template-columns:1fr; }
    .fleet-photo, .fleet-photo.large { height:330px; grid-column:auto; }
    .service-banner-image { height:380px; }
    .service-banner-copy { left:20px; bottom:30px; }
    .service-banner-brand { width:170px; height:72px; right:20px; top:20px; }
}
