:root {
  --lead-blue: #2366d1;
  --lead-blue-dark: #174d9f;
  --lead-yellow: #f2a900;
  --lead-ink: #17191c;
  --lead-muted: #5f6368;
  --lead-line: #dfe3e8;
  --lead-soft: #f5f7fa;
}

.lead-page {
  background: #fff;
  color: var(--lead-ink);
}
.lead-utility {
  background: #101820;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
}
.lead-utility .container {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.lead-utility p {
  margin: 0;
}
.lead-utility a {
  color: #fff;
}
.lead-page .site-header {
  background: rgba(255, 255, 255, 0.96);
}
.lead-nav {
  display: flex;
  align-items: center;
  gap: 18px;
}
.lead-nav a {
  color: var(--lead-ink);
  font-weight: 600;
}
.lead-hero {
  min-height: 600px;
  display: grid;
  align-items: end;
  padding: 72px 0;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(9, 20, 36, 0.9) 0%, rgba(9, 20, 36, 0.68) 55%, rgba(9, 20, 36, 0.18) 100%),
    url("/assets/img/installation.jpg") center / cover no-repeat;
}
.lead-hero__copy {
  max-width: 690px;
}
.lead-kicker {
  margin: 0 0 10px;
  color: var(--lead-yellow);
  font-size: 15px;
  font-weight: 800;
  text-transform: uppercase;
}
.lead-hero h1 {
  margin: 0 0 18px;
  color: #fff;
  font-size: 52px;
  line-height: 1.1;
}
.lead-hero .lead-intro {
  max-width: 620px;
  margin: 0 0 26px;
  font-size: 20px;
}
.lead-hero__assurances {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 22px;
  margin: 28px 0 0;
  padding: 18px 0 0;
  border-top: none;
  list-style: none;
  font-size: 14px;
  font-weight: 700;
}
.lead-hero__assurances li::before {
  content: "✓";
  margin-right: 8px;
  color: var(--lead-yellow);
}
.lead-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.lead-actions .button--secondary {
  border-color: rgba(255, 255, 255, 0.65);
  color: #fff;
}
.lead-proof {
  background: var(--lead-soft);
  border-bottom: 1px solid var(--lead-line);
}
.lead-proof .container {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
}
.lead-proof p {
  margin: 0;
  padding: 22px 16px;
  text-align: center;
  font-weight: 700;
}
.lead-proof strong,
.lead-proof span {
  display: block;
}
.lead-proof strong {
  margin-bottom: 4px;
  color: var(--lead-blue-dark);
  font-size: 15px;
}
.lead-proof span {
  color: var(--lead-muted);
  font-size: 14px;
  font-weight: 600;
}
.lead-section {
  padding: 68px 0;
}
.lead-section--soft {
  background: var(--lead-soft);
}
.lead-heading {
  max-width: 720px;
  margin-bottom: 30px;
}
.lead-heading h2 {
  margin: 0 0 10px;
  font-size: 36px;
  line-height: 1.2;
}
.lead-services {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.lead-home-about {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
  gap: 54px;
  align-items: start;
}
.lead-home-about h2 {
  margin: 0 0 14px;
  font-size: 36px;
  line-height: 1.2;
}
.lead-home-steps {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: home-step;
}
.lead-home-steps li {
  position: relative;
  min-height: 52px;
  padding: 0 0 20px 58px;
  counter-increment: home-step;
}
.lead-home-steps li::before {
  content: counter(home-step);
  position: absolute;
  top: 0;
  left: 0;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--lead-yellow);
  color: #17191c;
  font-weight: 800;
}
.lead-area-links {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 28px;
}
.lead-area-links a {
  padding: 16px;
  border: 1px solid var(--lead-line);
  border-radius: 6px;
  background: #fff;
  color: var(--lead-ink);
  font-weight: 700;
  text-align: center;
}
.lead-area-links a:hover {
  border-color: var(--lead-blue);
  color: var(--lead-blue);
  text-decoration: none;
}
.lead-location-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.lead-location-list li {
  position: relative;
  padding: 10px 8px 10px 22px;
  border-bottom: 1px solid var(--lead-line);
  font-weight: 700;
}
.lead-location-list li::before {
  content: "";
  position: absolute;
  top: 17px;
  left: 4px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--lead-yellow);
}
.lead-location-note {
  margin: 24px 0 0;
  color: var(--lead-muted);
}
.lead-service {
  border-top: 3px solid var(--lead-yellow);
  padding: 22px 0 0;
}
.lead-service h3 {
  margin: 0 0 8px;
  font-size: 20px;
}
.lead-service p {
  margin: 0;
  color: var(--lead-muted);
}
.lead-homepage .lead-services--premium {
  gap: 16px;
}
.lead-homepage .lead-services--premium .lead-service {
  min-height: 286px;
  display: flex;
  flex-direction: column;
  padding: 26px;
  border: 1px solid var(--lead-line);
  border-top: 4px solid var(--lead-yellow);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(23, 25, 28, 0.06);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}
