:root{
  --sv-dark:#101820;
  --sv-text:#1f2933;
  --sv-muted:#66717d;
  --sv-yellow:#00adef;
  --sv-yellow-dark:#0e5672;
  --sv-white:#fff;
  --sv-card:rgba(255,255,255,.66);
  --sv-border:rgba(255,255,255,.58);
  --sv-shadow:0 32px 90px rgba(14,86,114,.18);
  --sv-radius:34px;
}

*{box-sizing:border-box;}

html{
  scroll-behavior:smooth;
  scroll-snap-type:y mandatory;
}

/* Premium first-load hero animation */

body.is-loading .sv-header{
  opacity:0;
  transform:translateY(-18px);
}

body.is-loading #home .sv-kicker,
body.is-loading #home .sv-title,
body.is-loading #home .sv-lead,
body.is-loading #home .sv-actions,
body.is-loading #home .sv-trust-row,
body.is-loading #home .sv-hero-visual{
  opacity:0;
  transform:translateY(24px);
  filter:blur(5px);
}

.sv-header,
#home .sv-kicker,
#home .sv-title,
#home .sv-lead,
#home .sv-actions,
#home .sv-trust-row,
#home .sv-hero-visual{
  transition:
    opacity .48s cubic-bezier(.22,1,.36,1),
    transform .52s cubic-bezier(.22,1,.36,1),
    filter .32s cubic-bezier(.22,1,.36,1);
}

body:not(.is-loading) .sv-header{
  opacity:1;
  transform:translateY(0);
}

body:not(.is-loading) #home .sv-kicker,
body:not(.is-loading) #home .sv-title,
body:not(.is-loading) #home .sv-lead,
body:not(.is-loading) #home .sv-actions,
body:not(.is-loading) #home .sv-trust-row,
body:not(.is-loading) #home .sv-hero-visual{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}

#home .sv-kicker{transition-delay:.08s;}
#home .sv-title{transition-delay:.16s;}
#home .sv-lead{transition-delay:.24s;}
#home .sv-actions{transition-delay:.32s;}
#home .sv-trust-row{transition-delay:.40s;}
#home .sv-hero-visual{transition-delay:.48s;}

body{
  margin:0;
  font-family:"Inter",Arial,sans-serif;
  color:var(--sv-text);
  overflow-x:hidden;
  background:
    radial-gradient(circle at 18% 15%, #fff 0%, transparent 34%),
    radial-gradient(circle at 82% 75%, rgba(245,180,0,.08), transparent 28%),
    linear-gradient(135deg,#ffffff 0%,#f5fbfe 45%,#ffffff 100%);
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(255,255,255,.95) 1px,transparent 1px),
    linear-gradient(0deg,rgba(255,255,255,.95) 1px,transparent 1px);
  background-size:90px 90px;
  opacity:.10;
  transform:perspective(900px) rotateX(62deg) translateY(120px);
  transform-origin:center bottom;
  pointer-events:none;
}

body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  background:radial-gradient(circle at center,transparent 0%,rgba(255,255,255,.10) 62%,rgba(255,255,255,.34) 100%);
  pointer-events:none;
}

h1,h2,h3,h4,h5,h6{
  font-family:"Oswald",Arial,sans-serif;
  letter-spacing:-.02em;
}

a{text-decoration:none;}

.sv-header{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  z-index:9999;
  padding:22px 0;
  background:transparent;
  transition:.28s ease;
}

.sv-header.scrolled{
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(18px);
  box-shadow:0 10px 35px rgba(31,41,51,.08);
}

.sv-nav{
display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    max-width: 1170px;
    margin: auto;
}

.sv-brand{
  display:flex;
  align-items:center;
  gap:.8rem;
  color:var(--sv-dark);
  font-weight:900;
}

.sv-brand:hover{color:var(--sv-dark);}

.sv-brand-mark{
  width:46px;
  height:46px;
  border-radius:14px;
  background:var(--sv-yellow);
  color:var(--sv-dark);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 30px rgba(137,216,246,.32);
}

