/* Premium hero – isolated from the legacy theme */
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }

.sfs-premium-hero {
  position: relative !important;
  width: 100% !important;
  height: 100vh !important;
  min-height: 720px !important;
  max-height: 1080px;
  overflow: hidden !important;
  background: #07141d;
  color: #fff;
  text-align: left !important;
  isolation: isolate;
}
.sfs-hero-bg {
  position: absolute;
  inset: 0;
  z-index: -3;
  background: url('../images/hero/1.jpg') center 42%/cover no-repeat;
  transform: scale(1.015);
}
.sfs-hero-shade {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(4,13,20,.92) 0%, rgba(4,13,20,.70) 38%, rgba(4,13,20,.22) 72%, rgba(4,13,20,.48) 100%),
    linear-gradient(180deg, rgba(3,11,18,.52) 0%, rgba(3,11,18,.03) 34%, rgba(3,11,18,.72) 100%);
}
.sfs-hero-inner {
  position: relative;
  width: min(1180px, calc(100% - 64px));
  height: 100%;
  margin: 0 auto;
}
.sfs-hero-copy {
  position: absolute;
  top: 28%;
  left: 0;
  width: min(680px, 63vw);
  z-index: 2;
}
.sfs-hero-eyebrow {
  margin: 0 0 14px !important;
  color: rgba(255,255,255,.76) !important;
  font: 500 12px/1.4 Poppins, Arial, sans-serif !important;
  letter-spacing: .14em;
}
.sfs-hero-copy h1 {
  margin: 0 !important;
  color: #fff !important;
  font: 500 clamp(46px, 5.25vw, 78px)/.98 Poppins, Arial, sans-serif !important;
  letter-spacing: -.045em;
  text-transform: none !important;
  text-shadow: 0 12px 35px rgba(0,0,0,.20);
}
.sfs-hero-lead {
  max-width: 620px;
  margin: 22px 0 0 !important;
  color: rgba(255,255,255,.76) !important;
  font: 400 14px/1.7 Poppins, Arial, sans-serif !important;
}
.sfs-hero-actions {
  position: absolute;
  left: 0;
  bottom: 58px;
  display: flex;
  gap: 10px;
  z-index: 4;
}
.sfs-hero-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 20px !important;
  border: 1px solid transparent;
  border-radius: 999px;
  font: 500 12px/1 Poppins, Arial, sans-serif !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  transition: transform .25s ease, background .25s ease, border-color .25s ease;
}
.sfs-hero-btn:hover { transform: translateY(-2px); }
.sfs-hero-btn-primary { background: #08af68 !important; color: #fff !important; box-shadow: 0 10px 28px rgba(8,175,104,.25); }
.sfs-hero-btn-primary:hover { background: #07995c !important; }
.sfs-hero-btn-ghost { background: rgba(255,255,255,.06) !important; border-color: rgba(255,255,255,.22) !important; color: #fff !important; backdrop-filter: blur(10px); }
.sfs-hero-btn-ghost:hover { background: rgba(255,255,255,.12) !important; }

.sfs-hero-showcase {
  position: absolute;
  right: 0;
  bottom: 45px;
  width: min(650px, 57vw);
  z-index: 3;
}
.sfs-hero-progress {
  display: flex;
  align-items: center;
  gap: 13px;
  width: 100%;
  margin: 0 0 10px;
  padding-left: 4px;
  color: rgba(255,255,255,.84);
  font: 500 11px/1 Poppins, Arial, sans-serif;
}
.sfs-hero-line {
  position: relative;
  width: 76px;
  height: 1px;
  overflow: hidden;
  background: rgba(255,255,255,.28);
}
.sfs-hero-line i {
  display: block;
  width: 25%;
  height: 100%;
  background: #fff;
  transition: transform .45s ease;
}
.sfs-service-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
}
.sfs-service-card {
  display: grid !important;
  grid-template-columns: 108px 1fr;
  min-height: 118px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(255,255,255,.13), rgba(255,255,255,.05)) !important;
  color: #fff !important;
  backdrop-filter: blur(16px) saturate(125%);
  -webkit-backdrop-filter: blur(16px) saturate(125%);
  box-shadow: 0 18px 45px rgba(0,0,0,.18);
  opacity: .70;
  transition: opacity .3s ease, transform .3s ease, border-color .3s ease;
}
.sfs-service-card:nth-child(n+3) { display: none !important; }
.sfs-service-card:hover, .sfs-service-card.is-active { opacity: 1; transform: translateY(-3px); border-color: rgba(255,255,255,.27); }
.sfs-service-card img {
  width: 108px !important;
  height: 100% !important;
  min-height: 118px;
  object-fit: cover;
  filter: saturate(.82) contrast(1.03);
}
.sfs-card-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: 16px 15px;
}
.sfs-card-copy strong {
  display: block;
  margin-bottom: 7px;
  color: #fff;
  font: 500 14px/1.25 Poppins, Arial, sans-serif;
}
.sfs-card-copy small {
  color: rgba(255,255,255,.62);
  font: 400 10px/1.55 Poppins, Arial, sans-serif;
}
.sfs-hero-scroll {
  position: absolute;
  left: 50%;
  bottom: 24px;
  width: 22px;
  height: 34px;
  border: 1px solid rgba(255,255,255,.30);
  border-radius: 99px;
  transform: translateX(-50%);
  z-index: 4;
}
.sfs-hero-scroll span {
  position: absolute;
  top: 7px;
  left: 50%;
  width: 3px;
  height: 6px;
  border-radius: 3px;
  background: #fff;
  transform: translateX(-50%);
  animation: sfsScroll 1.8s infinite;
}
@keyframes sfsScroll { 0%{opacity:0;transform:translate(-50%,0)} 25%{opacity:1} 75%{opacity:1} 100%{opacity:0;transform:translate(-50%,11px)} }