.lead-homepage .lead-services--premium .lead-service:hover {
  transform: translateY(-3px);
  border-color: #c8d2df;
  box-shadow: 0 16px 36px rgba(23, 25, 28, 0.1);
}
.lead-homepage .lead-services--premium img {
  width: 46px;
  height: 46px;
  margin-bottom: 22px;
  object-fit: contain;
}
.lead-homepage .lead-services--premium p {
  flex: 1;
}
.lead-homepage .lead-services--premium a {
  margin-top: 22px;
  font-weight: 800;
}
.lead-homepage .lead-services--premium a::after {
  content: " →";
}
.lead-home-promise {
  padding: 66px 0;
  background: #101820;
  color: #fff;
}
.lead-home-promise .container {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 36px;
  align-items: end;
}
.lead-home-promise .lead-kicker {
  grid-column: 1;
  margin-bottom: -22px;
}
.lead-home-promise h2 {
  max-width: 850px;
  margin: 0;
  color: #fff;
  font-size: 38px;
  line-height: 1.2;
}
.lead-home-promise .button {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: center;
}
.lead-reviews {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.lead-review {
  display: flex;
  min-height: 210px;
  flex-direction: column;
  padding: 22px;
  background: #fff;
  border: 1px solid #aeb8c4;
  border-radius: 8px;
  box-shadow: 0 8px 20px rgba(23, 25, 28, 0.07);
}
.lead-review__stars {
  margin-bottom: 12px;
  color: var(--lead-yellow);
  font-size: 20px;
}
.lead-review p {
  margin: 0 0 16px;
  flex: 1;
}
.lead-trust-note {
  margin: 26px 0 0;
  padding: 18px 0;
  border-top: 1px solid var(--lead-line);
  border-bottom: 1px solid var(--lead-line);
  font-weight: 700;
}
.lead-cert {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-top: 28px;
}
.lead-cert img {
  width: 112px;
  height: auto;
}
.lead-cert h3 {
  margin: 0 0 4px;
  font-size: 20px;
}
.lead-cert p {
  margin: 0;
  color: var(--lead-muted);
}
.lead-cert--featured {
  width: 100%;
  gap: 26px;
  padding: 18px 24px;
  background: #fff;
  border: 1px solid var(--lead-line);
  border-left: 4px solid var(--lead-yellow);
  border-radius: 8px;
  box-shadow: 0 8px 24px rgba(23, 25, 28, 0.06);
}
.lead-cert--featured img {
  width: 150px;
}
.lead-cert--featured .lead-cert__kicker {
  margin: 0 0 4px;
  color: var(--lead-muted);
  font-size: 13px;
  text-transform: uppercase;
}
.lead-cert--featured h3 {
  color: #e99500;
  font-size: 23px;
}
.lead-cert--featured .lead-cert__link {
  display: inline-block;
  margin-top: 4px;
  font-weight: 700;
}
.lead-contact {
  display: grid;
  grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
  gap: 54px;
  align-items: start;
}
.lead-contact--stacked {
  grid-template-columns: 1fr;
  gap: 28px;
}
.lead-contact--stacked .lead-contact__intro {
  max-width: 760px;
}
.lead-contact-details {
  display: block;
  max-width: 360px;
  padding: 24px 0;
  border-top: 1px solid var(--lead-line);
}
.lead-contact-details h3 {
  margin: 0 0 14px;
}
.lead-contact-details p {
  margin: 0 0 12px;
}
.lead-contact-details a {
  color: var(--lead-ink);
  font-weight: 700;
}
.lead-company-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--lead-line);
  border-bottom: 1px solid var(--lead-line);
}
.lead-company-facts p {
  margin: 0;
  padding: 18px 14px;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
}
.lead-contact__intro h2 {
  margin-top: 0;
  font-size: 36px;
  line-height: 1.2;
}
.lead-contact__intro ul {
  padding-left: 20px;
}
.lead-urgent {
  margin: 22px 0;
  padding: 16px;
  background: #fff;
  border-left: 4px solid var(--lead-yellow);
}
.lead-urgent p {
  margin: 0;
}
.lead-urgent a {
  font-weight: 800;
}
.lead-form {
  padding: 28px;
  background: #fff;
  border: 1px solid var(--lead-line);
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(23, 25, 28, 0.08);
}
.lead-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 16px;
}
.lead-form .field {
  margin-bottom: 16px;
}
.lead-form label:not(.lead-consent) {
  display: block;
  margin-bottom: 7px;
  font-weight: 700;
}
.lead-form input,
.lead-form select,
.lead-form textarea {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #bac2cc;
  border-radius: 6px;
  background: #fff;
  color: var(--lead-ink);
  font: inherit;
}
.lead-form input:focus,
.lead-form select:focus,
.lead-form textarea:focus {
  outline: 3px solid rgba(35, 102, 209, 0.18);
  border-color: var(--lead-blue);
}
.lead-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 18px;
  cursor: pointer;
}
.lead-consent input {
  width: 20px;
  height: 20px;
  margin: 2px 0 0;
  flex: 0 0 auto;
}
.lead-submit {
  width: 100%;
  min-height: 50px;
  border-radius: 6px;
}
.lead-note {
  margin: 10px 0 0;
  color: var(--lead-muted);
  text-align: center;
  font-size: 14px;
}
.lead-trap {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
}
.lead-thanks {
  padding: 24px;
  border-left: 4px solid var(--lead-yellow);
  background: #fff;
}
.lead-faq details {
  border-top: 1px solid var(--lead-line);
  padding: 18px 0;
}
.lead-faq details:last-child {
  border-bottom: 1px solid var(--lead-line);
}
.lead-faq summary {
  cursor: pointer;
  font-weight: 700;
}
.lead-faq details p {
  max-width: 780px;
  margin-bottom: 0;
  color: var(--lead-muted);
}
.lead-mobile-actions {
  display: none;
}
.legal-page {
  max-width: 760px;
  padding-top: 56px;
  padding-bottom: 80px;
}
.legal-page h1 {
  font-size: 40px;
  line-height: 1.2;
}
.legal-page h2 {
  margin-top: 32px;
  font-size: 22px;
}

