:root {
  --can-navy: #071525;
  --can-navy-2: #0d2239;
  --can-blue: #173e61;
  --can-amber: #f5a623;
  --can-amber-dark: #d98808;
  --can-ink: #172231;
  --can-muted: #637083;
  --can-line: #e5e9ef;
  --can-soft: #f5f7fa;
  --can-warm: #fffaf1;
  --can-white: #fff;
  --can-radius: 16px;
  --can-shadow: 0 18px 50px rgba(7, 21, 37, .10);
}

html { scroll-behavior: smooth; }
body {
  color: var(--can-ink);
  background: var(--can-white);
  font-family: "Inter", Arial, sans-serif;
  font-size: 15px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}
body, button, input, textarea, select { font-family: "Inter", Arial, sans-serif; }
h1, h2, h3, h4, h5, h6 {
  color: var(--can-navy);
  font-family: "Manrope", "Inter", Arial, sans-serif;
  font-weight: 700;
  letter-spacing: -.025em;
}
a { color: var(--can-blue); transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }
a:hover, a:focus { color: var(--can-amber-dark); text-decoration: none; }
img { max-width: 100%; }
::selection { color: var(--can-navy); background: #ffd98f; }

.site-header { position: relative; z-index: 1000; background: #fff; box-shadow: 0 1px 0 rgba(7, 21, 37, .08); }
.site-topbar { color: #d9e2ec; background: var(--can-navy); font-size: 12px; }
.site-topbar-inner { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.site-topbar-message i { margin-right: 8px; color: var(--can-amber); }
.site-topbar-links { display: flex; align-items: center; gap: 22px; }
.site-topbar-links a { color: #eef4f9; }
.site-topbar-links a:hover { color: var(--can-amber); }
.site-topbar-links i { margin-right: 7px; color: var(--can-amber); }
.site-navbar.navbar { min-height: 82px; margin: 0; border: 0; border-radius: 0; background: #fff; }
.site-navbar .navbar-header { min-height: 82px; }
.site-brand.navbar-brand { height: 82px; padding: 12px 15px; display: flex; align-items: center; }
.site-brand img { width: auto; height: 54px; object-fit: contain; }
.site-menu.navbar-nav > li > a { padding: 31px 15px; color: var(--can-navy); font-size: 13px; font-weight: 700; letter-spacing: .01em; }
.site-menu.navbar-nav > li > a:hover, .site-menu.navbar-nav > li > a:focus, .site-menu.navbar-nav > .open > a { color: var(--can-amber-dark); background: transparent; }
.site-menu.navbar-nav > li.site-menu-cta > a { margin: 20px 0 20px 14px; padding: 11px 18px; color: var(--can-navy); background: var(--can-amber); border-radius: 9px; }
.site-menu.navbar-nav > li.site-menu-cta > a:hover { color: var(--can-navy); background: #ffb83e; transform: translateY(-1px); }
.site-navbar .dropdown-menu { min-width: 230px; padding: 10px; border: 1px solid var(--can-line); border-radius: 12px; box-shadow: var(--can-shadow); }
.site-navbar .dropdown-menu > li > a { padding: 10px 12px; color: var(--can-ink); border-radius: 7px; font-size: 13px; }
.site-navbar .dropdown-menu > li > a:hover { color: var(--can-navy); background: var(--can-warm); }
.site-navbar .dropdown-menu .divider { margin: 7px 0; background: var(--can-line); }

.modern-hero { position: relative; height: 680px; overflow: hidden; color: #fff; background: var(--can-navy); }
.hero-media, .hero-media .carousel, .hero-media .carousel-inner, .hero-media .item { position: absolute; inset: 0; height: 100%; }
.hero-media .item img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-fallback { position: absolute; inset: 0; background: radial-gradient(circle at 80% 25%, #204f76 0, transparent 42%), linear-gradient(135deg, #071525, #102d49); }
.hero-shade { position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(4, 14, 25, .94) 0%, rgba(4, 14, 25, .74) 47%, rgba(4, 14, 25, .22) 78%, rgba(4, 14, 25, .36) 100%); }
.hero-content-wrap { position: relative; z-index: 2; height: 100%; display: flex; align-items: center; padding-bottom: 74px; }
.hero-content { width: 670px; max-width: 100%; }
.hero-kicker { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 22px; color: #ffd17d; font-size: 12px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.hero-content h1 { margin: 0 0 22px; color: #fff; font-size: 60px; line-height: 1.08; letter-spacing: -.045em; }
.hero-content > p { max-width: 620px; margin: 0 0 32px; color: #e5edf5; font-size: 18px; line-height: 1.75; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.btn-modern-primary, .btn-modern-secondary, .btn-modern-ghost { min-height: 48px; padding: 13px 22px; border: 1px solid transparent; border-radius: 9px; font-size: 13px; font-weight: 700; line-height: 20px; letter-spacing: .01em; text-transform: none; box-shadow: none; }
.btn-modern-primary { color: var(--can-navy) !important; background: var(--can-amber); border-color: var(--can-amber); }
.btn-modern-primary:hover, .btn-modern-primary:focus { color: var(--can-navy); background: #ffb83e; border-color: #ffb83e; transform: translateY(-2px); box-shadow: 0 10px 28px rgba(245, 166, 35, .25); }
.btn-modern-secondary { color: #fff !important; background: var(--can-navy); border-color: var(--can-navy); }
.btn-modern-ghost { color: #fff !important; background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .48); }
.btn-modern-ghost:hover, .btn-modern-ghost:focus { color: #fff; background: rgba(255, 255, 255, .14); border-color: #fff; }
.btn i { margin-left: 8px; }
.modern-hero .carousel-control { z-index: 3; top: 50%; width: 46px; height: 46px; margin-top: -23px; border: 1px solid rgba(255,255,255,.38); border-radius: 50%; opacity: .75; background: rgba(7,21,37,.32); text-shadow: none; }
.modern-hero .carousel-control.left { left: 24px; }
.modern-hero .carousel-control.right { right: 24px; }
.modern-hero .carousel-control span { position: static; font-size: 28px; line-height: 44px; }
.hero-trust-wrap { position: absolute; z-index: 4; right: 0; bottom: 0; left: 0; }
.hero-trust { display: grid; grid-template-columns: repeat(3, 1fr); width: 760px; max-width: 100%; padding: 19px 24px; margin-left: auto; background: rgba(255,255,255,.97); border-radius: 14px 14px 0 0; box-shadow: 0 -8px 35px rgba(0,0,0,.12); }
.hero-trust > div { display: flex; align-items: center; gap: 13px; padding: 0 18px; border-right: 1px solid var(--can-line); }
.hero-trust > div:first-child { padding-left: 0; }
.hero-trust > div:last-child { padding-right: 0; border-right: 0; }
.hero-trust i { width: 33px; color: var(--can-amber-dark); font-size: 23px; text-align: center; }
.hero-trust span { display: flex; flex-direction: column; }
.hero-trust strong { color: var(--can-navy); font-size: 12px; }
.hero-trust small { color: var(--can-muted); font-size: 10px; }

.modern-section { padding: 96px 0; }
.section-eyebrow { display: inline-block; margin-bottom: 13px; color: var(--can-amber-dark); font-size: 11px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.section-eyebrow-light { color: #ffc967; }
.section-heading { max-width: 710px; margin: 0; font-size: 40px; line-height: 1.25; }
.section-header-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; margin-bottom: 43px; }
.text-link { display: inline-block; color: var(--can-navy); font-size: 13px; font-weight: 700; }
.text-link i { margin-left: 7px; transition: transform .2s ease; }
.text-link:hover i { transform: translateX(4px); }
.intro-section { padding-bottom: 84px; }
.intro-row { display: flex; align-items: center; }
.intro-copy { color: var(--can-muted); font-size: 16px; }
.intro-copy p { margin-bottom: 20px; }
.capability-grid { margin-top: 58px; }
.capability-card { position: relative; min-height: 235px; padding: 30px; overflow: hidden; border: 1px solid var(--can-line); border-radius: var(--can-radius); background: #fff; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.capability-card:hover { transform: translateY(-5px); border-color: #d5dce6; box-shadow: var(--can-shadow); }
.capability-card > span { position: absolute; top: 18px; right: 22px; color: #edf0f4; font-family: "Manrope"; font-size: 42px; font-weight: 800; }
.capability-card i { position: relative; display: block; margin-bottom: 30px; color: var(--can-amber-dark); font-size: 31px; }
.capability-card h3 { margin: 0 0 11px; font-size: 20px; }
.capability-card p { margin: 0; color: var(--can-muted); font-size: 13px; }

.services-section { background: var(--can-soft); }
.service-card-grid { display: flex; flex-wrap: wrap; }
.service-card-grid > div { margin-bottom: 30px; }
.service-card { height: 100%; overflow: hidden; border: 1px solid var(--can-line); border-radius: var(--can-radius); background: #fff; box-shadow: 0 5px 20px rgba(7,21,37,.04); transition: transform .25s ease, box-shadow .25s ease; }
.service-card:hover { transform: translateY(-6px); box-shadow: var(--can-shadow); }
.service-card-image { position: relative; display: block; height: 178px; overflow: hidden; background: #dfe5eb; }
.service-card-image:after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, transparent 58%, rgba(7,21,37,.28)); }
.service-card-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.service-card:hover .service-card-image img { transform: scale(1.045); }
.service-card-body { padding: 22px 22px 24px; }
.service-card-body h3 { min-height: 48px; margin: 0 0 18px; font-size: 18px; line-height: 1.35; }
.service-card-body h3 a { color: var(--can-navy); }
.service-card-link { color: var(--can-amber-dark); font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.service-card-link i { margin-left: 6px; }
.mobile-section-link { margin-top: 12px; }

.testimonial-section { padding: 90px 0; color: #fff; background: var(--can-navy); }
.testimonial-shell { display: grid; grid-template-columns: 32% 68%; align-items: center; }
.testimonial-heading { padding-right: 70px; }
.testimonial-heading h2 { margin: 0; color: #fff; font-size: 38px; line-height: 1.25; }
.testimonial-card { position: relative; min-height: 250px; padding: 38px 40px; margin: 0; border: 1px solid rgba(255,255,255,.13); border-radius: var(--can-radius); background: rgba(255,255,255,.055); }
.testimonial-card > i { color: var(--can-amber); font-size: 27px; }
.testimonial-card h3 { margin: 16px 0 9px; color: #fff; font-size: 18px; }
.testimonial-card p { color: #dbe5ee; font-size: 15px; }
.testimonial-card footer { display: flex; flex-direction: column; margin-top: 22px; color: #fff; }
.testimonial-card footer span { color: #9fb0c0; font-size: 12px; }
.testimonial-section .owl-dots { margin-top: 18px !important; text-align: left !important; }
.testimonial-section .owl-theme .owl-dots .owl-dot span { background: #506277; }
.testimonial-section .owl-theme .owl-dots .owl-dot.active span { width: 28px; background: var(--can-amber); }

.home-cta { padding: 64px 0; background: var(--can-warm); }
.home-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.home-cta h2 { margin: 0 0 8px; font-size: 34px; }
.home-cta p { margin: 0; color: var(--can-muted); }

.inner-page { padding-top: 0; }
.inner-hero { padding: 82px 0 78px; color: #d9e5ef; background: radial-gradient(circle at 83% 30%, #214e74, transparent 35%), var(--can-navy); }
.inner-hero h1 { max-width: 780px; margin: 0 0 15px; color: #fff; font-size: 50px; line-height: 1.15; }
.inner-hero p { max-width: 720px; margin: 0; color: #ccdae6; font-size: 17px; }
.contact-layout { display: flex; align-items: stretch; }
.contact-layout > div { display: flex; }
.contact-form-card, .contact-details-card { width: 100%; padding: 44px; border-radius: var(--can-radius); }
.contact-form-card { border: 1px solid var(--can-line); background: #fff; box-shadow: var(--can-shadow); }
.contact-form-card h2, .contact-details-card h2 { margin: 0 0 28px; font-size: 29px; }
.modern-form label { display: block; margin: 0 0 7px; color: var(--can-navy); font-size: 12px; font-weight: 700; }
.modern-form input, .modern-form textarea { display: block; width: 100%; height: auto; padding: 13px 14px; margin: 0 0 20px; color: var(--can-ink); border: 1px solid #d9e0e8; border-radius: 8px; outline: 0; background: #fff; box-shadow: none; font-size: 14px; transition: border-color .2s ease, box-shadow .2s ease; }
.modern-form textarea { min-height: 145px; resize: vertical; }
.modern-form input:focus, .modern-form textarea:focus { border-color: var(--can-amber-dark); box-shadow: 0 0 0 3px rgba(245,166,35,.14); }
.form-honeypot { position: absolute !important; left: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.contact-alert { display: flex; flex-direction: column; gap: 3px; padding: 14px 16px; margin-bottom: 22px; border-radius: 8px; font-size: 13px; }
.contact-alert-success { color: #125c3d; background: #e8f7ef; border: 1px solid #bde9d0; }
.contact-alert-error { color: #8b2d2d; background: #fff0f0; border: 1px solid #f3caca; }
.contact-details-card { color: #dce6ef; background: var(--can-navy); }
.contact-details-card h2 { color: #fff; }
.contact-detail { display: grid; grid-template-columns: 42px 1fr; gap: 16px; padding: 21px 0; border-top: 1px solid rgba(255,255,255,.12); }
.contact-detail > i { color: var(--can-amber); font-size: 22px; line-height: 26px; }
.contact-detail strong { display: block; margin-bottom: 5px; color: #fff; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.contact-detail p { margin: 0; color: #bfceda; font-size: 13px; }
.contact-detail a { color: #eef5fb; }
.contact-map { height: 440px; overflow: hidden; background: var(--can-soft); }
.contact-map iframe { width: 100%; height: 100%; border: 0; filter: saturate(.8) contrast(.95); }
.about-layout { display: flex; align-items: flex-start; }
.cms-content { margin-top: 28px; color: #526173; font-size: 15px; }
.cms-content p { margin-bottom: 18px; }
.about-principles { padding: 35px; margin-left: 36px; border-radius: var(--can-radius); background: var(--can-soft); }
.about-principles h3 { margin: 0 0 17px; font-size: 22px; }
.about-principles > div { display: grid; grid-template-columns: 36px 1fr; gap: 14px; padding: 20px 0; border-top: 1px solid #dfe5eb; }
.about-principles i { color: var(--can-amber-dark); font-size: 22px; }
.about-principles span { display: flex; flex-direction: column; }
.about-principles small { margin-top: 5px; color: var(--can-muted); line-height: 1.55; }

/* Existing detail and listing views */
.section-padding { padding: 86px 0; }
.gray-bg { background: var(--can-soft) !important; }
.section-title { margin: 0; color: var(--can-navy); font-size: 38px; text-transform: none !important; }
.mb-80 { margin-bottom: 42px !important; }
.featured-item.border-box { height: 100%; overflow: hidden; padding: 0; border: 1px solid var(--can-line); border-radius: var(--can-radius); background: #fff; box-shadow: 0 4px 18px rgba(7,21,37,.05); }
.featured-item .desc img { width: 100%; height: 175px; object-fit: cover; }
.featured-item .desc > br { display: none; }
.featured-item .desc h2 { min-height: 58px; padding: 21px 21px 0; margin: 0; font-size: 18px; line-height: 1.35; }
.featured-item .btn-service { display: inline-block; padding: 0 21px 23px; margin-top: 13px; color: var(--can-amber-dark); font-size: 12px; font-weight: 800; }
.blog-section .post-wrapper { border: 0; }
.blog-section .entry-title { color: var(--can-navy); font-size: 38px; }
.blog-section .entry-content { color: #526173; font-size: 16px; }
.gallery-thumb { overflow: hidden; border-radius: var(--can-radius); box-shadow: var(--can-shadow); }

.modern-footer { padding: 72px 0 0; color: #9fb0c0; background: #04101c; }
.footer-main { padding-bottom: 54px; }
.footer-column h2 { margin: 6px 0 20px; color: #fff; font-size: 14px; letter-spacing: .02em; }
.footer-brand { display: inline-block; padding: 8px; margin: 0 0 18px; border-radius: 8px; background: #fff; }
.footer-brand img { width: auto; height: 48px; }
.footer-brand-column > p { max-width: 340px; font-size: 13px; }
.footer-links, .footer-socials { padding: 0; margin: 0; list-style: none; }
.footer-links li { margin-bottom: 9px; }
.footer-links a, .footer-contact-column a { color: #b8c6d2; font-size: 13px; }
.footer-links a:hover, .footer-contact-column a:hover { color: var(--can-amber); }
.footer-socials { display: flex; gap: 9px; margin-top: 20px; }
.footer-socials a { display: grid; width: 34px; height: 34px; place-items: center; color: #d5e0e9; border: 1px solid #263748; border-radius: 50%; }
.footer-socials a:hover { color: var(--can-navy); border-color: var(--can-amber); background: var(--can-amber); }
.footer-contact-column p { display: flex; gap: 10px; margin: 0 0 13px; font-size: 13px; }
.footer-contact-column i { width: 15px; margin-top: 5px; color: var(--can-amber); }
.footer-bottom { min-height: 67px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #172737; font-size: 12px; }
.footer-top-link { display: grid; width: 35px; height: 35px; place-items: center; color: #fff; border: 1px solid #304153; border-radius: 50%; }

#preloader { display: none !important; }
.ptb-50 { display: none; }

@media (max-width: 991px) {
  .site-navbar.navbar, .site-navbar .navbar-header { min-height: 72px; }
  .site-brand.navbar-brand { height: 72px; }
  .site-brand img { height: 48px; }
  .site-navbar .navbar-toggle { margin-top: 18px; border: 0; border-radius: 8px; background: var(--can-soft); }
  .site-navbar .navbar-toggle .icon-bar { background: var(--can-navy); }
  .site-navbar .navbar-collapse { max-height: 76vh; border-color: var(--can-line); }
  .site-menu.navbar-nav > li > a { padding: 13px 15px; }
  .site-menu.navbar-nav > li.site-menu-cta > a { margin: 8px 15px 16px; text-align: center; }
  .site-navbar .dropdown-menu { padding: 0 0 7px 18px; border: 0; box-shadow: none; }
  .modern-hero { height: 620px; }
  .hero-content h1 { font-size: 48px; }
  .hero-trust { width: 100%; }
  .modern-hero .carousel-control { display: none; }
  .testimonial-shell { grid-template-columns: 1fr; }
  .testimonial-heading { padding: 0 0 30px; }
  .contact-layout, .about-layout { display: block; }
  .contact-layout > div { display: block; margin-bottom: 24px; }
  .about-principles { margin: 38px 0 0; }
  .footer-column { margin-bottom: 34px; }
}

@media (max-width: 767px) {
  body { font-size: 14px; }
  .modern-hero { height: 650px; }
  .hero-content-wrap { align-items: flex-start; padding-top: 88px; padding-bottom: 150px; }
  .hero-content h1 { font-size: 39px; line-height: 1.12; }
  .hero-content > p { font-size: 15px; line-height: 1.65; }
  .hero-shade { background: linear-gradient(90deg, rgba(4,14,25,.94), rgba(4,14,25,.67)); }
  .hero-trust { grid-template-columns: 1fr; padding: 12px 18px; border-radius: 12px 12px 0 0; }
  .hero-trust > div { padding: 7px 0; border-right: 0; border-bottom: 1px solid var(--can-line); }
  .hero-trust > div:last-child { border-bottom: 0; }
  .hero-trust i { width: 28px; font-size: 18px; }
  .hero-trust small { display: none; }
  .hero-actions .btn { width: 100%; }
  .modern-section { padding: 68px 0; }
  .section-heading { font-size: 31px; }
  .section-header-row { margin-bottom: 30px; }
  .intro-row { display: block; }
  .intro-copy { margin-top: 24px; }
  .capability-grid { margin-top: 38px; }
  .capability-card { min-height: 0; margin-bottom: 18px; }
  .service-card-image { height: 210px; }
  .testimonial-section { padding: 68px 0; }
  .testimonial-heading h2 { font-size: 31px; }
  .testimonial-card { min-height: 0; padding: 28px 25px; }
  .home-cta-inner { display: block; }
  .home-cta h2 { font-size: 28px; }
  .home-cta .btn { width: 100%; margin-top: 25px; }
  .inner-hero { padding: 60px 0 56px; }
  .inner-hero h1 { font-size: 37px; }
  .contact-form-card, .contact-details-card { padding: 28px 22px; }
  .contact-map { height: 340px; }
  .section-title { font-size: 31px; }
  .modern-footer { padding-top: 55px; }
  .footer-bottom { gap: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *:before, *:after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .carousel { display: none; }
  .hero-media:after { position: absolute; inset: 0; content: ""; background: linear-gradient(135deg, #071525, #173e61); }
}

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible { outline: 3px solid rgba(245,166,35,.55); outline-offset: 2px; }
