:root{
  --le-red:#D2202F;
  --le-red-dark:#A8121F;
  --le-navy:#16243F;
  --le-navy-2:#1E3357;
  --le-gray:#5B6066;
  --le-gray-light:#8A9099;
  --le-bg:#FFFFFF;
  --le-bg-soft:#F4F6F9;
  --le-line:#E4E8EE;
  --le-ink:#1E2636;
  --le-shadow:0 18px 50px -24px rgba(22,36,63,.45);
  --le-shadow-sm:0 10px 30px -18px rgba(22,36,63,.4);
  --font-display:"Barlow Condensed",system-ui,sans-serif;
  --font-body:"Barlow","Segoe UI",system-ui,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  color:var(--le-ink);
  background:var(--le-bg);
  font-size:16.5px;
  line-height:1.7;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,.display-font{font-family:var(--font-display);font-weight:700;line-height:1.05;letter-spacing:.2px;color:var(--le-navy)}
a{text-decoration:none;transition:color .25s ease}
img{max-width:100%}
.container{max-width:1200px}

/* ---------- Helpers ---------- */
.text-red{color:var(--le-red)!important}
.text-navy{color:var(--le-navy)!important}
.bg-navy{background:var(--le-navy)!important}
.bg-soft{background:var(--le-bg-soft)!important}
.fw-800{font-weight:800}
.eyebrow{
  font-family:var(--font-display);
  text-transform:uppercase;
  letter-spacing:3px;
  font-weight:700;
  font-size:.95rem;
  color:var(--le-red);
  display:inline-flex;align-items:center;gap:.55rem;
}
.eyebrow::before{content:"";width:26px;height:3px;background:var(--le-red);display:inline-block}
.eyebrow.center::after{content:"";width:26px;height:3px;background:var(--le-red);display:inline-block}
.section{padding:92px 0}
.section-sm{padding:64px 0}
.section-title{font-size:2.55rem;text-transform:uppercase;margin:.35rem 0 0}
.lead-muted{color:var(--le-gray);font-size:1.08rem}

/* ---------- Buttons ---------- */
.btn{font-family:var(--font-display);text-transform:uppercase;letter-spacing:1px;font-weight:600;border-radius:2px;padding:.72rem 1.6rem;transition:all .25s ease}
.btn-le{background:var(--le-red);color:#fff;border:2px solid var(--le-red)}
.btn-le:hover{background:var(--le-red-dark);border-color:var(--le-red-dark);color:#fff;transform:translateY(-2px);box-shadow:0 12px 24px -12px rgba(210,32,47,.7)}
.btn-navy{background:var(--le-navy);color:#fff;border:2px solid var(--le-navy)}
.btn-navy:hover{background:var(--le-navy-2);border-color:var(--le-navy-2);color:#fff;transform:translateY(-2px)}
.btn-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.65)}
.btn-ghost:hover{background:#fff;color:var(--le-navy);border-color:#fff;transform:translateY(-2px)}
.btn-outline-le{background:transparent;color:var(--le-navy);border:2px solid var(--le-line)}
.btn-outline-le:hover{border-color:var(--le-red);color:var(--le-red);transform:translateY(-2px)}

/* ---------- Top utility bar ---------- */
.topbar{background:var(--le-navy);color:#cfd6e4;font-size:.92rem}
.topbar a{color:#cfd6e4}
.topbar a:hover{color:#fff}
.topbar .ico{color:var(--le-red);margin-right:.45rem}
.topbar .divider{width:1px;height:16px;background:rgba(255,255,255,.18);margin:0 .9rem;display:inline-block}
.topbar .social a{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.18);border-radius:50%;margin-left:.4rem;transition:all .25s}
.topbar .social a:hover{background:var(--le-red);border-color:var(--le-red);color:#fff}

/* ---------- Navbar ---------- */
.navbar.main-nav{background:#fff;box-shadow:0 6px 24px -18px rgba(22,36,63,.5);padding:.55rem 0;transition:all .3s ease;border-bottom:3px solid var(--le-red)}
.navbar.main-nav.scrolled{position:fixed;top:0;left:0;right:0;z-index:1040;animation:dropdown .4s ease;padding:.35rem 0}
@keyframes dropdown{from{transform:translateY(-100%)}to{transform:translateY(0)}}
.navbar-brand img{height:70px;transition:height .3s ease}
.navbar.scrolled .navbar-brand img{height:50px}
.main-nav .nav-link{font-family:var(--font-display);text-transform:uppercase;font-weight:600;letter-spacing:.6px;color:var(--le-navy)!important;font-size:1.06rem;padding:.6rem 1rem!important;position:relative}
.main-nav .nav-link::after{content:"";position:absolute;left:1rem;right:1rem;bottom:.35rem;height:2px;background:var(--le-red);transform:scaleX(0);transform-origin:left;transition:transform .28s ease}
.main-nav .nav-item:hover .nav-link::after,.main-nav .nav-link.active::after{transform:scaleX(1)}
.main-nav .nav-link.active{color:var(--le-red)!important}
.main-nav .dropdown-menu{border:0;border-top:3px solid var(--le-red);border-radius:0;box-shadow:var(--le-shadow);padding:.4rem 0;margin-top:.2rem}
.main-nav .dropdown-item{font-family:var(--font-body);font-weight:500;padding:.6rem 1.35rem;color:var(--le-navy);transition:all .2s}
.main-nav .dropdown-item:hover,.main-nav .dropdown-item:focus{background:var(--le-bg-soft);color:var(--le-red);padding-left:1.7rem}
.main-nav .dropdown-toggle::after{vertical-align:.12em}
@media(min-width:992px){.main-nav .dropdown:hover>.dropdown-menu{display:block}}

/* ---------- Hero carousel ---------- */
.hero .carousel-item{height:88vh;min-height:560px;background-size:cover;background-position:center;position:relative}
.hero .carousel-item::before{content:"";position:absolute;inset:0;background:linear-gradient(105deg,rgba(15,24,43,.92) 0%,rgba(18,30,55,.74) 45%,rgba(18,30,55,.25) 100%)}
.hero .slide-content{position:relative;z-index:3;height:100%;display:flex;align-items:center}
.hero .slide-eyebrow{color:#fff;background:var(--le-red);display:inline-block;padding:.35rem 1rem;font-family:var(--font-display);text-transform:uppercase;letter-spacing:3px;font-weight:600;font-size:.95rem;margin-bottom:1.1rem;transform:skewX(-8deg)}
.hero .slide-eyebrow span{display:inline-block;transform:skewX(8deg)}
.hero h1{color:#fff;font-size:4.4rem;text-transform:uppercase;text-shadow:0 6px 30px rgba(0,0,0,.35);max-width:14ch}
.hero h1 em{font-style:normal;color:var(--le-red)}
.hero p.lead{color:#dde3ef;font-size:1.25rem;max-width:50ch;margin-top:1rem}
.hero .btns{margin-top:2rem;display:flex;gap:1rem;flex-wrap:wrap}
.hero .carousel-indicators{bottom:90px;z-index:4}
.hero .carousel-indicators [data-bs-target]{width:42px;height:4px;border-radius:0;background:rgba(255,255,255,.45);border:0}
.hero .carousel-indicators .active{background:var(--le-red)}
.hero .carousel-control-prev,.hero .carousel-control-next{width:6%;z-index:4;opacity:.7}
.hero .carousel-control-prev-icon,.hero .carousel-control-next-icon{filter:drop-shadow(0 2px 6px rgba(0,0,0,.6))}
.hero-skyline{position:absolute;bottom:0;left:0;right:0;z-index:4;line-height:0}
.skyline{width:100%;height:78px;display:block}
.hero-skyline .skyline path{fill:#fff}
@media(max-width:991px){.hero h1{font-size:2.9rem}.hero .carousel-item{height:auto;min-height:auto;padding:120px 0 110px}}

/* ---------- Inner page hero ---------- */
.page-hero{position:relative;padding:130px 0 96px;background-size:cover;background-position:center;text-align:center}
.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,24,43,.78),rgba(18,30,55,.86))}
.page-hero .inner{position:relative;z-index:2}
.page-hero h1{color:#fff;font-size:3.4rem;text-transform:uppercase}
.page-hero .breadcrumb{justify-content:center;margin:0}
.page-hero .breadcrumb a{color:#cfd6e4}
.page-hero .breadcrumb a:hover{color:#fff}
.page-hero .breadcrumb .active{color:var(--le-red)}
.page-hero .breadcrumb-item+.breadcrumb-item::before{color:#8794ab}
.page-hero-skyline{position:absolute;bottom:-1px;left:0;right:0;z-index:2;line-height:0}
.page-hero-skyline .skyline{height:54px}
.page-hero-skyline .skyline path{fill:#fff}

/* ---------- Stats ---------- */
.stat-band{background:var(--le-navy);position:relative;overflow:hidden}
.stat-band .stat{text-align:center;color:#fff;padding:1rem .5rem;position:relative;z-index:2}
.stat-band .stat .num{font-family:var(--font-display);font-weight:800;font-size:3.2rem;color:#fff;line-height:1}
.stat-band .stat .num .plus{color:var(--le-red)}
.stat-band .stat .lbl{text-transform:uppercase;letter-spacing:1.5px;font-size:.92rem;color:#aeb8cc;margin-top:.4rem}
.stat-band .col-stat+.col-stat{border-left:1px solid rgba(255,255,255,.1)}
@media(max-width:767px){.stat-band .col-stat+.col-stat{border-left:0}}

/* ---------- Service cards ---------- */
.svc-card{background:#fff;border:1px solid var(--le-line);border-radius:4px;overflow:hidden;height:100%;transition:transform .35s ease,box-shadow .35s ease}
.svc-card:hover{transform:translateY(-8px);box-shadow:var(--le-shadow)}
.svc-card .media{position:relative;height:218px;overflow:hidden}
.svc-card .media img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.svc-card:hover .media img{transform:scale(1.12)}
.svc-card .media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,36,63,0) 40%,rgba(22,36,63,.55));opacity:.6;transition:opacity .35s}
.svc-card:hover .media::after{opacity:.85}
.svc-card .icn{position:absolute;left:20px;bottom:-26px;width:58px;height:58px;background:var(--le-red);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;border-radius:4px;z-index:2;box-shadow:0 10px 22px -10px rgba(210,32,47,.8);transition:background .3s}
.svc-card:hover .icn{background:var(--le-navy)}
.svc-card .body{padding:2.2rem 1.6rem 1.6rem}
.svc-card h3{font-size:1.5rem;text-transform:uppercase;margin-bottom:.6rem}
.svc-card p{color:var(--le-gray);font-size:1rem;margin-bottom:1rem}
.svc-card .more{font-family:var(--font-display);text-transform:uppercase;font-weight:600;letter-spacing:1px;color:var(--le-red);display:inline-flex;align-items:center;gap:.4rem}
.svc-card .more i{transition:transform .3s}
.svc-card:hover .more i{transform:translateX(5px)}

/* ---------- Image frame (hover zoom) ---------- */
.img-frame{position:relative;overflow:hidden;border-radius:4px;box-shadow:var(--le-shadow-sm)}
.img-frame img{width:100%;display:block;transition:transform .8s ease}
.img-frame:hover img{transform:scale(1.08)}
.img-frame.tall img{height:100%;object-fit:cover}
.img-frame .tag{position:absolute;left:0;bottom:22px;background:var(--le-red);color:#fff;font-family:var(--font-display);text-transform:uppercase;letter-spacing:1px;padding:.5rem 1.2rem;font-weight:600}
.img-accent{position:absolute;width:62%;height:62%;border:8px solid var(--le-red);z-index:-1}
.img-accent.br{right:-22px;bottom:-22px}
.img-accent.tl{left:-22px;top:-22px}

/* ---------- Feature list ---------- */
.feature{display:flex;gap:1.1rem;align-items:flex-start}
.feature .fi{flex:0 0 auto;width:56px;height:56px;border-radius:4px;background:var(--le-bg-soft);color:var(--le-red);display:flex;align-items:center;justify-content:center;font-size:1.5rem;transition:all .3s}
.feature:hover .fi{background:var(--le-red);color:#fff;transform:rotate(-6deg)}
.feature h4{font-size:1.3rem;text-transform:uppercase;margin-bottom:.25rem}
.feature p{color:var(--le-gray);margin:0;font-size:1rem}
.feature.on-dark h4{color:#fff}
.feature.on-dark p{color:#aeb8cc}
.feature.on-dark .fi{background:rgba(255,255,255,.08);color:var(--le-red)}
.feature.on-dark:hover .fi{background:var(--le-red);color:#fff}

/* ---------- Why band ---------- */
.why-band{background:var(--le-navy);position:relative;color:#fff;overflow:hidden}
.why-band::after{content:"";position:absolute;right:-120px;top:-120px;width:380px;height:380px;border:60px solid rgba(210,32,47,.12);border-radius:50%}

/* ---------- Process steps ---------- */
.step{position:relative;text-align:center;padding:0 .8rem}
.step .ring{width:96px;height:96px;border-radius:50%;background:#fff;border:2px dashed var(--le-line);display:flex;align-items:center;justify-content:center;margin:0 auto 1.1rem;font-size:2rem;color:var(--le-navy);position:relative;transition:all .35s}
.step:hover .ring{border-color:var(--le-red);color:var(--le-red);transform:translateY(-6px)}
.step .no{position:absolute;top:-6px;right:-6px;width:34px;height:34px;background:var(--le-red);color:#fff;border-radius:50%;font-family:var(--font-display);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:1.05rem}
.step h4{text-transform:uppercase;font-size:1.3rem;margin-bottom:.3rem}
.step p{color:var(--le-gray);font-size:.98rem;margin:0}
.step-arrow{position:absolute;top:42px;right:-18px;color:var(--le-line);font-size:1.6rem;z-index:1}
@media(max-width:767px){.step-arrow{display:none}}

/* ---------- Track CTA ---------- */
.track-cta{position:relative;background-size:cover;background-position:center;color:#fff;overflow:hidden}
.track-cta::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,var(--le-red) 0%,var(--le-red-dark) 48%,rgba(168,18,31,.78) 100%)}
.track-cta .inner{position:relative;z-index:2}
.track-form .form-control{height:54px;border-radius:2px;border:0;font-weight:500}
.track-form .form-control:focus{box-shadow:0 0 0 3px rgba(255,255,255,.35)}

/* ---------- Coverage / split ---------- */
.split-dark{background:var(--le-navy);color:#fff}
.split-dark h2{color:#fff}
.check-list{list-style:none;padding:0;margin:0}
.check-list li{position:relative;padding-left:2rem;margin-bottom:.7rem;color:inherit}
.check-list li::before{content:"\F26E";font-family:"bootstrap-icons";position:absolute;left:0;top:1px;color:var(--le-red);font-weight:700}
.check-list.on-dark li{color:#cdd5e4}

/* ---------- Testimonials ---------- */
.quote-card{background:#fff;border:1px solid var(--le-line);border-radius:4px;padding:2rem;height:100%;position:relative;transition:all .35s}
.quote-card:hover{box-shadow:var(--le-shadow);transform:translateY(-6px)}
.quote-card .mark{font-family:var(--font-display);font-size:4rem;color:var(--le-red);line-height:.6;opacity:.2;position:absolute;top:1.4rem;right:1.6rem}
.quote-card p{color:var(--le-ink)}
.quote-card .who{display:flex;align-items:center;gap:.8rem;margin-top:1.2rem}
.quote-card .who img{width:48px;height:48px;border-radius:50%;object-fit:cover}
.quote-card .who strong{display:block;font-family:var(--font-display);text-transform:uppercase;color:var(--le-navy)}
.quote-card .who span{font-size:.9rem;color:var(--le-gray)}

/* ---------- Team ---------- */
.team-card{position:relative;overflow:hidden;border-radius:4px;box-shadow:var(--le-shadow-sm)}
.team-card img{width:100%;height:340px;object-fit:cover;transition:transform .7s}
.team-card:hover img{transform:scale(1.1)}
.team-card .info{position:absolute;left:14px;right:14px;bottom:14px;background:#fff;padding:1rem 1.2rem;border-left:4px solid var(--le-red);transition:all .35s;transform:translateY(20px);opacity:.96}
.team-card:hover .info{transform:translateY(0)}
.team-card .info h4{margin:0;text-transform:uppercase;font-size:1.25rem}
.team-card .info span{color:var(--le-red);font-weight:600;font-size:.92rem;text-transform:uppercase;letter-spacing:1px}
.team-card .info .soc{margin-top:.4rem;display:flex;gap:.5rem}
.team-card .info .soc a{width:30px;height:30px;border-radius:50%;background:var(--le-bg-soft);color:var(--le-navy);display:flex;align-items:center;justify-content:center;font-size:.85rem;transition:all .25s}
.team-card .info .soc a:hover{background:var(--le-red);color:#fff}

/* ---------- Accordion (guideline / terms) ---------- */
.accordion-item{border:1px solid var(--le-line);margin-bottom:.8rem;border-radius:4px!important;overflow:hidden}
.accordion-button{font-family:var(--font-display);text-transform:uppercase;font-weight:600;color:var(--le-navy);font-size:1.18rem;letter-spacing:.4px}
.accordion-button:not(.collapsed){background:var(--le-navy);color:#fff;box-shadow:none}
.accordion-button:not(.collapsed)::after{filter:brightness(0) invert(1)}
.accordion-button:focus{box-shadow:none;border-color:var(--le-line)}
.accordion-body{color:var(--le-gray)}

/* ---------- Info cards (contact) ---------- */
.info-card{background:#fff;border:1px solid var(--le-line);border-radius:4px;padding:2rem 1.6rem;text-align:center;height:100%;transition:all .35s}
.info-card:hover{transform:translateY(-8px);box-shadow:var(--le-shadow);border-color:transparent}
.info-card .ic{width:66px;height:66px;border-radius:50%;background:var(--le-bg-soft);color:var(--le-red);display:flex;align-items:center;justify-content:center;font-size:1.7rem;margin:0 auto 1.1rem;transition:all .35s}
.info-card:hover .ic{background:var(--le-red);color:#fff;transform:rotateY(180deg)}
.info-card h4{text-transform:uppercase;font-size:1.3rem;margin-bottom:.4rem}
.info-card p{color:var(--le-gray);margin:0}
.info-card a{color:var(--le-gray)}
.info-card a:hover{color:var(--le-red)}

/* ---------- Forms ---------- */
.form-control,.form-select{border:1px solid var(--le-line);border-radius:3px;padding:.8rem 1rem}
.form-control:focus,.form-select:focus{border-color:var(--le-red);box-shadow:0 0 0 3px rgba(210,32,47,.12)}
.form-label{font-family:var(--font-display);text-transform:uppercase;font-weight:600;letter-spacing:.5px;color:var(--le-navy);font-size:.95rem}

/* ---------- CTA strip ---------- */
.cta-strip{background:var(--le-navy);color:#fff;position:relative;overflow:hidden}
.cta-strip::before{content:"";position:absolute;left:-80px;bottom:-80px;width:300px;height:300px;border:50px solid rgba(210,32,47,.12);border-radius:50%}
.cta-strip h3{color:#fff;font-size:2.2rem;text-transform:uppercase}

/* ---------- Footer ---------- */
.footer{background:var(--le-navy);color:#aeb8cc;position:relative}
.footer-skyline{line-height:0}
.footer-skyline .skyline{height:60px}
.footer-skyline .skyline path{fill:#1d2e4d}
.footer h5{color:#fff;text-transform:uppercase;font-size:1.25rem;margin-bottom:1.3rem;position:relative;padding-bottom:.7rem}
.footer h5::after{content:"";position:absolute;left:0;bottom:0;width:42px;height:3px;background:var(--le-red)}
.footer a{color:#aeb8cc}
.footer a:hover{color:#fff;padding-left:4px}
.footer .f-links li{margin-bottom:.55rem}
.footer .f-links a{display:inline-flex;align-items:center;gap:.5rem;transition:all .25s}
.footer .f-links a::before{content:"\F285";font-family:"bootstrap-icons";color:var(--le-red);font-size:.85rem}
.footer .f-contact li{display:flex;gap:.8rem;margin-bottom:.9rem}
.footer .f-contact .ic{color:var(--le-red);font-size:1.1rem;margin-top:.15rem}
.footer .f-social a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.16);display:inline-flex;align-items:center;justify-content:center;margin-right:.5rem;transition:all .25s}
.footer .f-social a:hover{background:var(--le-red);border-color:var(--le-red);color:#fff;transform:translateY(-3px)}
.footer .brand-foot img{height:64px;margin-bottom:1.1rem}
.foot-bottom{background:#101b30;color:#8794ab;font-size:.92rem}
.foot-bottom a{color:#cfd6e4}

/* ---------- Back to top ---------- */
.to-top{position:fixed;right:24px;bottom:24px;width:48px;height:48px;background:var(--le-red);color:#fff;border:0;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;opacity:0;visibility:hidden;transform:translateY(14px);transition:all .3s;z-index:1030}
.to-top.show{opacity:1;visibility:visible;transform:translateY(0)}
.to-top:hover{background:var(--le-navy)}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- Misc ---------- */
.rich p{color:var(--le-gray)}
.rich h2{text-transform:uppercase}
.divider-red{width:64px;height:4px;background:var(--le-red);border:0;opacity:1;margin:1rem 0}
.bullet-num{font-family:var(--font-display);color:var(--le-red);font-weight:800;font-size:1.4rem;margin-right:.5rem}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}