@media (max-width: 760px) {
  .lead-utility .container {
    min-height: 34px;
    justify-content: center;
  }
  .lead-utility p {
    display: none;
  }
  .lead-nav a:not(.button) {
    display: none;
  }
  .lead-hero {
    min-height: 560px;
    padding: 54px 0;
    background-position: 62% center;
  }
  .lead-hero h1 {
    font-size: 38px;
  }
  .lead-hero .lead-intro {
    font-size: 18px;
  }
  .lead-hero__assurances {
    display: grid;
    gap: 8px;
  }
  .lead-proof .container,
  .lead-services,
  .lead-reviews,
  .lead-home-about,
  .lead-area-links,
  .lead-location-list,
  .lead-contact,
  .lead-form__grid {
    grid-template-columns: 1fr;
  }
  .lead-proof p {
    padding: 14px 8px;
    border-bottom: 1px solid var(--lead-line);
  }
  .lead-section {
    padding: 48px 0;
  }
  .lead-heading h2,
  .lead-contact__intro h2 {
    font-size: 30px;
  }
  .lead-contact {
    gap: 28px;
  }
  .lead-company-facts {
    grid-template-columns: 1fr 1fr;
  }
  .lead-homepage .lead-services--premium .lead-service {
    min-height: 0;
  }
  .lead-home-promise {
    padding: 48px 0;
  }
  .lead-home-promise .container {
    display: block;
  }
  .lead-home-promise .lead-kicker {
    margin-bottom: 10px;
  }
  .lead-home-promise h2 {
    margin-bottom: 24px;
    font-size: 30px;
  }
  .lead-company-facts p {
    text-align: left;
  }
  .lead-form {
    padding: 20px;
  }
  .lead-cert {
    align-items: flex-start;
  }
  .lead-cert img {
    width: 88px;
  }
  .lead-cert--featured {
    gap: 16px;
    padding: 16px;
  }
  .lead-cert--featured img {
    width: 108px;
  }
  .lead-cert--featured h3 {
    font-size: 19px;
  }
  .lead-page {
    padding-bottom: 76px;
  }
  .lead-mobile-actions {
    position: fixed;
    z-index: 30;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, 0.97);
    border-top: 1px solid var(--lead-line);
    box-shadow: 0 -4px 18px rgba(0, 0, 0, 0.08);
  }
  .lead-mobile-actions a {
    min-height: 48px;
    display: grid;
    place-items: center;
    border: 1px solid var(--lead-blue);
    border-radius: 6px;
    font-weight: 800;
  }
  .lead-mobile-actions a:last-child {
    background: var(--lead-blue);
    color: #fff;
  }
}