.sv-brand-text strong{
  display:block;
  font-family:"Oswald",Arial,sans-serif;
  font-size:1.35rem;
  line-height:1;
}


.sv-brand-text span{
  display:block;
  font-size:.72rem;
  color:rgba(16,24,32,.62);
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-top:.2rem;
}

.sv-menu{
  display:flex;
  align-items:center;
  gap:.35rem;
}

.sv-menu a{
  color:rgba(16,24,32,.76);
  font-weight:800;
  padding:.65rem .85rem;
  border-radius:999px;
  transition:.25s ease;
    font-size: 14px;
}

.sv-menu a:hover{
  color:var(--sv-dark);
  background:rgba(16,24,32,.06);
}

.sv-nav-cta{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.85rem 1.15rem;
  border-radius:999px;
  background:var(--sv-yellow);
  color:var(--sv-dark);
  font-weight:900;
  box-shadow:0 16px 36px rgba(137,216,246,.32);
}

.sv-brand-logo img{
  height:100px;
  width:auto;
  display:block;
}

.sv-dropdown{
  position:relative;
}

.sv-dropdown-toggle{
  display:flex;
  align-items:center;
  gap:.35rem;
}

.sv-dropdown-toggle i{
  font-size:.75rem;
}

.sv-dropdown-menu{
  position:absolute;
  top:calc(100% + 10px);
  left:0;
  min-width:245px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(18px);
  border:1px solid rgba(255,255,255,.88);
  border-radius:18px;
  padding:.55rem;
  box-shadow:0 18px 45px rgba(31,41,51,.14);
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:.22s ease;
}

.sv-dropdown:hover .sv-dropdown-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.sv-dropdown-menu a{
  display:block;
  padding:.75rem .85rem;
  border-radius:12px;
  white-space:nowrap;
  color:rgba(16,24,32,.82);
}

.sv-dropdown-menu a:hover{
  background:rgba(0,173,239,.12);
  color:var(--sv-dark);
}

@media(max-width:780px){
  .sv-brand-logo img{
    height:44px;
  }

  .sv-dropdown-menu{
    position:static;
    opacity:1;
    visibility:visible;
    transform:none;
    box-shadow:none;
    background:rgba(16,24,32,.04);
    border:none;
    margin:.25rem 0 .55rem;
    display:block;
  }

  .sv-dropdown-menu a{
    padding:.8rem 1rem;
  }
}

.sv-nav-cta:hover{color:var(--sv-dark);}

.sv-mobile-toggle{
  display:none;
  border:none;
  width:46px;
  height:46px;
  border-radius:14px;
  background:rgba(16,24,32,.08);
  color:var(--sv-dark);
  font-size:1.4rem;
}

.sv-section{
  min-height:100vh;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:150px 24px 56px;
}

.sv-card{
  position:relative;
  width:min(1180px,100%);
  min-height:68vh;
  border-radius:var(--sv-radius);
  background:var(--sv-card);
  border:1px solid var(--sv-border);
  box-shadow:
    var(--sv-shadow),
    inset 0 1px 0 rgba(255,255,255,.96);
  backdrop-filter:blur(10px) saturate(145%);
  -webkit-backdrop-filter:blur(10px) saturate(145%);
  padding:clamp(2rem,5vw,4.8rem);
  overflow:hidden;
  opacity:.35;
  transform:translateY(38px);
  filter:blur(5px);
  transition:
    opacity .42s cubic-bezier(.22,1,.36,1),
    transform .48s cubic-bezier(.22,1,.36,1),
    filter .28s cubic-bezier(.22,1,.36,1);
}

.sv-card.is-active{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}

.sv-card.is-past{
  opacity:0;
  transform:translateY(-48px);
  filter:blur(6px);
}

.sv-card::after{
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  border-radius:50%;
  right:-160px;
  top:-160px;
  background:rgba(0,173,239,.12);
  pointer-events:none;
}

.sv-card{
  --card-glow:rgba(0,173,239,.18);
}

