:root{--navy:#0b1b33;--navy2:#13294b;--volt:#ffc61a;--ink:#1a2433;--mute:#5a6678;--tint:#eef2f7;--r:14px}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font-family:'Barlow',system-ui,sans-serif;color:var(--ink);font-size:1.05rem;line-height:1.65}
h1,h2,h3,.eyebrow,.btn,.navbar-brand,.cred strong{font-family:'Barlow Condensed',sans-serif}
h2{font-weight:700;font-size:clamp(2rem,4vw,3rem);line-height:1.05;text-transform:uppercase;letter-spacing:.01em;margin-bottom:1rem}
.muted{color:var(--mute)}
.eyebrow{display:inline-block;color:var(--volt);font-weight:600;letter-spacing:.18em;text-transform:uppercase;font-size:.95rem;margin-bottom:.75rem}
.eyebrow.dark{color:#a37800}
.section{padding:clamp(4rem,9vw,7rem) 0}
.section-tint{background:var(--tint)}
.section-ink{background:var(--navy);color:#e7edf6}
.section-ink h2{color:#fff}
.section-head{max-width:680px;margin-bottom:3rem}
.section-head.light p{color:#b9c6da}
.btn-ces{background:var(--volt);color:var(--navy);font-weight:700;border:0;letter-spacing:.03em;text-transform:uppercase;border-radius:6px}
.btn-ces:hover,.btn-ces:focus{background:#ffd54d;color:var(--navy)}
.btn{font-weight:600;letter-spacing:.03em;text-transform:uppercase;border-radius:6px}

/* nav */
.ces-nav{background:var(--navy);padding:.6rem 0;border-bottom:3px solid var(--volt)}
.navbar-brand{display:flex;align-items:center;gap:.55rem;color:#fff!important;font-weight:700;font-size:1.3rem;letter-spacing:.03em;text-transform:uppercase;white-space:normal;line-height:1.05}
.brand-bolt{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:8px;background:var(--volt);color:var(--navy)}
.ces-nav .nav-link{color:#dbe4f2;font-weight:500;font-size:.98rem;padding:.5rem .7rem}
.ces-nav .nav-link:hover,.ces-nav .nav-link.active{color:var(--volt)}
.navbar-toggler{border-color:rgba(255,255,255,.4)}
.navbar-toggler-icon{filter:invert(1)}
@media (max-width:1199.98px){.ces-nav .btn-ces{margin:.5rem 0 .75rem}}
@media (max-width:575.98px){.navbar-brand{font-size:1.05rem}}

/* hero: split panel */
.hero{display:grid;grid-template-columns:55fr 45fr;min-height:100vh;padding-top:62px;background:var(--navy)}
.hero-panel{display:flex;align-items:center;background:var(--navy);background-image:linear-gradient(135deg,var(--navy) 60%,var(--navy2));padding:clamp(2.5rem,6vw,5rem) clamp(1.25rem,5vw,5rem)}
.hero-content{max-width:620px;margin-left:auto}
.hero h1{color:#fff;font-weight:700;text-transform:uppercase;font-size:clamp(2.6rem,5.6vw,5rem);line-height:.98;margin-bottom:1.25rem}
.hero h1 em{font-style:normal;color:var(--volt);display:block}
.hero .lead{color:#c9d5e8;font-size:1.15rem;margin-bottom:2rem}
.hero-photo{background:url('img/hero.webp') 82% center/cover no-repeat;min-height:320px;border-left:6px solid var(--volt)}
@media (max-width:991.98px){.hero{grid-template-columns:1fr;min-height:0}.hero-content{margin:0 auto}.hero-photo{min-height:300px;border-left:0;border-top:6px solid var(--volt)}}

/* credentials */
.creds{background:var(--volt);color:var(--navy)}
.cred{padding:1.6rem .75rem;display:flex;flex-direction:column;align-items:center;line-height:1.2;border-right:1px solid rgba(11,27,51,.15)}
.cred:last-child{border-right:0}
.cred i{font-size:1.7rem;margin-bottom:.3rem}
.cred strong{font-size:1.45rem;text-transform:uppercase}
.cred span{font-size:.92rem}
@media (max-width:991.98px){.cred:nth-child(2){border-right:0}.cred:nth-child(-n+2){border-bottom:1px solid rgba(11,27,51,.15)}}

/* services */
.svc-card{height:100%;background:#fff;border:1px solid #dde4ee;border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(11,27,51,.05)}
.svc-card img{width:100%;height:210px;object-fit:cover}
.svc-body{padding:1.5rem 1.5rem 1.75rem}
.svc-body h3{font-size:1.7rem;font-weight:700;text-transform:uppercase;display:flex;align-items:center;gap:.5rem}
.svc-body h3 i{color:#a37800}
.svc-body p{font-size:.98rem;color:var(--mute)}
.svc-body ul{list-style:none;padding:0;margin:0;font-size:.97rem}
.svc-body li{padding:.28rem 0 .28rem 1.4rem;position:relative;border-top:1px solid #edf1f6}
.svc-body li::before{content:"";position:absolute;left:.1rem;top:.85rem;width:.55rem;height:.55rem;background:var(--volt);transform:rotate(45deg)}
.svc-cta{background:var(--volt);border-color:var(--volt);justify-content:center;text-align:center}
.svc-cta .svc-body{padding:2.5rem 1.75rem}
.svc-cta h3{justify-content:center;font-size:2.1rem}
.svc-cta p{color:var(--navy);font-size:1.1rem}
.svc-cta .big{font-size:3.5rem;color:var(--navy)}

/* logos */
.logo-cell{background:#fff;border-radius:var(--r);height:140px;display:grid;place-items:center;padding:1.1rem 1.5rem}
.logo-cell img{max-height:120px;max-width:100%;width:auto;height:auto;object-fit:contain}
.logo-fill{background:var(--navy2);border:1px dashed rgba(255,198,26,.5)}
.logo-fill span{color:var(--volt);font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:1.25rem;text-transform:uppercase;text-align:center;line-height:1.15}

/* steps */
.steps{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}
.steps li{display:flex;align-items:center;gap:1.1rem;background:var(--tint);border-radius:var(--r);padding:1rem 1.25rem;border-left:5px solid var(--volt)}
.steps span{flex:none;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--navy);color:var(--volt);display:grid;place-items:center;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:1.4rem}
.steps strong{font-family:'Barlow Condensed',sans-serif;font-size:1.5rem;text-transform:uppercase}

.rounded-img{width:100%;height:auto;border-radius:var(--r);box-shadow:0 20px 40px -20px rgba(11,27,51,.5)}
.chips{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.25rem}
.chips span{background:var(--navy);color:var(--volt);font-family:'Barlow Condensed',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:.3rem 1rem;border-radius:99px}

/* gallery */
.gallery img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px;display:block}

/* about */
.about-list{list-style:none;padding:0;margin:1.75rem 0 0}
.about-list li{display:flex;gap:1rem;margin-bottom:1.1rem}
.about-list i{flex:none;font-size:1.5rem;color:var(--volt)}
.about-list strong{display:block;color:#fff;font-family:'Barlow Condensed',sans-serif;font-size:1.3rem;text-transform:uppercase}
.about-mosaic{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.about-mosaic img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:10px}
.about-mosaic .m-wide{grid-column:1/-1;aspect-ratio:3/2}

/* careers */
.mini{font-size:1.35rem;font-weight:700;text-transform:uppercase;border-bottom:3px solid var(--volt);display:inline-block;margin-bottom:.8rem}
.tick{list-style:none;padding:0;margin:0}
.tick li{padding:.3rem 0 .3rem 1.6rem;position:relative;font-size:1rem}
.tick li::before{content:"\F26A";font-family:bootstrap-icons;position:absolute;left:0;color:#a37800}

/* contact */
.contact-list{list-style:none;padding:0;margin:1.75rem 0 0}
.contact-list li{display:flex;gap:1rem;margin-bottom:1.25rem}
.contact-list i{flex:none;width:46px;height:46px;border-radius:50%;background:var(--navy);color:var(--volt);display:grid;place-items:center;font-size:1.2rem}
.contact-list strong{display:block;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:1.15rem}
.contact-list a{color:var(--ink);font-weight:600;font-size:1.25rem}
.map-wrap{height:100%;min-height:380px;border-radius:var(--r);overflow:hidden;border:1px solid #d3dbe7}
.map-wrap iframe{width:100%;height:100%;min-height:380px;border:0;display:block}

/* footer */
.ces-footer{background:var(--navy);color:#b9c6da;padding:3rem 0 1.5rem;border-top:4px solid var(--volt)}
.ces-footer a{color:#dbe4f2;text-decoration:none}
.ces-footer a:hover{color:var(--volt)}
.logo-chip{display:inline-block;background:#f4f6fa;border-radius:12px;padding:.6rem 1rem}
.logo-chip img{width:200px;height:auto;display:block}
.foot-links{display:flex;flex-wrap:wrap;gap:.4rem 1.25rem}
.powered{margin-top:2.25rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.12);text-align:center}
.powered a{display:inline-block;background:rgba(255,198,26,.12);border:1px solid rgba(255,198,26,.45);color:#fff;border-radius:99px;padding:.5rem 1.25rem;font-size:.95rem}
.powered i{color:var(--volt)}
@media (max-width:767.98px){.ces-footer .text-md-end{text-align:left!important}}

@media (max-width:991.98px){.row.g-5{--bs-gutter-x:1.5rem}}