/* Startsida: kompetens och utförligare företagspresentation. */
.lead-home-about h3 {margin:28px 0 10px;font-size:22px;line-height:1.3;}
.lead-home-about p {line-height:1.7;}
@media (min-width: 761px) and (max-width: 1100px) {
 .lead-proof p {padding:20px 8px;}
 .lead-proof span {font-size:13px;}
}
@media (max-width:760px) {
 .lead-proof .container {grid-template-columns:repeat(2,minmax(0,1fr));}
 .lead-proof p:last-child {grid-column:1 / -1;}
}


/* Restored blue lightning preview. */
.lead-hero{position:relative;isolation:isolate;overflow:hidden;}.lead-hero>.container{position:relative;z-index:2;}
.hero-brand{position:absolute;z-index:1;top:40%;width:clamp(100px,13vw,210px);pointer-events:none;opacity:0;animation:brand-pulse 30s ease-in-out 1s both;}.hero-brand--left{left:9%;}.hero-brand--right{right:9%;}.hero-brand img{display:block;width:100%;height:auto;filter:invert(1);opacity:.8;}
.brand-spark{position:absolute;left:53%;top:16%;width:0;height:0;pointer-events:none;}
.brand-spark::before,.brand-spark::after,.spark-fork,.spark-trail,.spark-mirror{position:absolute;display:block;left:0;content:"";width:155px;height:77.5px;background:url("blue-lightning.png") center / contain no-repeat;mix-blend-mode:screen;filter:saturate(.5) contrast(1.65) brightness(1.15);transform-origin:4.5% 90%;mask-image:linear-gradient(125deg,transparent 8%,rgba(0,0,0,.4) 30%,black 70%);opacity:0;animation:fork-flicker 30s linear 1s both,discharge-shape 30s steps(1,end) 1s both;}
.brand-spark::before{top:0;transform:translate(-4.5%,-90%) rotate(-48deg);}.brand-spark::after{top:calc(clamp(100px,13vw,210px) * .155);transform:translate(-4.5%,-90%) rotate(128deg);}
.brand-spark::before,.brand-spark::after{animation-name:brand-spark,discharge-shape;}
.spark-fork{width:135px;height:67.5px;filter:saturate(.4) contrast(2) brightness(.9);}.spark-fork--up{top:0;transform:translate(-4.5%,-90%) rotate(-85deg) scaleY(.6);}.spark-fork--down{top:calc(clamp(100px,13vw,210px) * .155);transform:translate(-4.5%,-90%) rotate(164deg) scaleY(.65);}
.spark-trail,.spark-mirror{width:310px;height:155px;filter:saturate(.35) contrast(1.8) brightness(.85);mask-image:linear-gradient(125deg,transparent 10%,rgba(0,0,0,.25) 28%,black 70%);}
.spark-trail--up{top:0;transform:translate(-4.5%,-90%) rotate(-65deg);}.spark-trail--down{top:calc(clamp(100px,13vw,210px) * .155);transform:translate(-4.5%,-90%) rotate(145deg);}.spark-trail--fan-up{top:0;transform:translate(-4.5%,-90%) rotate(-25deg) scale(.8);}.spark-trail--fan-down{top:calc(clamp(100px,13vw,210px) * .155);transform:translate(-4.5%,-90%) rotate(110deg) scale(.85);}
.spark-mirror--1{top:0;transform:translate(-4.5%,-90%) rotate(-115deg);}.spark-mirror--2{top:0;transform:translate(-4.5%,-90%) rotate(-155deg) scale(.8);}.spark-mirror--3{top:calc(clamp(100px,13vw,210px) * .155);transform:translate(-4.5%,-90%) rotate(35deg);}.spark-mirror--4{top:calc(clamp(100px,13vw,210px) * .155);transform:translate(-4.5%,-90%) rotate(70deg) scale(.85);}
.spark-mirror--5,.spark-mirror--6{top:0;width:155px;height:77.5px;}.spark-mirror--5{transform:translate(-4.5%,-90%) rotate(-132deg);}.spark-mirror--6{transform:translate(-4.5%,-90%) rotate(-95deg) scale(.85);}.spark-mirror--7,.spark-mirror--8{top:calc(clamp(100px,13vw,210px) * .155);width:155px;height:77.5px;}.spark-mirror--7{transform:translate(-4.5%,-90%) rotate(52deg);}.spark-mirror--8{transform:translate(-4.5%,-90%) rotate(16deg) scale(.85);}
.spark-fork--down,.spark-trail--fan-up,.spark-mirror--2,.spark-mirror--7{animation-delay:1.07s,1s;}.spark-trail--down,.spark-mirror--4,.spark-mirror--6{animation-delay:.96s,1s;}
@keyframes brand-pulse{0%{opacity:0;scale:.98}8%,25%,45%,65%{opacity:.85;scale:1}16%,35%,55%{opacity:.6;scale:.99}76%{opacity:.75}86%{opacity:.45}94%{opacity:.15}100%{opacity:0;scale:1}}
@keyframes discharge-shape{0%{scale:.9 1;rotate:-4deg}20%{scale:1.08 .85;rotate:5deg}35%{scale:.82 1.12;rotate:-7deg}53%{scale:1 .95;rotate:3deg}70%{scale:.93 1.08;rotate:-2deg}83%{scale:1.06 .9;rotate:6deg}93%{scale:.86 1;rotate:-3deg}}
@keyframes brand-spark{0%,7%{opacity:0}7.2%{opacity:1}7.7%{opacity:.3}8.5%,10.5%{opacity:0}10.7%{opacity:.55}11%{opacity:.15}11.8%,22%{opacity:0}22.2%{opacity:.9}22.7%{opacity:.2}23.6%,37%{opacity:0}37.2%{opacity:1}37.7%{opacity:.3}38.6%,39.3%{opacity:0}39.5%{opacity:.5}40%{opacity:.1}40.8%,57%{opacity:0}57.2%{opacity:1}57.8%{opacity:.25}58.8%,72%{opacity:0}72.2%{opacity:.85}72.8%{opacity:.2}73.8%,85%{opacity:0}85.2%{opacity:.65}85.7%{opacity:.15}86.8%,94%{opacity:0}94.2%{opacity:.4}94.7%{opacity:.1}96%,100%{opacity:0}}
@keyframes fork-flicker{0%,7%{opacity:0}7.3%{opacity:.8}7.6%{opacity:.15}8.3%,10.5%{opacity:0}10.8%{opacity:.4}11.4%,22%{opacity:0}22.3%{opacity:.7}22.7%{opacity:.1}23.3%,37%{opacity:0}37.3%{opacity:.85}37.6%{opacity:.2}38.3%,39.3%{opacity:0}39.6%{opacity:.35}40.5%,57%{opacity:0}57.3%{opacity:.8}57.7%{opacity:.2}58.5%,72%{opacity:0}72.3%{opacity:.65}72.7%{opacity:.1}73.5%,85%{opacity:0}85.3%{opacity:.45}86.5%,94%{opacity:0}94.3%{opacity:.25}95.6%,100%{opacity:0}}
.spark-afterglow{position:absolute;left:-40px;top:-35px;width:80px;height:100px;background:radial-gradient(ellipse,rgba(155,204,255,.22),transparent 65%);mix-blend-mode:screen;opacity:0;animation:light-afterglow 30s linear 1s both;}
@keyframes light-afterglow{0%,7%,22%,37%,57%,72%,85%,94%,100%{opacity:0}7.5%,22.5%,37.5%,57.5%,72.5%{opacity:.8}11%,26%,41%,61%,76%{opacity:0}85.5%{opacity:.5}89%{opacity:0}94.5%{opacity:.3}99%{opacity:0}}
.spark-trail--up,.spark-mirror--3{animation:lingering-discharge 30s linear 1s both,discharge-shape 30s steps(1,end) 1s both;}
@keyframes lingering-discharge{0%,22%{opacity:0}22.3%{opacity:.75}23%{opacity:.5}24.5%{opacity:.65}26%{opacity:.35}28%{opacity:.12}30%,57%{opacity:0}57.3%{opacity:.8}58%{opacity:.55}59.5%{opacity:.7}61%{opacity:.4}63%{opacity:.13}65%,85%{opacity:0}85.3%{opacity:.5}86.5%{opacity:.4}88%{opacity:.25}90%{opacity:.08}92%,100%{opacity:0}}
@media(max-width:760px){.hero-brand{top:auto;bottom:12px;width:105px;}.hero-brand--left{left:10%;}.hero-brand--right{right:10%;}.brand-spark::before,.brand-spark::after{width:100px;height:50px;}.spark-fork{width:90px;height:45px;}.spark-trail,.spark-mirror{width:200px;height:100px;}.spark-mirror--5,.spark-mirror--6,.spark-mirror--7,.spark-mirror--8{width:100px;height:50px;}.brand-spark::after,.spark-fork--down,.spark-trail--down,.spark-trail--fan-down,.spark-mirror--3,.spark-mirror--4,.spark-mirror--7,.spark-mirror--8{top:16px;}}
@media(prefers-reduced-motion:reduce){.hero-brand{display:none;animation:none;}.brand-spark::before,.brand-spark::after,.spark-fork,.spark-trail,.spark-mirror,.spark-afterglow{animation:none;}}