.sv-card:hover{
  border-color:rgba(0,173,239,.32);
  box-shadow:
    0 34px 96px rgba(14,86,114,.22),
    0 0 0 1px rgba(0,173,239,.10),
    inset 0 1px 0 rgba(255,255,255,.98);
}


.sv-kicker{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  color:var(--sv-yellow-dark);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.82rem;
  font-weight:900;
  margin-bottom:1rem;
}

.sv-kicker::before{
  content:"";
  width:42px;
  height:3px;
  border-radius:999px;
  background:var(--sv-yellow);
}

.sv-title{
    font-size: clamp(3.2rem, 4vw, 4.5rem);
  line-height:.88;
  text-transform:uppercase;
  color:var(--sv-dark);
  margin-bottom:1.5rem;
}

.sv-title span{color:var(--sv-yellow-dark);}

.sv-lead{
  font-size:clamp(1.05rem,2vw,1.28rem);
  color:var(--sv-muted);
  line-height:1.8;
  max-width:760px;
}

.sv-actions{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  margin-top:2rem;
}

.sv-btn-primary,
.sv-btn-dark,
.sv-btn-outline{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  padding:1rem 1.35rem;
  border-radius:999px;
  font-weight:900;
  transition:.25s ease;
}

.sv-btn-primary{
  background:var(--sv-yellow);
  color:var(--sv-dark);
  box-shadow:0 16px 34px rgba(137,216,246,.32);
}

.sv-btn-primary:hover{
  color:var(--sv-dark);
  background:#ffc72d;
  transform:translateY(-2px);
}

.sv-btn-dark{
  background:rgba(16,24,32,.78);
  color:#fff;
  backdrop-filter:blur(10px) saturate(140%);
  -webkit-backdrop-filter:blur(10px) saturate(140%);
}

.sv-btn-dark:hover{
  color:#fff;
  transform:translateY(-2px);
}

.sv-btn-outline{
  border:2px solid rgba(16,24,32,.14);
  color:var(--sv-dark);
}

.sv-btn-outline:hover{
  background:#fff;
  color:var(--sv-dark);
  transform:translateY(-2px);
}

.sv-hero-grid{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:3rem;
  align-items:center;
}

.sv-trust-row{
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
  margin-top:2rem;
}

.sv-trust-pill{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.65rem .85rem;
  border-radius:999px;
  background:rgba(255,255,255,.58);
  box-shadow:0 12px 34px rgba(31,41,51,.08);
  font-weight:800;
  color:var(--sv-dark);
}

.sv-trust-pill i{color:var(--sv-yellow-dark);}

.sv-hero-visual{
  position:relative;
  min-height:520px;
  border-radius:32px;
  background:
    linear-gradient(135deg,rgba(16,24,32,.10),rgba(16,24,32,.02)),
    url('/assets/sv-electric-hero.jpg') center/cover no-repeat;
  box-shadow:0 24px 70px rgba(31,41,51,.18);
  overflow:hidden;
    background-image: url(/assets/home/outdoor-lighting.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    
}

.sv-hero-visual::before{
  content:"";
  position:absolute;
  inset:22px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:24px;
}

.sv-bolt{
  position:absolute;
  right:26px;
  top:26px;
  width:76px;
  height:76px;
  border-radius:24px;
  background:var(--sv-yellow);
  color:var(--sv-dark);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2rem;
  box-shadow:0 16px 40px rgba(137,216,246,.32);
}

.sv-bolt::after{
  content:"";
  position:absolute;
  inset:-14px;
  border-radius:30px;
  background:radial-gradient(circle,rgba(0,173,239,.30),transparent 68%);
  z-index:-1;
  animation:electricBreath 4.8s ease-in-out infinite;
}

@keyframes electricBreath{
  0%,100%{
    opacity:.38;
    transform:scale(.96);
  }

  50%{
    opacity:.85;
    transform:scale(1.08);
  }
}


.sv-floating-stat{
  position:absolute;
  left:26px;
  bottom:26px;
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(14px);
  border-radius:24px;
  padding:1.3rem 1.5rem;
  box-shadow:0 18px 46px rgba(31,41,51,.18);
}

.sv-floating-stat strong{
  display:block;
  font-family:"Oswald";
  font-size:2.7rem;
  line-height:.9;
  color:var(--sv-dark);
}

.sv-floating-stat span{
  display:block;
  color:var(--sv-muted);
  font-weight:800;
  margin-top:.45rem;
}

.sv-service-cards{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.2rem;
  margin-top:2.6rem;
}
    
.sv-section-image{
    display:none;
    margin:-4.8rem -4.8rem 3rem;
    height:180px;
    overflow:hidden;

    border-top-left-radius:34px;
    border-top-right-radius:34px;

    position:relative;
}

.sv-section-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
transform:scale(1.05);
transition:transform 10s ease;
}
    