/* Navbar over hero */
.header-transparent .navbar { background: transparent !important; border: 0 !important; box-shadow: none !important; }
.header-transparent .navbar .container { width: min(1180px, calc(100% - 64px)) !important; }
.header-transparent .navbar-nav > li > a { color: rgba(255,255,255,.72) !important; }
.header-transparent .navbar-nav > li.active > a,
.header-transparent .navbar-nav > li > a:hover { color: #fff !important; }
.header-transparent .sfs-portal-link { border-color: rgba(255,255,255,.50) !important; }
.header-transparent .logo img { max-height: 45px !important; width: auto !important; }
.header-transparent .logo-dark { display: none !important; }
.header-transparent .logo-light { display: block !important; }
.header-transparent.affix .navbar,
.header-transparent.header-fixed .navbar.affix { background: rgba(5,16,24,.92) !important; backdrop-filter: blur(14px); }

@media (max-width: 991px) {
  .sfs-premium-hero { min-height: 760px !important; }
  .sfs-hero-inner { width: calc(100% - 40px); }
  .sfs-hero-copy { top: 23%; width: 88%; }
  .sfs-hero-copy h1 { font-size: clamp(44px, 8vw, 66px) !important; }
  .sfs-hero-showcase { width: 66%; }
  .sfs-service-cards { grid-template-columns: 1fr; }
  .sfs-service-card:nth-child(2) { display: none !important; }
  .header-transparent .navbar .container { width: calc(100% - 40px) !important; }
}
@media (max-width: 767px) {
  .sfs-premium-hero { height: 100svh !important; min-height: 700px !important; }
  .sfs-hero-bg { background-position: 60% center; }
  .sfs-hero-shade { background: linear-gradient(180deg, rgba(4,13,20,.70), rgba(4,13,20,.36) 36%, rgba(4,13,20,.90)); }
  .sfs-hero-inner { width: calc(100% - 30px); }
  .sfs-hero-copy { top: 20%; width: 100%; }
  .sfs-hero-copy h1 { font-size: clamp(38px, 11vw, 54px) !important; }
  .sfs-hero-lead { max-width: 100%; font-size: 12px !important; }
  .sfs-hero-actions { left: 0; bottom: 42px; }
  .sfs-hero-showcase { left: 0; right: auto; bottom: 118px; width: 100%; }
  .sfs-service-card { grid-template-columns: 92px 1fr; min-height: 102px; }
  .sfs-service-card img { width: 92px !important; min-height: 102px; }
  .sfs-hero-scroll { display: none; }
  .header-transparent .navbar .container { width: calc(100% - 24px) !important; }
  .navbar-toggle { border-color: rgba(255,255,255,.4) !important; }
  .navbar-toggle .icon-bar { background: #fff !important; }
  .navbar-collapse { background: rgba(5,16,24,.96) !important; padding: 12px 20px !important; border-radius: 0 0 14px 14px; }
}
@media (max-width: 430px) {
  .sfs-hero-copy { top: 18%; }
  .sfs-hero-copy h1 { font-size: 39px !important; }
  .sfs-hero-actions { gap: 7px; }
  .sfs-hero-btn { padding: 0 15px !important; font-size: 11px !important; }
}


/* Final transparent premium header + clean hero override */
.header.header-transparent {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 50;
    background: transparent !important;
}
.header-transparent .navbar {
    background: transparent !important;
    padding-top: 18px;
    padding-bottom: 18px;
}
.header-transparent .logo img {
    max-height: 58px !important;
}
.header-transparent .navbar-nav > li > a {
    font-weight: 600 !important;
    letter-spacing: .02em;
}
.sfs-contact-btn {
    border: 1px solid rgba(255,255,255,.55) !important;
    border-radius: 5px !important;
    padding: 14px 28px !important;
    margin-left: 15px;
}
.sfs-portal-link {
    background: #08af68 !important;
    border: 1px solid #08af68 !important;
    border-radius: 5px !important;
    padding: 14px 30px !important;
    margin-left: 12px;
}
.sfs-hero-actions {
    bottom: auto !important;
    top: calc(28% + 390px) !important;
}
.sfs-hero-btn-primary:before,
.sfs-hero-btn-primary:after { display:none !important; }
.sfs-hero-showcase { display:none !important; }
.sfs-hero-copy {
    width: min(720px, 65vw) !important;
}