/* Slower individual strikes, without rapid double flashes. */
@keyframes brand-spark{0%,7%{opacity:0}8%{opacity:1}10%{opacity:.7}12%{opacity:.3}14%,24%{opacity:0}25%{opacity:.9}27%{opacity:.6}29%{opacity:.25}31%,42%{opacity:0}43%{opacity:1}45%{opacity:.65}47%{opacity:.25}49%,60%{opacity:0}61%{opacity:.9}63%{opacity:.6}65%{opacity:.2}67%,77%{opacity:0}78%{opacity:.7}80%{opacity:.4}82%{opacity:.15}84%,91%{opacity:0}92%{opacity:.4}94%{opacity:.2}97%,100%{opacity:0}}
@keyframes fork-flicker{0%,7%{opacity:0}8%{opacity:.8}10%{opacity:.5}12%{opacity:.2}14%,24%{opacity:0}25%{opacity:.75}27%{opacity:.45}29%{opacity:.15}31%,42%{opacity:0}43%{opacity:.85}45%{opacity:.5}47%{opacity:.15}49%,60%{opacity:0}61%{opacity:.75}63%{opacity:.4}65%{opacity:.15}67%,77%{opacity:0}78%{opacity:.55}80%{opacity:.3}82%{opacity:.1}84%,91%{opacity:0}92%{opacity:.3}94%{opacity:.1}97%,100%{opacity:0}}