.sv-card.is-active .sv-section-image img{

transform:scale(1);

}
    
.sv-section-image::after{

content:"";

position:absolute;
inset:0;

background:
linear-gradient(
180deg,
rgba(16,24,32,.10),
rgba(16,24,32,.35)
);

}


.sv-service-card{
  position:relative;
  min-height:340px;
  border-radius:28px;
  padding:1.7rem;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(31,41,51,.14);
  display:flex;
  align-items:flex-end;
  color:#fff;
  background-size:cover;
  background-position:center;
  transition:.28s ease;
}

.sv-service-card:hover{
  transform:translateY(-8px);
}

.sv-service-card::before{
  content:"";
  position:absolute;
  inset:0;
background: linear-gradient(180deg, rgba(0, 0, 0, .25), rgba(0, 0, 0, .78));
}

.sv-service-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:28px;
  border:1px solid rgba(0,173,239,0);
  box-shadow:inset 0 0 0 rgba(0,173,239,0);
  pointer-events:none;
  transition:.28s ease;
}

.sv-service-card:hover::after{
  border-color:rgba(0,173,239,.42);
  box-shadow:
    inset 0 0 22px rgba(0,173,239,.18),
    0 0 26px rgba(0,173,239,.14);
}


.sv-service-card-content{
  position:relative;
  z-index:2;
}

.sv-service-card-icon{
  width:54px;
  height:54px;
  border-radius:18px;
  background:var(--sv-yellow);
  color:var(--sv-dark);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.45rem;
  margin-bottom:1rem;
}

.sv-service-card h3{
  text-transform:uppercase;
  font-size:1.45rem;
}

.sv-service-card p{
  color:rgba(255,255,255,.78);
  margin-bottom:1rem;
  font-size:.95rem;
}

    
    #services .sv-service-card h3,
        #services .sv-service-card p,
    #services .sv-service-card span{
    color: #fff;
    text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.85);
    }
    
.sv-service-card span{
  color:var(--sv-yellow);
  font-weight:900;
}
    
.service-residential{
  background-image:url('/assets/home/residential-lighting.webp');
}

.service-commercial{
  background-image:url('/assets/home/commercial-lighting.webp');
}

.service-gemstone{
  background-image:url('/assets/home/gemstone-lighting.webp');
}

.service-remodels{
  background-image:url('/assets/home/new-construction-lighting.webp');
}

.sv-service-card{
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

.sv-mini-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem;
  margin-top:2.5rem;
}

.sv-mini-tile,
.sv-proof,
.sv-review,
.sv-step,
.sv-form{
  background:rgba(255,255,255,.62);
  border:1px solid rgba(255,255,255,.56);
  box-shadow:0 18px 44px rgba(31,41,51,.10);
}

.sv-mini-tile{
  border-radius:22px;
  padding:1.35rem;
  min-height:130px;
  transition:.25s ease;
}

.sv-mini-tile:hover{
  transform:translateY(-5px);
}

.sv-mini-tile i{
  color:var(--sv-yellow-dark);
  font-size:1.6rem;
  margin-bottom:.8rem;
}

