/* Behavioural details captured from the reference homepage. */
.candidate-header{transition:background-color .5s ease,box-shadow .5s ease,color .5s ease}.candidate-header.scrolled{position:fixed;top:0;background:#fff;color:#252a30;box-shadow:0 2px 8px rgba(0,0,0,.18)}.candidate-header.scrolled .brand,.candidate-header.scrolled nav a,.candidate-header.scrolled .language{color:#252a30}.candidate-header.scrolled .language{border-color:#cfd4d9}
.hero-copy{left:6%;transition:opacity .5s ease,transform .5s ease}.hero-copy h1{letter-spacing:-.8px}.hero-copy p{font-size:15px}.hero-copy a{border-radius:22px}.hero-slide.current .hero-copy{animation:hero-copy-enter .65s ease both}@keyframes hero-copy-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.candidate-header nav a{font-size:14px;letter-spacing:0;transition:color .35s ease}.candidate-header nav a:hover{color:#168bd0}.header-menu-group{position:relative;height:100%;display:flex;align-items:center}.header-menu-group>a:after{content:'⌄';margin-left:7px;font-size:11px}.header-submenu{position:absolute;top:86px;left:50%;min-width:190px;transform:translateX(-50%) translateY(8px);padding:8px 0;background:#fff;box-shadow:0 10px 25px rgba(0,0,0,.15);opacity:0;visibility:hidden;transition:.25s ease}.header-menu-group:hover .header-submenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}.header-submenu a{height:auto!important;padding:11px 18px!important;color:#30363b!important;font-size:13px!important;font-weight:400!important;white-space:nowrap}.header-submenu a:hover{background:#f4f7fa;color:#0e5da9!important}
.header-menu-group>a{border-bottom:0!important}
.carousel-window:before,.carousel-window:after{content:'';position:absolute;z-index:3;top:0;bottom:0;width:17.5%;pointer-events:none;background:linear-gradient(to right,#fff,rgba(255,255,255,0) 100%)}.carousel-window:after{left:0}.carousel-window:before{right:0}.carousel-item{transition:left .5s ease,opacity .5s ease,filter .5s ease,transform .5s ease}.carousel-item img{transition:transform .7s ease}.carousel-item.main-card:hover img,.about-image:hover img,.strength-right:hover>img,.strength-left article:hover img,.news-feature:hover img{transform:scale(1.045)}.carousel-item.preview{opacity:.6;filter:none}.carousel-item.preview:after{background:none}.carousel-item.preview:hover{opacity:.75;cursor:pointer}.carousel-arrow{z-index:4;transition:transform .25s ease,box-shadow .25s ease}.carousel-arrow:hover{transform:scale(1.08);box-shadow:0 4px 14px rgba(0,0,0,.18)}.about-image,.strength-right,.strength-left article,.news-feature{transition:transform .35s ease,box-shadow .35s ease}.about-image:hover,.strength-left article:hover,.news-feature:hover{transform:translateY(-5px);box-shadow:0 10px 25px rgba(6,46,88,.16)}
.float-contact{background:#0a4784;box-shadow:0 4px 16px rgba(0,0,0,.2)}.float-contact a{height:60px;flex-direction:column;gap:3px;font-size:12px;letter-spacing:0;text-transform:none;transition:background .3s ease}.float-contact .rail-icon{font-size:17px;line-height:1}.float-contact .brand-icon{display:block;width:19px;height:19px}.float-contact .rail-label{font-size:11px}.float-contact a:hover{background:#0d66b4}
@media (min-width:1920px){.candidate-header nav a{font-size:18px;line-height:110px}.candidate-header nav{gap:38px}.header-submenu{top:108px}.hero-copy{left:240px}.hero-copy h1{font-size:58px;line-height:1.16;letter-spacing:-1px}.hero-copy p{font-size:17px;line-height:1.6}.hero-copy a{font-size:14px;padding:12px 31px}.business-tabs button{font-size:16px}.float-contact a{height:60px}.float-contact .rail-icon{font-size:19px}.float-contact .rail-label{font-size:12px}}

/* Compact dropdown geometry matching the reference menu treatment. */
.candidate-header .header-submenu {
  left: 0;
  width: 260px;
  min-width: 260px;
  padding: 0;
  overflow: hidden;
  border-radius: 6px;
  transform: translateY(8px);
}

.candidate-header .header-submenu a {
  display: flex !important;
  height: 51px !important;
  align-items: center !important;
  padding: 0 16px !important;
  border-bottom: 1px solid #e7e7e7 !important;
  font-size: 16px !important;
}

.candidate-header .header-submenu a:last-child { border-bottom: 0 !important; }
.header-menu-group:hover .header-submenu { transform: translateY(0) !important; }
.candidate-header nav > a[aria-current="page"]::before,
.candidate-header nav .header-menu-group:hover > a::before {
  position: absolute;
  top: auto;
  right: 0;
  bottom: 27px;
  left: 0;
  height: 3px;
  content: "";
  background: #1593db;
}
.candidate-header:not(.scrolled) nav a:hover { color: #fff !important; }
.candidate-header .header-submenu a:hover { background: #1d4388 !important; color: #fff !important; }

@media (max-width: 1100px) {
  .header-shell { height: 78px; }
  .brand { gap: 6px; font-size: 12px; }
  .brand img { width: 36px; height: 36px; }
  .candidate-header nav { gap: 12px; }
  .candidate-header nav > a,
  .candidate-header nav .header-menu-group > a { font-size: 11px !important; }
  .candidate-header nav > a[aria-current="page"]::before,
  .candidate-header nav .header-menu-group:hover > a::before { bottom: 19px; }
  .candidate-header .header-submenu { top: 76px; }
  .language { margin-left: 8px; padding: 6px 8px; font-size: 10px; }
}

/* Homepage mobile layout: do not inherit the fixed desktop canvas. */
@media (max-width: 760px) {
  body { min-width: 0; }
  .shell { width: calc(100% - 40px); }
  .candidate-header nav > a, .candidate-header nav .header-menu-group > a { font-size: 14px !important; }
  .candidate-hero { height: 560px; }
  .hero-copy { top: 154px; right: 20px; left: 20px; width: auto; }
  .hero-copy h1 { width: auto; margin-bottom: 14px; font-size: clamp(32px, 9vw, 42px); line-height: 1.08; letter-spacing: -.04em; }
  .hero-copy p { width: auto; margin-bottom: 20px; font-size: 14px; line-height: 1.55; }
  .hero-copy a { padding: 10px 18px; font-size: 12px; }
  .hero-dots { bottom: 24px; transform: translateX(-50%); }
  .float-contact { display: none; }

  .candidate-business { height: auto; padding: 52px 0 58px; }
  .business-heading { width: calc(100% - 40px); height: auto; margin: 0 auto; }
  .business-heading h2, .section-title h2, .news-title h2, .about-title h2 { font-size: 32px; line-height: 1.12; letter-spacing: -.04em; }
  .business-tabs { height: auto; justify-content: flex-start; gap: 22px; margin: 26px 0 24px; padding-bottom: 10px; overflow-x: auto; scrollbar-width: none; }
  .business-tabs::-webkit-scrollbar { display: none; }
  .business-tabs button { flex: 0 0 auto; font-size: 11px; }
  .carousel-window { width: 100%; height: 336px; }
  .carousel-item { height: 336px; }
  .carousel-item.main-card { left: 20px; width: calc(100% - 40px); }
  .carousel-item.left, .carousel-item.right { display: none; }
  .card-copy { left: 24px; bottom: 24px; width: calc(100% - 48px); }
  .card-copy h3 { font-size: 21px; }
  .carousel-arrow { top: 140px; width: 40px; height: 40px; font-size: 20px; }
  .arrow-left { left: 8px; }
  .arrow-right { right: 8px; }

  .candidate-about { height: auto; padding: 52px 0; }
  .about-shell { width: calc(100% - 40px); height: auto; margin: 0 auto; }
  .about-title { height: auto; padding: 0; }
  .about-title p { margin: 16px 0 20px; font-size: 14px; }
  .about-mosaic { display: grid; height: auto; grid-template-columns: 1fr; grid-template-rows: repeat(4, 220px); gap: 14px; }
  .about-image, .image-1, .image-2, .image-3, .image-4 { position: static; width: auto; height: auto; transform: none; }

  .candidate-scenario { height: auto; }
  .scenario-frame { aspect-ratio: 4 / 5; }
  .scenario-frame .scenario-copy { top: 12%; left: 20px; right: 20px; max-width: none; }
  .scenario-copy h2 { font-size: 30px; line-height: 1.12; }
  .scenario-copy p { font-size: 14px; }
  .hot-details { display: none; }

  .candidate-strength { height: auto; padding: 52px 0; }
  .strength-shell { width: calc(100% - 40px); height: auto; margin: 0 auto; }
  .section-title { height: auto; margin-bottom: 28px; }
  .strength-content { height: auto; grid-template-columns: 1fr; gap: 18px; }
  .strength-left { gap: 10px; }
  .strength-left img { height: auto; }
  .strength-right { min-height: 260px; }

  .candidate-news { height: auto; padding: 52px 0; }
  .news-shell { width: calc(100% - 40px); height: auto; margin: 0 auto; }
  .news-title { height: auto; margin-bottom: 26px; }
  .news-title > a { position: static; margin-top: 16px; }
  .news-content { height: auto; grid-template-columns: 1fr; gap: 22px; }
  .news-feature { height: auto; }
  .news-feature img { height: 240px; }
  .news-list { height: auto; }
  .news-list a { height: auto; min-height: 150px; padding: 20px 0; }
}