/* Extended reach above and below each logo, with softer fading outer tips. */
.brand-spark::before,.brand-spark::after{width:205px;height:102.5px;}
.spark-fork{width:180px;height:90px;}
.spark-trail,.spark-mirror{width:410px;height:205px;}
.spark-mirror--5,.spark-mirror--6,.spark-mirror--7,.spark-mirror--8{width:205px;height:102.5px;}
.brand-spark::before,.brand-spark::after,.spark-fork,.spark-trail,.spark-mirror{mask-image:linear-gradient(125deg,transparent 14%,rgba(0,0,0,.12) 27%,rgba(0,0,0,.55) 46%,black 72%);}
@media(max-width:760px){.brand-spark::before,.brand-spark::after{width:130px;height:65px;}.spark-fork{width:115px;height:57.5px;}.spark-trail,.spark-mirror{width:265px;height:132.5px;}.spark-mirror--5,.spark-mirror--6,.spark-mirror--7,.spark-mirror--8{width:130px;height:65px;}}

/* Keep the luminous root fixed to the symbol while branches vary farther away. */
.hero-brand{--symbol-height:calc(clamp(100px,13vw,210px) * .148);}
.brand-spark{left:53%;top:16.1%;}
.brand-spark::before,.brand-spark::after,.spark-fork,.spark-trail,.spark-mirror{transform-origin:4.5% 90%;animation-name:fork-flicker;animation-duration:30s;animation-timing-function:linear;animation-delay:1s;animation-fill-mode:both;scale:1;rotate:0deg;}
.brand-spark::before,.brand-spark::after{animation-name:brand-spark;}
.brand-spark::after,.spark-fork--down,.spark-trail--down,.spark-trail--fan-down,.spark-mirror--3,.spark-mirror--4,.spark-mirror--7,.spark-mirror--8{top:var(--symbol-height);}
.spark-trail--up,.spark-mirror--3{animation-name:lingering-discharge;}
@media(max-width:760px){.hero-brand{--symbol-height:15.54px;}}