.sv-mini-tile h3{
  text-transform:uppercase;
  font-size:1.15rem;
  margin:0;
}

.sv-proof-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.2rem;
  margin-top:2.6rem;
}

.sv-proof{
  border-radius:26px;
  padding:1.8rem;
}

.sv-proof strong{
  display:block;
  font-family:"Oswald",Arial,sans-serif;
  font-size:clamp(2.5rem,5vw,4rem);
  line-height:.9;
  color:var(--sv-dark);
  margin-bottom:.8rem;
}

.sv-proof span{
  display:block;
  color:var(--sv-muted);
  font-weight:800;
}
    
.sv-projects-view{
  display:none;
}

.sv-projects-view.active{
  display:block;
}

.sv-project-detail{
  display:none;
  grid-template-columns:1.05fr .95fr;
  gap:3rem;
  align-items:center;
  animation:projectFadeIn .38s ease both;
}

.sv-project-detail.active{
  display:grid;
}

.sv-project-detail-copy{
  position:relative;
  z-index:2;
}

.sv-project-trigger{
  text-align:left;
  border:none;
  cursor:pointer;
  position:relative;
  overflow:hidden;
}

.sv-project-trigger::after{
  content:"Learn More";
  position:absolute;
  right:1.15rem;
  bottom:1.05rem;
  font-size:.75rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:900;
  color:var(--sv-yellow-dark);
  opacity:0;
  transform:translateY(8px);
  transition:.25s ease;
}

.sv-project-trigger:hover::after{
  opacity:1;
  transform:translateY(0);
}

.sv-project-detail-icon{
  width:76px;
  height:76px;
  border-radius:24px;
  background:var(--sv-yellow);
  color:var(--sv-dark);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2rem;
  margin-bottom:1.5rem;
  box-shadow:0 16px 36px rgba(137,216,246,.32);
}

.sv-back-projects{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  border:none;
  background:rgba(255,255,255,.62);
  color:var(--sv-dark);
  font-weight:900;
  border-radius:999px;
  padding:.8rem 1rem;
  margin-bottom:2rem;
  box-shadow:0 12px 30px rgba(31,41,51,.08);
  transition:.25s ease;
}

.sv-back-projects:hover{
  transform:translateY(-2px);
  background:#fff;
}

.sv-project-benefits{
  list-style:none;
  padding:0;
  margin:1.5rem 0 0;
  display:grid;
  gap:.75rem;
}

.sv-project-benefits li{
  display:flex;
  align-items:flex-start;
  gap:.65rem;
  color:var(--sv-muted);
  font-weight:700;
}

.sv-project-benefits li i{
  color:var(--sv-yellow-dark);
  margin-top:.15rem;
}

.sv-project-image-wrap{
  position:relative;
  height:520px;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(31,41,51,.20);
  background:#e9eef1;
}

.sv-project-image-wrap::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(16,24,32,.03),rgba(16,24,32,.18));
  pointer-events:none;
}

.sv-project-image-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  opacity:0;
  transform:scale(1.03);
  transition:
    opacity .45s ease,
    transform .45s ease;
}

.sv-project-image-wrap img.loaded{
  opacity:1;
  transform:scale(1);
  animation:projectKenBurns 14s ease-in-out infinite alternate;
}

@keyframes projectFadeIn{
  from{
    opacity:0;
    transform:translateY(18px);
    filter:blur(8px);
  }

  to{
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
  }
}

@keyframes projectKenBurns{
  from{
    transform:scale(1);
  }

  to{
    transform:scale(1.08);
  }
}

.sv-lighting-card{
  background:
    linear-gradient(135deg,rgba(16,24,32,.92),rgba(16,24,32,.72)),
    url('/assets/home/gemstone-permanent-lighting.webp') center/cover no-repeat;
  color:#fff;
}

.sv-lighting-card .sv-title{color:#fff;}
.sv-lighting-card .sv-lead{color:rgba(255,255,255,.8);}

.sv-feature-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
  margin-top:2rem;
  max-width:760px;
}