/* Responsive framing: exclude the outlet, retain original photograph. */
.lead-hero{background-size:100% 100%,var(--photo-size,cover);background-position:center,var(--photo-position,center);}
@media(max-width:760px){.lead-hero{padding-bottom:190px;}.hero-brand{bottom:76px;left:10%;}.brand-spark::before,.brand-spark::after,.spark-fork,.spark-trail,.spark-mirror{width:140px;height:70px;}}
/* Repeat with a quiet pause instead of disappearing for the rest of the visit. */
.hero-brand{animation-iteration-count:infinite;}
.brand-spark::before,.brand-spark::after,.spark-fork,.spark-trail,.spark-mirror,.spark-afterglow{animation-iteration-count:infinite;}
@media(prefers-reduced-motion:reduce){.hero-brand{display:none;}.brand-spark::before,.brand-spark::after,.spark-fork,.spark-trail,.spark-mirror,.spark-afterglow{animation:none;}}

@media(max-width:760px){.lead-hero{padding-bottom:100px;}.hero-brand{bottom:58px;}.brand-spark::before,.brand-spark::after,.spark-fork,.spark-trail,.spark-mirror{width:95px;height:47.5px;}}

/* Mobile composition: readable copy and a visible, separate logo/lightning area. */
@media(max-width:760px){
 .lead-hero{padding-top:32px;padding-bottom:150px;}
 .lead-hero h1{font-size:34px;}
 .lead-hero .lead-kicker{font-size:13px;}
 .lead-hero .lead-intro{font-size:17px;line-height:1.5;margin-bottom:20px;}
 .lead-hero__assurances{margin-top:18px;padding-top:8px;font-size:13px;}
 .hero-brand{display:block;width:140px;left:26px;bottom:55px;--symbol-height:20.72px;animation:mobile-logo 12s ease-in-out infinite;}
 .hero-brand img{opacity:.95;}
 .brand-spark::before,.brand-spark::after,.spark-fork,.spark-trail,.spark-mirror{width:125px;height:62.5px;filter:saturate(.6) contrast(1.6) brightness(1.6);animation:mobile-strikes 12s linear infinite;}
 .spark-fork{width:100px;height:50px;}
 .spark-afterglow{animation:mobile-strikes 12s linear infinite;}
}
@keyframes mobile-logo{0%,100%{opacity:.75;scale:1}40%{opacity:1;scale:1.015}70%{opacity:.85;scale:1}}
@keyframes mobile-strikes{0%{opacity:.9}6%{opacity:.65}14%{opacity:.2}22%,33%{opacity:0}34%{opacity:1}40%{opacity:.65}48%{opacity:.2}57%,68%{opacity:0}69%{opacity:.9}76%{opacity:.55}84%{opacity:.15}92%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.hero-brand{display:none;animation:none;}.brand-spark::before,.brand-spark::after,.spark-fork,.spark-trail,.spark-mirror,.spark-afterglow{animation:none;}}