.sv-feature-pill{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.16);
  border-radius:22px;
  padding:1.2rem;
}

.sv-feature-pill i{
  color:var(--sv-yellow);
  font-size:1.4rem;
}

.sv-feature-pill strong{
  display:block;
  margin-top:.6rem;
  font-size:1.05rem;
}

.accordion{
  margin-top:2.3rem;
}

.accordion-item{
  border:none;
  border-radius:20px!important;
  overflow:hidden;
  margin-bottom:1rem;
  background:rgba(255,255,255,.62);
  box-shadow:0 14px 34px rgba(31,41,51,.08);
}

.accordion-button{
  font-weight:900;
  color:var(--sv-dark);
  padding:1.25rem 1.4rem;
}

.accordion-button:not(.collapsed){
  background:rgba(245,180,0,.16);
  color:var(--sv-dark);
}

.accordion-body{
  color:var(--sv-muted);
  line-height:1.8;
}

.sv-review-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.2rem;
  margin-top:2.5rem;
}

.sv-review{
  border-radius:26px;
  padding:1.8rem;
}

.sv-stars{
  color:var(--sv-yellow-dark);
  letter-spacing:.12em;
  margin-bottom:1rem;
}

.sv-review p{
  color:var(--sv-muted);
  line-height:1.75;
}

.sv-review strong{
  color:var(--sv-dark);
}

.sv-area-grid{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:2rem;
  align-items:center;
  margin-top:2rem;
}

.sv-area-map{
  min-height:420px;
  border-radius:32px;
  background:
    radial-gradient(circle at center,rgba(245,180,0,.24),transparent 30%),
    linear-gradient(135deg,#fff,#ebe8df);
  box-shadow:0 24px 70px rgba(31,41,51,.14);
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
    background-image: url(/assets/home/office.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.sv-area-map i{
  font-size:5rem;
  color:var(--sv-yellow-dark);
}

.sv-page-bg{
  position:fixed;
  inset:-2%;
  z-index:-3;
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  opacity:0;
  transform:translate3d(0,0,0) scale(1.025);
  transform-origin:center center;
  will-change:opacity, transform, background-position;
  transition:
    opacity .48s cubic-bezier(.22,1,.36,1),
    filter .32s cubic-bezier(.22,1,.36,1);
  filter:saturate(1.05) contrast(1.03);
}

.sv-page-bg.active{
  opacity:var(--bg-opacity, .72);
}

.sv-page-bg.is-zooming{
  animation:bgSlowZoom 18s ease-out forwards;
}

.sv-page-bg::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg,rgba(255,255,255,.24),rgba(255,255,255,.10)),
    radial-gradient(circle at 80% 20%,rgba(0,173,239,.08),transparent 34%);
}

@keyframes bgSlowZoom{
  from{
    transform:translate3d(0,0,0) scale(1.025);
  }

  to{
    transform:translate3d(0,0,0) scale(1.065);
  }
}

.sv-area-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:.8rem;
}

.sv-area-list span{
  background:rgba(255,255,255,.62);
  border-radius:999px;
  padding:.85rem 1rem;
  font-weight:900;
  box-shadow:0 12px 30px rgba(31,41,51,.08);
}

.sv-contact-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:2rem;
  align-items:stretch;
}

.sv-contact-panel{
  background:var(--sv-dark);
  color:#fff;
  border-radius:30px;
  padding:2.3rem;
  box-shadow:0 24px 70px rgba(31,41,51,.22);
}

.sv-contact-panel h2{
  text-transform:uppercase;
  font-size:clamp(2.2rem,4vw,4rem);
}

.sv-contact-panel p{
  color:rgba(255,255,255,.76);
}

.sv-contact-item{
  display:flex;
  gap:1rem;
  align-items:flex-start;
  margin-top:1.4rem;
}

.sv-contact-item i{
  color:var(--sv-yellow);
  font-size:1.35rem;
}

.sv-contact-item a,
.sv-contact-item span{
  color:rgba(255,255,255,.78);
}