@media(max-width:760px){.lead-hero{padding-bottom:200px;}.brand-spark::after,.spark-fork--down,.spark-trail--down,.spark-mirror--3{width:70px;height:35px;}}

/* Finite presentation on both layouts; visible logo fallback without motion. */
.hero-brand{opacity:.8;animation-iteration-count:1;animation-fill-mode:both;}
.brand-spark::before,.brand-spark::after,.spark-fork,.spark-trail,.spark-mirror,.spark-afterglow{animation-iteration-count:1;animation-fill-mode:both;}
@media(max-width:760px){
 .hero-brand{animation:mobile-logo-finite 30s ease-in-out 1 both;}
 .brand-spark::before,.brand-spark::after,.spark-fork,.spark-trail,.spark-mirror,.spark-afterglow{animation:mobile-strikes 12s linear 0s 2 both;}
}
@keyframes mobile-logo-finite{0%{opacity:.75}15%,40%,65%{opacity:1}25%,55%{opacity:.8}80%{opacity:.7}90%{opacity:.35}100%{opacity:0}}
@keyframes quiet-logo{0%,80%{opacity:.8}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){
 .hero-brand{display:block;animation:quiet-logo 30s linear 1 both;}
 .brand-spark{display:none;}
 .brand-spark::before,.brand-spark::after,.spark-fork,.spark-trail,.spark-mirror,.spark-afterglow{animation:none;}
}

/* Hero layout only: decoration and copy occupy separate columns. */
.hero-decoration {display:contents;}
@media (min-width:761px) {
 .lead-hero {
  grid-template-columns:minmax(0,1fr) minmax(0,3fr);
  column-gap:clamp(1.5rem,4vw,4rem);
  align-items:center;
  padding-inline:max(1.25rem,calc((100% - 80rem)/2));
 }
 .hero-decoration {
  display:grid;place-items:center;align-self:stretch;
  grid-column:1;grid-row:1;min-width:0;
  margin-block:-4.5rem;overflow:hidden;position:relative;
 }
 .hero-decoration .hero-brand {
  position:relative;top:auto;left:auto;right:auto;bottom:auto;
  width:clamp(6.25rem,13vw,13.125rem);
 }
 .lead-hero > .container {
  grid-column:2;grid-row:1;width:100%;min-width:0;
  max-width:none;padding-inline:0;
 }
 .lead-hero__copy {min-width:0;}
}
/* A still illustration remains visible when the visitor requests reduced motion. */
@media (min-width:761px) and (prefers-reduced-motion:reduce) {
 .brand-spark {display:block;}
 .brand-spark::before,.brand-spark::after,.spark-fork,.spark-trail,.spark-mirror {animation:none;opacity:.45;}
}

/* Keep decoration on the photo's empty left side, using the same image coordinates. */
@media (min-width:761px) {
 .hero-decoration {transform:translateX(var(--decor-shift,0px));}
}
@media (max-width:760px) {
 .hero-decoration {display:grid;place-items:center;position:absolute;left:1rem;bottom:3.5rem;
  width:min(8.75rem,calc(var(--decor-safe-width,10.75rem) - 2rem));height:4rem;overflow:hidden;}
 .hero-decoration .hero-brand {position:relative;top:auto;bottom:auto;left:auto;width:100%;}
 .hero-decoration .brand-spark {display:none;}
}

/* Mobile only: centered photo and lightning in the free lower-right area. */
@media (max-width:760px) {
 .lead-hero {background-position:center,center top;}
 .hero-decoration {left:auto;right:1rem;width:min(28vw,7rem);height:6rem;bottom:4rem;}
 .hero-decoration .brand-spark {display:block;}
}