.sv-form{
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(22px);
  border:1px solid rgba(255,255,255,.82);
  border-radius:30px;
  padding:2.3rem;
  box-shadow:0 24px 70px rgba(31,41,51,.12);
}

.form-control,
.form-select{
  border:1px solid rgba(16,24,32,.08);
  border-radius:16px;
  padding:1rem 1.1rem;
  background:rgba(255,255,255,.92);
  color:var(--sv-dark);
  box-shadow:0 10px 24px rgba(31,41,51,.06);
}

.form-control::placeholder{
  color:rgba(16,24,32,.52);
}

.form-control:focus,
.form-select:focus{
  border-color:rgba(0,173,239,.42);
  box-shadow:0 0 0 .2rem rgba(0,173,239,.16);
  background:#fff;
}

textarea.form-control{
  min-height:150px;
  resize:vertical;
}

.sv-dots{
  position:fixed;
  right:22px;
  top:50%;
  transform:translateY(-50%);
  z-index:9998;
  display:flex;
  flex-direction:column;
  gap:.65rem;
}

.sv-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:rgba(16,24,32,.22);
  border:0;
  padding:0;
  transition:.25s ease;
}

.sv-dot.active{
  background:var(--sv-yellow);
  transform:scale(1.45);
}

.sv-mobile-cta{
  display:none;
  position:fixed;
  bottom:0;
  left:0;
  width:100%;
  z-index:9999;
  padding:.75rem;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(14px);
  gap:.7rem;
}

.sv-mobile-cta a{
  flex:1;
  text-align:center;
  border-radius:14px;
  padding:.9rem;
  font-weight:900;
}

.sv-mobile-cta a:first-child{
  background:var(--sv-yellow);
  color:var(--sv-dark);
}

.sv-mobile-cta a:last-child{
  background:var(--sv-dark);
  color:#fff;
}

.sv-card::before{
  content:"";
  position:absolute;
  inset:-40%;
  background:linear-gradient(
    120deg,
    transparent 35%,
    rgba(255,255,255,.18) 48%,
    rgba(255,255,255,.32) 50%,
    rgba(255,255,255,.16) 52%,
    transparent 65%
  );
  transform:translateX(-80%) rotate(8deg);
  animation:glassShimmer 18s ease-in-out infinite;
  pointer-events:none;
  z-index:1;
}

.sv-card > *{
  position:relative;
  z-index:2;
}

@keyframes glassShimmer{
  0%, 72%{
    transform:translateX(-80%) rotate(8deg);
    opacity:0;
  }

  78%{
    opacity:.52;
  }

  88%{
    transform:translateX(80%) rotate(8deg);
    opacity:0;
  }

  100%{
    opacity:0;
  }
}


@media(prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.001ms!important;
  }

  .sv-page-bg{
    transform:none!important;
  }
}

@media(max-width:1100px){
  html{scroll-snap-type:none;}

  .sv-section{
    min-height:auto;
    scroll-snap-align:none;
    padding:110px 18px 48px;
  }

  .sv-card,
  .sv-card.is-active,
  .sv-card.is-past{
    min-height:auto;
    opacity:1;
    transform:none;
    filter:none;
  }
    
  .sv-hero-grid,
  .sv-area-grid,
  .sv-contact-grid,
  .sv-project-detail.active{
    grid-template-columns:1fr;
  }

  .sv-project-image-wrap{
    height:380px;
  }

  .sv-service-cards,
  .sv-mini-grid,
  .sv-proof-grid,
  .sv-review-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .sv-hero-visual,
  .sv-area-map{
    min-height:380px;
  }

  .sv-dots{display:none;}
}

@media(max-width:780px){
  body{padding-bottom:82px;}

  .sv-header{padding:14px 0;}

  .sv-menu{
    position:fixed;
    top:74px;
    left:16px;
    right:16px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    background:rgba(255,255,255,.94);
    border:1px solid rgba(16,24,32,.08);
    border-radius:24px;
    padding:1rem;
    backdrop-filter:blur(16px);
    box-shadow:0 24px 70px rgba(31,41,51,.14);
  }

  .sv-menu.open{display:flex;}

  .sv-menu a{
    margin:0;
    padding:1rem;
  }

  .sv-mobile-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
  }

  .sv-nav-cta{display:none;}

  .sv-card{
    padding:2rem;
    border-radius:26px;
  }

  .sv-title{
    font-size:clamp(3rem,14vw,4.6rem);
  }

  .sv-service-cards,
  .sv-mini-grid,
  .sv-proof-grid,
  .sv-review-grid,
  .sv-feature-row,
  .sv-area-list{
    grid-template-columns:1fr;
  }

  .sv-service-card{
    min-height:280px;
  }

  .sv-project-image-wrap{
    height:280px;
    order:-1;
  }

  .sv-actions a{
    width:100%;
  }

  .sv-mobile-cta{display:flex;}
}

/* =========================================
   Final polish: scroll progress + electric hover states
========================================= */

.sv-scroll-progress{
  position:fixed;
  top:0;
  left:0;
  height:3px;
  width:0%;
  z-index:10001;
  background:linear-gradient(90deg,var(--sv-yellow),var(--sv-yellow-dark));
  box-shadow:0 0 18px rgba(0,173,239,.55);
  transform-origin:left center;
  pointer-events:none;
}

.sv-brand-logo img{
  transition:transform .35s cubic-bezier(.22,1,.36,1), filter .35s ease;
}

.sv-brand-logo:hover img{
  transform:translateY(-1px) scale(1.025);
  filter:drop-shadow(0 8px 18px rgba(0,173,239,.24));
}

.sv-card{
  isolation:isolate;
}

.sv-card.is-active:hover{
  box-shadow:
    0 36px 110px rgba(14,86,114,.22),
    0 0 0 1px rgba(0,173,239,.18),
    inset 0 1px 0 rgba(255,255,255,.96);
}

.sv-card.is-active:hover::after{
  background:rgba(0,173,239,.17);
}

.sv-mini-tile,
.sv-proof,
.sv-review,
.sv-service-card,
.sv-feature-pill,
.sv-area-list span{
  will-change:transform;
}

.sv-mini-tile:hover,
.sv-proof:hover,
.sv-review:hover,
.sv-feature-pill:hover,
.sv-area-list span:hover{
  box-shadow:
    0 22px 58px rgba(31,41,51,.13),
    0 0 0 1px rgba(0,173,239,.16);
}

.sv-service-card:hover{
  box-shadow:
    0 30px 90px rgba(31,41,51,.20),
    0 0 0 1px rgba(0,173,239,.28),
    0 0 38px rgba(0,173,239,.12);
}

.sv-service-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:28px;
  border:1px solid rgba(0,173,239,0);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
  pointer-events:none;
  transition:border-color .28s ease, box-shadow .28s ease;
  z-index:1;
}

.sv-service-card:hover::after{
  border-color:rgba(0,173,239,.38);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.18),
    inset 0 0 28px rgba(0,173,239,.12);
}

.sv-btn-primary,
.sv-nav-cta{
  position:relative;
  overflow:hidden;
}

.sv-btn-primary::after,
.sv-nav-cta::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.34) 46%,transparent 72%);
  transform:translateX(-120%);
  transition:transform .65s cubic-bezier(.22,1,.36,1);
  pointer-events:none;
}

.sv-btn-primary:hover::after,
.sv-nav-cta:hover::after{
  transform:translateX(120%);
}

@media(prefers-reduced-motion:reduce){
  .sv-scroll-progress,
  .sv-brand-logo img,
  .sv-card,
  .sv-btn-primary::after,
  .sv-nav-cta::after,
  .sv-service-card,
  .sv-mini-tile,
  .sv-proof,
  .sv-review,
  .sv-feature-pill,
  .sv-area-list span{
    transition:none!important;
    animation:none!important;
  }
}
