:root{--black:#0b0b0b;--black2:#12110f;--white:#f7f5f1;--muted:#bdb4a7;--gold:#a68a58;--gold2:#c4a66f;--line:rgba(247,245,241,.13);--shadow:0 30px 100px rgba(0,0,0,.42)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--white);font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.header{position:fixed;z-index:50;top:0;left:0;right:0;height:78px;padding:14px clamp(18px,4vw,64px);display:flex;align-items:center;justify-content:space-between;gap:28px;background:linear-gradient(180deg,rgba(11,11,11,.92),rgba(11,11,11,.5),transparent);backdrop-filter:blur(14px)}.brand img{width:178px;height:auto}.nav{display:flex;gap:32px;color:rgba(247,245,241,.8);font-size:14px}.nav a:hover{color:var(--gold2)}.header-phone{border:1px solid rgba(166,138,88,.55);border-radius:999px;padding:10px 16px;font-weight:700}.hero{min-height:100vh;position:relative;display:flex;align-items:center;overflow:hidden;padding:130px clamp(22px,5vw,90px) 76px}.hero-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.97) 0%,rgba(5,5,5,.88) 27%,rgba(5,5,5,.38) 52%,rgba(5,5,5,.03) 100%),url('/assets/hero-clean-1448.webp') center right/cover no-repeat}.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 15% 22%,rgba(166,138,88,.16),transparent 30%)}.hero-content{position:relative;z-index:2;max-width:720px}.hero-logo{width:min(430px,78vw);margin-bottom:34px}.kicker,.overline{text-transform:uppercase;letter-spacing:.22em;color:var(--gold2);font-weight:800;font-size:12px}.hero h1,.intro h2,.section h2{font-family:Manrope,Inter,sans-serif;line-height:1.03;letter-spacing:-.055em;margin:18px 0 24px;font-size:clamp(42px,6vw,84px)}.hero h1 span,.intro h2 span{color:var(--gold2)}.hero-text{max-width:570px;color:var(--muted);font-size:18px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 24px;border-radius:999px;font-weight:800;border:1px solid var(--line);transition:.25s}.btn.primary{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#111;border:0}.btn.ghost{background:rgba(247,245,241,.04)}.btn:hover{transform:translateY(-2px);box-shadow:0 20px 50px rgba(0,0,0,.28)}.section{padding:clamp(78px,9vw,130px) clamp(22px,6vw,96px)}.intro{max-width:1180px}.intro h2{font-size:clamp(36px,5vw,70px);max-width:1050px}.intro p:not(.overline){font-size:20px;color:var(--muted);max-width:780px}.section-head{max-width:820px;margin-bottom:42px}.section h2{font-size:clamp(34px,4.8vw,64px)}.standard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));border:1px solid var(--line);border-radius:28px;padding:30px;min-height:280px}.card span{color:var(--gold2);font-weight:800}.card h3{font-size:24px;margin:70px 0 12px}.card p,.split-copy p,.step p{color:var(--muted)}.split{display:grid;grid-template-columns:.92fr 1.08fr;gap:28px;align-items:stretch}.split-copy{background:#11100f;border:1px solid var(--line);border-radius:34px;padding:48px}.image-panel{border-radius:34px;overflow:hidden;min-height:540px;box-shadow:var(--shadow)}.image-panel img{width:100%;height:100%;object-fit:cover}.service-list{list-style:none;margin:34px 0 0;padding:0;display:grid;gap:13px}.service-list li{padding:14px 0;border-bottom:1px solid var(--line)}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.step{border-top:1px solid var(--gold);padding-top:24px}.step b{color:var(--gold2);font-size:34px}.step h3{font-size:24px}.cta{margin:0 clamp(22px,6vw,96px);border-radius:38px;background:linear-gradient(135deg,#efe6d7,#a68a58);color:#111;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}.cta h2{margin:0;font-size:clamp(34px,5vw,66px)}.cta p{max-width:650px}.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px}.contact-card,.contact-actions{background:#11100f;border:1px solid var(--line);border-radius:34px;padding:42px}.contact-actions{display:grid;gap:14px}.contact-actions a,.hours{padding:20px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.035)}.contact-actions span{display:block;color:var(--gold2);font-size:12px;text-transform:uppercase;letter-spacing:.18em;margin-bottom:8px}.contact-actions b{font-size:22px}.footer{padding:34px clamp(22px,6vw,96px);border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--muted)}.footer img{width:160px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}@media(max-width:980px){.nav{display:none}.hero{min-height:860px}.hero-bg{background:linear-gradient(180deg,rgba(5,5,5,.92) 0%,rgba(5,5,5,.7) 44%,rgba(5,5,5,.08) 100%),url('/assets/hero-clean-1448.webp') center/cover no-repeat}.standard-grid,.timeline{grid-template-columns:repeat(2,1fr)}.split,.contact,.cta{grid-template-columns:1fr}.image-panel{min-height:420px}}@media(max-width:620px){.header{height:66px;padding:12px 16px}.brand img{width:128px}.header-phone{font-size:13px;padding:8px 10px}.hero{min-height:820px;padding:100px 18px 54px;align-items:flex-start}.hero-logo{width:265px}.hero h1{font-size:44px}.hero-text{font-size:16px}.hero-actions .btn{width:100%}.section{padding:70px 18px}.standard-grid,.timeline{grid-template-columns:1fr}.split-copy,.contact-card,.contact-actions{padding:28px;border-radius:26px}.cta{margin:0 18px;padding:32px}.footer{flex-direction:column;align-items:flex-start}.service-list li{font-size:15px}}

.header-logo img, .brand-logo img, img.logo { max-height: 54px; width: auto; object-fit: contain; }


/* SEMPRO v5 — minimalizm premium: jedno logo tylko w menu */
.hero-logo,
.hero__logo,
.hero-brand,
.hero__brand,
.brand-mark,
.hero .logo,
.hero img[src*="logo-sempro"] {
  display: none !important;
}

.hero-content,
.hero__content {
  padding-top: clamp(48px, 8vw, 96px);
}

.hero-title,
.hero__title {
  letter-spacing: -0.03em;
}

.hero-subtitle,
.hero__subtitle {
  max-width: 560px;
}


/* SEMPRO v5.1 — HERO ONLY */
.hero{position:relative!important;min-height:100svh!important;display:flex!important;align-items:center!important;overflow:hidden!important;isolation:isolate!important;padding-top:clamp(110px,9vw,150px)!important;padding-bottom:clamp(56px,7vw,92px)!important;background:#0b0b0b!important}
.hero::before{content:""!important;position:absolute!important;inset:0!important;z-index:0!important;background-image:linear-gradient(90deg,rgba(6,6,6,.93) 0%,rgba(6,6,6,.72) 30%,rgba(6,6,6,.24) 58%,rgba(6,6,6,.08) 100%),linear-gradient(180deg,rgba(6,6,6,.34) 0%,rgba(6,6,6,.06) 42%,rgba(6,6,6,.72) 100%),url("/assets/hero-clean-1448.webp")!important;background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important}
.hero::after{content:""!important;position:absolute!important;inset:0!important;z-index:1!important;pointer-events:none!important;background:radial-gradient(circle at 18% 40%,rgba(183,154,104,.16),transparent 34%),linear-gradient(110deg,transparent 0%,rgba(255,255,255,.03) 44%,rgba(183,154,104,.07) 53%,transparent 64%)!important}
.hero>*{position:relative!important;z-index:2!important}.hero-bg,.hero-logo,.hero__logo,.hero-brand,.hero__brand,.hero-visual{display:none!important}
.hero-content,.hero__content{max-width:760px!important;padding-left:clamp(24px,5vw,84px)!important;padding-right:clamp(24px,5vw,84px)!important}
.hero h1,.hero-title,.hero__title{font-size:clamp(3.3rem,7vw,7rem)!important;line-height:.92!important;letter-spacing:-.06em!important;max-width:10.5ch!important;text-shadow:0 14px 40px rgba(0,0,0,.35)!important}
.hero p,.hero-subtitle,.hero__subtitle{max-width:50ch!important;font-size:clamp(1.02rem,1.2vw,1.22rem)!important;line-height:1.58!important;text-shadow:0 10px 24px rgba(0,0,0,.28)!important}
.hero-actions{display:flex!important;flex-wrap:wrap!important;gap:16px!important;align-items:center!important;margin-top:clamp(24px,3vw,40px)!important}
.hero .btn,.hero a[class*="btn"]{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:56px!important;padding:0 30px!important;border-radius:4px!important;font-size:.82rem!important;font-weight:800!important;letter-spacing:.045em!important;text-transform:uppercase!important;text-decoration:none!important;white-space:nowrap!important;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s cubic-bezier(.22,1,.36,1),border-color .28s cubic-bezier(.22,1,.36,1),background .28s cubic-bezier(.22,1,.36,1),color .28s cubic-bezier(.22,1,.36,1)!important}
.hero .btn::before,.hero .btn::after,.hero a[class*="btn"]::before,.hero a[class*="btn"]::after{display:none!important;content:none!important}
.hero .btn.primary{color:#090909!important;background:linear-gradient(135deg,#D8B46B 0%,#F1D38A 50%,#B89145 100%)!important;border:1px solid rgba(242,213,139,.72)!important;box-shadow:0 16px 40px rgba(0,0,0,.28),inset 0 0 0 1px rgba(255,255,255,.14)!important}
.hero .btn.ghost{color:#F7F5F1!important;background:rgba(8,8,8,.42)!important;border:1px solid rgba(216,180,107,.68)!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important}
@media (hover:hover) and (prefers-reduced-motion:no-preference){.hero .btn:hover,.hero a[class*="btn"]:hover{transform:translateY(-3px)!important;box-shadow:0 22px 52px rgba(0,0,0,.34),0 0 28px rgba(216,180,107,.18)!important}}
@media (min-width:981px) and (max-width:1180px){.hero{min-height:82svh!important}.hero::before{background-position:58% center!important}.hero h1,.hero-title,.hero__title{font-size:clamp(3rem,5.1vw,4.7rem)!important;line-height:.94!important}.hero p,.hero-subtitle,.hero__subtitle{font-size:1.04rem!important}}
@media (min-width:768px) and (max-width:980px){.hero{min-height:78svh!important;align-items:flex-end!important}.hero::before{background-image:linear-gradient(180deg,rgba(6,6,6,.28) 0%,rgba(6,6,6,.12) 40%,rgba(6,6,6,.88) 100%),url("/assets/hero-clean-1448.webp")!important;background-position:62% center!important}.hero h1,.hero-title,.hero__title{font-size:clamp(3rem,7vw,4.5rem)!important}}
@media (max-width:767px){.hero{min-height:86svh!important;align-items:flex-end!important;padding-top:104px!important;padding-bottom:42px!important}.hero::before{background-image:linear-gradient(180deg,rgba(6,6,6,.42) 0%,rgba(6,6,6,.16) 38%,rgba(6,6,6,.92) 100%),url("/assets/hero-clean-1448.webp")!important;background-position:64% center!important}.hero h1,.hero-title,.hero__title{font-size:clamp(2.65rem,12vw,4rem)!important;max-width:9.5ch!important}.hero-actions{flex-direction:column!important;align-items:stretch!important}.hero .btn,.hero a[class*="btn"]{width:100%!important;min-height:54px!important}}


/* SEMPRO v5.5 — clean images pack */
/* Hero must use clean image without text */
.hero::before{
  background-image:
    linear-gradient(90deg, rgba(6,6,6,.93) 0%, rgba(6,6,6,.72) 30%, rgba(6,6,6,.24) 58%, rgba(6,6,6,.08) 100%),
    linear-gradient(180deg, rgba(6,6,6,.34) 0%, rgba(6,6,6,.06) 42%, rgba(6,6,6,.72) 100%),
    url("/assets/hero-clean-1448.webp") !important;
}

@media (min-width:768px) and (max-width:980px){
  .hero::before{
    background-image:
      linear-gradient(180deg, rgba(6,6,6,.28) 0%, rgba(6,6,6,.12) 40%, rgba(6,6,6,.88) 100%),
      url("/assets/hero-clean-1448.webp") !important;
  }
}
@media (max-width:767px){
  .hero::before{
    background-image:
      linear-gradient(180deg, rgba(6,6,6,.42) 0%, rgba(6,6,6,.16) 38%, rgba(6,6,6,.92) 100%),
      url("/assets/hero-clean-1448.webp") !important;
  }
}


/* =========================================================
   SEMPRO v5.6 — PREMIUM MOTION
   Zakres: hero (Ken Burns + parallax + wejście sekwencyjne)
   oraz płynny sticky header. Bez zmian w pozostałych sekcjach.
   ========================================================= */

/* --- Sticky header: transparent at top, dark glass after scroll --- */
.header {
  height: 82px !important;
  background: linear-gradient(
    180deg,
    rgba(11,11,11,.42) 0%,
    rgba(11,11,11,.18) 62%,
    rgba(11,11,11,0) 100%
  ) !important;
  border-bottom: 1px solid transparent;
  box-shadow: none;
  -webkit-backdrop-filter: blur(0);
  backdrop-filter: blur(0);
  transition:
    height .42s cubic-bezier(.22,1,.36,1),
    background-color .42s ease,
    border-color .42s ease,
    box-shadow .42s ease,
    -webkit-backdrop-filter .42s ease,
    backdrop-filter .42s ease !important;
}

.header .brand img {
  transition: width .42s cubic-bezier(.22,1,.36,1), opacity .3s ease !important;
}

.header .nav a,
.header .header-phone {
  transition:
    color .25s ease,
    border-color .25s ease,
    background-color .25s ease,
    transform .25s ease,
    padding .42s cubic-bezier(.22,1,.36,1) !important;
}

.header.is-scrolled {
  height: 68px !important;
  background: rgba(11,11,11,.82) !important;
  border-bottom-color: rgba(247,245,241,.09) !important;
  box-shadow: 0 14px 44px rgba(0,0,0,.22) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.12) !important;
  backdrop-filter: blur(18px) saturate(1.12) !important;
}

.header.is-scrolled .brand img {
  width: 158px !important;
}

.header.is-scrolled .header-phone {
  background: rgba(166,138,88,.08);
  border-color: rgba(196,166,111,.68);
}

/* --- Hero background layer: reuse existing .hero-bg as a robust motion layer --- */
.hero {
  --hero-parallax-y: 0px;
}

.hero::before {
  display: none !important;
  content: none !important;
  background: none !important;
}

.hero-bg {
  display: block !important;
  position: absolute !important;
  inset: -5% !important;
  z-index: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  transform: translate3d(0, var(--hero-parallax-y), 0) !important;
  will-change: transform;
  background: #0b0b0b !important;
}

.hero-bg::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  background-image: url("/assets/hero-clean-1448.webp") !important;
  background-size: cover !important;
  background-position: 58% center !important;
  background-repeat: no-repeat !important;
  transform: scale(1.02);
  transform-origin: 62% 50%;
  will-change: transform;
  animation: semproKenBurns 24s ease-in-out infinite alternate;
}

.hero-bg::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(90deg,
      rgba(6,6,6,.94) 0%,
      rgba(6,6,6,.73) 30%,
      rgba(6,6,6,.25) 58%,
      rgba(6,6,6,.08) 100%),
    linear-gradient(180deg,
      rgba(6,6,6,.34) 0%,
      rgba(6,6,6,.06) 42%,
      rgba(6,6,6,.72) 100%),
    radial-gradient(circle at 18% 40%,
      rgba(183,154,104,.16),
      transparent 34%) !important;
}

/* Existing hero overlay remains subtle and above the moving background. */
.hero::after {
  z-index: 1 !important;
}

.hero > *:not(.hero-bg) {
  position: relative !important;
  z-index: 2 !important;
}

/* --- Sequential hero entrance --- */
.hero-step {
  opacity: 0;
  transform: translate3d(0, 22px, 0);
  filter: blur(4px);
  animation: semproHeroEntrance .92s cubic-bezier(.22,1,.36,1) forwards;
}

.hero-step-1 { animation-delay: .12s; }
.hero-step-2 { animation-delay: .28s; }
.hero-step-3 { animation-delay: .48s; }
.hero-step-4 { animation-delay: .68s; }

@keyframes semproHeroEntrance {
  0% {
    opacity: 0;
    transform: translate3d(0, 22px, 0);
    filter: blur(4px);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    filter: blur(0);
  }
}

@keyframes semproKenBurns {
  0% {
    transform: scale(1.02) translate3d(0, 0, 0);
  }
  100% {
    transform: scale(1.085) translate3d(-1.15%, -.55%, 0);
  }
}

/* iPad: keep Ken Burns, no JS parallax. */
@media (min-width: 768px) and (max-width: 980px) {
  .hero-bg::before {
    background-position: 62% center !important;
    transform-origin: 66% 50%;
  }

  .hero-bg::after {
    background:
      linear-gradient(180deg,
        rgba(6,6,6,.28) 0%,
        rgba(6,6,6,.12) 40%,
        rgba(6,6,6,.88) 100%),
      radial-gradient(circle at 24% 62%,
        rgba(183,154,104,.14),
        transparent 36%) !important;
  }
}

/* Mobile: calm motion and stable header sizing. */
@media (max-width: 767px) {
  .header {
    height: 66px !important;
  }

  .header.is-scrolled {
    height: 60px !important;
  }

  .header.is-scrolled .brand img {
    width: 120px !important;
  }

  .hero-bg {
    inset: -3% !important;
  }

  .hero-bg::before {
    background-position: 64% center !important;
    transform-origin: 68% 50%;
    animation-duration: 28s;
  }

  .hero-bg::after {
    background:
      linear-gradient(180deg,
        rgba(6,6,6,.42) 0%,
        rgba(6,6,6,.16) 38%,
        rgba(6,6,6,.92) 100%),
      radial-gradient(circle at 20% 70%,
        rgba(183,154,104,.14),
        transparent 34%) !important;
  }

  .hero-step {
    transform: translate3d(0, 16px, 0);
  }
}

/* Accessibility and battery: no motion when the user asks for reduced motion. */
@media (prefers-reduced-motion: reduce) {
  .hero-bg,
  .hero-bg::before {
    animation: none !important;
    transform: none !important;
    will-change: auto !important;
  }

  .hero-step {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    animation: none !important;
  }

  .header,
  .header * {
    transition-duration: .01ms !important;
  }
}


/* =========================================================
   SEMPRO v5.7 — DLACZEGO SEMPRO / ANIMOWANE LICZNIKI
   Liczby są oparte wyłącznie na strukturze i treści strony:
   4 filary, 6 obszarów, 4 etapy, 1 spójna realizacja.
   ========================================================= */

.why-sempro {
  position: relative;
  overflow: hidden;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at 82% 18%, rgba(166,138,88,.10), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,.018), rgba(255,255,255,0));
}

.why-sempro::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(110deg,
      transparent 0%,
      rgba(255,255,255,.025) 44%,
      rgba(166,138,88,.055) 52%,
      transparent 63%);
  opacity: .72;
}

.why-sempro > * {
  position: relative;
  z-index: 1;
}

.why-sempro .section-head {
  max-width: 900px;
}

.why-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: 42px;
  background: var(--line);
  border: 1px solid var(--line);
}

.why-stat {
  min-height: 300px;
  padding: clamp(28px, 3vw, 42px);
  background:
    linear-gradient(180deg, rgba(17,17,17,.98), rgba(11,11,11,.98));
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  overflow: hidden;
  transition:
    transform .36s cubic-bezier(.22,1,.36,1),
    background-color .36s ease,
    box-shadow .36s ease;
}

.why-stat::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 24% 16%, rgba(196,166,111,.11), transparent 34%);
  opacity: .72;
  transition: opacity .36s ease, transform .6s cubic-bezier(.22,1,.36,1);
}

.why-number {
  display: block;
  position: relative;
  z-index: 1;
  margin-bottom: auto;
  font-family: Manrope, sans-serif;
  font-size: clamp(4rem, 7vw, 7.2rem);
  line-height: .84;
  letter-spacing: -.075em;
  font-variant-numeric: tabular-nums;
  color: var(--gold-light);
  text-shadow: 0 18px 48px rgba(0,0,0,.28);
}

.why-stat h3 {
  position: relative;
  z-index: 1;
  margin: 56px 0 10px;
  font-size: 1.08rem;
  letter-spacing: -.015em;
}

.why-stat p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--muted);
  line-height: 1.68;
  max-width: 28ch;
}

@media (hover: hover) and (pointer: fine) {
  .why-stat:hover {
    transform: translateY(-6px);
    z-index: 2;
    box-shadow: 0 26px 70px rgba(0,0,0,.28);
  }

  .why-stat:hover::before {
    opacity: 1;
    transform: scale(1.08);
  }
}

@media (max-width: 980px) {
  .why-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .why-stat {
    min-height: 270px;
  }
}

@media (max-width: 600px) {
  .why-grid {
    grid-template-columns: 1fr;
    margin-top: 30px;
  }

  .why-stat {
    min-height: 220px;
    padding: 28px 24px;
  }

  .why-number {
    font-size: clamp(4rem, 20vw, 6rem);
  }

  .why-stat h3 {
    margin-top: 38px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .why-stat {
    transition: none !important;
  }
}


/* =========================================================
   SEMPRO v5.8 — LUXURY IMAGE REVEAL
   Zakres: eleganckie odsłanianie zdjęć podczas przewijania.
   Bez zmian w treści i układzie strony.
   ========================================================= */

.image-reveal {
  --reveal-progress: 0%;
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background: #111;
  clip-path: inset(0 100% 0 0);
  opacity: 1;
  transform: translateZ(0);
  transition:
    clip-path 1.15s cubic-bezier(.22,1,.36,1);
  will-change: clip-path;
}

.image-reveal::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background:
    linear-gradient(
      90deg,
      rgba(183,154,104,0) 0%,
      rgba(220,195,145,.70) 48%,
      rgba(183,154,104,0) 100%
    );
  width: 24%;
  transform: translateX(-180%);
  opacity: .8;
}

.image-reveal::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(180deg,
      rgba(255,255,255,.025) 0%,
      rgba(0,0,0,.10) 100%),
    radial-gradient(circle at 72% 18%,
      rgba(196,166,111,.10),
      transparent 34%);
  opacity: 0;
  transition: opacity .9s ease .32s;
}

.image-reveal picture,
.image-reveal img {
  display: block;
  width: 100%;
  height: 100%;
}

.image-reveal img {
  object-fit: cover;
  transform: scale(1.105) translate3d(2.2%, 0, 0);
  filter: saturate(.88) contrast(1.04);
  transition:
    transform 1.55s cubic-bezier(.22,1,.36,1),
    filter 1.35s ease;
  will-change: transform;
}

.image-reveal.is-visible {
  clip-path: inset(0 0 0 0);
}

.image-reveal.is-visible::before {
  animation: semproRevealLight 1.25s cubic-bezier(.22,1,.36,1) .10s both;
}

.image-reveal.is-visible::after {
  opacity: 1;
}

.image-reveal.is-visible img {
  transform: scale(1.02) translate3d(0, 0, 0);
  filter: saturate(1) contrast(1);
}

@keyframes semproRevealLight {
  0% {
    transform: translateX(-180%);
    opacity: 0;
  }
  18% {
    opacity: .72;
  }
  100% {
    transform: translateX(620%);
    opacity: 0;
  }
}

/* Subtelne zachowanie po reveal na urządzeniach z myszą. */
@media (hover: hover) and (pointer: fine) {
  .image-reveal.is-visible:hover img {
    transform: scale(1.045) translate3d(0, 0, 0);
    filter: saturate(1.03) contrast(1.02);
  }
}

/* iPad: krótszy i spokojniejszy reveal. */
@media (min-width: 768px) and (max-width: 1180px) {
  .image-reveal {
    transition-duration: 1s;
  }

  .image-reveal img {
    transform: scale(1.08) translate3d(1.2%, 0, 0);
    transition-duration: 1.35s;
  }

  .image-reveal.is-visible img {
    transform: scale(1.015) translate3d(0, 0, 0);
  }
}

/* Telefon: reveal od dołu, żeby naturalniej współgrał ze scrollowaniem. */
@media (max-width: 767px) {
  .image-reveal {
    clip-path: inset(100% 0 0 0);
    transition-duration: .9s;
  }

  .image-reveal.is-visible {
    clip-path: inset(0 0 0 0);
  }

  .image-reveal::before {
    width: 32%;
  }

  .image-reveal img {
    transform: scale(1.075) translate3d(0, 1.8%, 0);
    transition-duration: 1.2s;
  }

  .image-reveal.is-visible img {
    transform: scale(1.01) translate3d(0, 0, 0);
  }
}

/* Dostępność i oszczędzanie energii. */
@media (prefers-reduced-motion: reduce) {
  .image-reveal,
  .image-reveal::before,
  .image-reveal::after,
  .image-reveal img {
    animation: none !important;
    transition: none !important;
  }

  .image-reveal {
    clip-path: none !important;
  }

  .image-reveal::before {
    display: none !important;
  }

  .image-reveal::after {
    opacity: 1 !important;
  }

  .image-reveal img {
    transform: none !important;
    filter: none !important;
  }
}


/* =========================================================
   SEMPRO v5.9 — LUXURY LOADER
   Krótki loader z dokładnym, oficjalnym sygnetem SEMPRO.
   Uruchamia się tylko raz na sesję przeglądarki.
   ========================================================= */

html.loader-seen .sempro-loader {
  display: none !important;
}

body.loader-active {
  overflow: hidden;
}

.sempro-loader {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 50% 45%, rgba(166,138,88,.075), transparent 28%),
    #0b0b0b;
  opacity: 1;
  visibility: visible;
  transition:
    opacity .22s ease,
    visibility .22s ease;
  contain: layout paint;
}

.sempro-loader.is-leaving {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.sempro-loader__stage {
  position: relative;
  display: grid;
  place-items: center;
  width: clamp(128px, 16vw, 190px);
  height: clamp(128px, 16vw, 190px);
}

.sempro-loader__halo {
  position: absolute;
  width: 88%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(196,166,111,.16) 0%,
    rgba(166,138,88,.055) 38%,
    rgba(166,138,88,0) 72%
  );
  opacity: 0;
  transform: scale(.72);
  animation: semproLoaderHalo .52s cubic-bezier(.22,1,.36,1) .04s forwards;
}

.sempro-loader__sygnet {
  position: relative;
  z-index: 2;
  width: clamp(82px, 9vw, 116px);
  height: auto;
  opacity: 0;
  transform: translate3d(0, 5px, 0) scale(.93);
  filter: drop-shadow(0 18px 38px rgba(0,0,0,.34));
  animation: semproLoaderMark .48s cubic-bezier(.22,1,.36,1) .06s forwards;
}

.sempro-loader__line {
  position: absolute;
  left: 50%;
  bottom: 13%;
  width: 0;
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(
    90deg,
    rgba(183,154,104,0),
    rgba(220,195,145,.9),
    rgba(183,154,104,0)
  );
  box-shadow: 0 0 18px rgba(196,166,111,.18);
  opacity: 0;
  animation: semproLoaderLine .46s cubic-bezier(.22,1,.36,1) .14s forwards;
}

@keyframes semproLoaderHalo {
  0% {
    opacity: 0;
    transform: scale(.72);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes semproLoaderMark {
  0% {
    opacity: 0;
    transform: translate3d(0, 5px, 0) scale(.93);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@keyframes semproLoaderLine {
  0% {
    width: 0;
    opacity: 0;
  }
  35% {
    opacity: 1;
  }
  100% {
    width: 68px;
    opacity: .9;
  }
}

@media (max-width: 767px) {
  .sempro-loader__stage {
    width: 140px;
    height: 140px;
  }

  .sempro-loader__sygnet {
    width: 88px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .sempro-loader {
    display: none !important;
  }

  .sempro-loader *,
  .sempro-loader *::before,
  .sempro-loader *::after {
    animation: none !important;
    transition: none !important;
  }
}


/* =========================================================
   SEMPRO v6.0 — PERFORMANCE MASTER / PREMIUM DETAILS
   ========================================================= */

:root {
  --font-display: "Avenir Next", "Segoe UI Variable Display", "SF Pro Display", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-body: "SF Pro Text", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --ease-premium: cubic-bezier(.22,1,.36,1);
  --gold-light: #d8bd82;
}

html {
  scroll-padding-top: 84px;
}

body {
  font-family: var(--font-body) !important;
  font-kerning: normal;
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, .why-number {
  font-family: var(--font-display) !important;
  text-wrap: balance;
  font-kerning: normal;
}

p, li {
  text-wrap: pretty;
}

.hero h1,
.intro h2,
.section h2 {
  line-height: .99 !important;
  letter-spacing: -.048em !important;
}

.section h2 {
  max-width: 18ch;
}

.intro p:not(.overline),
.hero-text {
  letter-spacing: -.012em;
}

.kicker,
.overline {
  letter-spacing: .19em !important;
}

/* Parser-discoverable LCP image */
.hero-bg::before {
  display: none !important;
  content: none !important;
}

.hero-bg picture,
.hero-bg img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.hero-bg img {
  object-fit: cover !important;
  object-position: 58% center !important;
  transform: scale(1.02);
  transform-origin: 62% 50%;
  will-change: transform;
  animation: semproKenBurns 24s ease-in-out infinite alternate;
}

@media (max-width: 980px) {
  .hero-bg img {
    object-position: 62% center !important;
    transform-origin: 66% 50%;
  }
}

@media (max-width: 767px) {
  .hero-bg img {
    object-position: 64% center !important;
    transform-origin: 68% 50%;
    animation-duration: 28s;
  }
}

/* Subtle scroll motion */
.reveal {
  opacity: 0;
  transform: translate3d(0, 20px, 0);
  transition:
    opacity .72s ease,
    transform .9s var(--ease-premium);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}

.reveal.visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  will-change: auto;
}

/* Smooth visual flow between sections */
main {
  overflow: clip;
}

main > section {
  position: relative;
}

main > section:not(.hero)::after {
  content: "";
  position: absolute;
  left: clamp(22px, 6vw, 96px);
  right: clamp(22px, 6vw, 96px);
  bottom: 0;
  height: 1px;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(196,166,111,.24), rgba(247,245,241,.08), transparent);
  opacity: .72;
}

.intro::before,
.standard::before,
.process::before,
.contact::before {
  content: "";
  position: absolute;
  width: min(620px, 70vw);
  aspect-ratio: 1;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(14px);
  opacity: .62;
  background: radial-gradient(circle, rgba(166,138,88,.075), rgba(166,138,88,0) 68%);
}

.intro::before { top: -28%; right: -18%; }
.standard::before { top: 8%; left: -24%; }
.process::before { top: 0; right: -22%; }
.contact::before { bottom: -32%; left: -20%; }

/* Cards and contact micro-light */
.card,
.why-stat,
.contact-card,
.contact-actions a,
.hours,
.split-copy {
  transition:
    transform .38s var(--ease-premium),
    border-color .38s ease,
    box-shadow .38s ease,
    background-color .38s ease !important;
}

@media (hover:hover) and (pointer:fine) {
  .card:hover,
  .contact-actions a:hover {
    transform: translateY(-4px);
    border-color: rgba(196,166,111,.34);
    box-shadow: 0 22px 60px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.035);
  }

  .contact-actions a:hover {
    background: rgba(166,138,88,.065);
  }
}

/* Navigation microanimation */
.nav a {
  position: relative;
}

.nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -8px;
  height: 1px;
  background: linear-gradient(90deg, var(--gold), var(--gold2));
  transition: right .34s var(--ease-premium);
}

.nav a:hover::after,
.nav a:focus-visible::after {
  right: 0;
}

/* Premium buttons */
.btn,
.header-phone {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition:
    transform .28s var(--ease-premium),
    box-shadow .35s ease,
    border-color .28s ease,
    background-position .5s var(--ease-premium) !important;
}

.btn.primary {
  background-size: 180% 180% !important;
  background-position: 0% 50% !important;
}

.btn::after,
.hero .btn::after,
.hero a[class*="btn"]::after {
  content: "" !important;
  display: block !important;
  position: absolute;
  z-index: -1;
  top: -120%;
  left: -46%;
  width: 34%;
  height: 340%;
  transform: rotate(20deg) translateX(-260%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
  opacity: 0;
  transition:
    transform .72s var(--ease-premium),
    opacity .24s ease;
  pointer-events: none;
}

@media (hover:hover) and (pointer:fine) {
  .btn:hover,
  .header-phone:hover {
    transform: translateY(-2px);
  }

  .btn.primary:hover {
    background-position: 100% 50% !important;
    box-shadow: 0 20px 52px rgba(0,0,0,.30), 0 0 26px rgba(196,166,111,.15) !important;
  }

  .btn:hover::after,
  .hero .btn:hover::after,
  .hero a[class*="btn"]:hover::after {
    transform: rotate(20deg) translateX(520%);
    opacity: .75;
  }
}

.btn:active,
.header-phone:active {
  transform: translateY(0) scale(.985) !important;
}

a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--gold-light);
  outline-offset: 4px;
}

/* CTA refined light */
.cta {
  position: relative;
  overflow: hidden;
}

.cta::before {
  content: "";
  position: absolute;
  inset: -40%;
  pointer-events: none;
  background: radial-gradient(circle at 78% 28%, rgba(255,255,255,.34), transparent 24%);
  opacity: .44;
}

.cta > * {
  position: relative;
  z-index: 1;
}

/* Rendering performance below the fold */
.intro,
.standard,
.why-sempro,
.split,
.process,
.cta,
.contact,
.footer {
  content-visibility: auto;
  contain-intrinsic-size: 1px 720px;
}

/* Mobile polish */
@media (max-width: 767px) {
  html { scroll-padding-top: 66px; }

  .hero h1,
  .intro h2,
  .section h2 {
    letter-spacing: -.042em !important;
  }

  main > section:not(.hero)::after {
    left: 18px;
    right: 18px;
  }

  .intro::before,
  .standard::before,
  .process::before,
  .contact::before {
    opacity: .38;
  }
}

/* Accessibility and battery */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }

  .reveal,
  .reveal.visible,
  .hero-bg img,
  .btn,
  .header-phone,
  .card,
  .why-stat,
  .contact-actions a {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }

  .reveal {
    opacity: 1 !important;
  }

  .btn::after {
    display: none !important;
  }
}


/* =========================================================
   SEMPRO v6.0.1 — FOOTER CLEAN
   Usunięto wyłącznie logo ze stopki i uporządkowano kompozycję.
   ========================================================= */

.footer {
  padding-top: clamp(42px, 6vw, 72px) !important;
}

.footer-inner,
.footer__inner {
  align-items: flex-start !important;
}

.footer-brand,
.footer__brand {
  min-height: 0 !important;
}

.footer-brand img,
.footer__brand img {
  display: none !important;
}

.footer-brand p,
.footer__brand p {
  margin-top: 0 !important;
  max-width: 34ch;
}

@media (max-width: 767px) {
  .footer {
    padding-top: 38px !important;
  }
}


/* =========================================================
   SEMPRO v6.1 — SEO GROWTH
   Wielostronicowa architektura usług, breadcrumbsy i linkowanie.
   ========================================================= */

.breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 28px;
  color: rgba(247,245,241,.62);
  font-size: .78rem;
}

.breadcrumbs a {
  color: rgba(247,245,241,.72);
  text-decoration: none;
}

.breadcrumbs a:hover {
  color: var(--gold-light);
}

.page-hero {
  position: relative;
  min-height: min(780px, 86svh);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  isolation: isolate;
  padding: 150px clamp(22px, 6vw, 96px) 84px;
}

.page-hero__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.page-hero__bg picture,
.page-hero__bg img {
  width: 100%;
  height: 100%;
  display: block;
}

.page-hero__bg img {
  object-fit: cover;
  object-position: 58% center;
  filter: saturate(.92) contrast(1.03);
}

.page-hero__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(6,6,6,.96) 0%, rgba(6,6,6,.76) 36%, rgba(6,6,6,.28) 66%, rgba(6,6,6,.10) 100%),
    linear-gradient(180deg, rgba(6,6,6,.26) 0%, rgba(6,6,6,.08) 38%, rgba(6,6,6,.84) 100%);
}

.page-hero__content {
  position: relative;
  z-index: 1;
  max-width: 900px;
}

.page-hero h1 {
  margin: 14px 0 24px;
  max-width: 14ch;
  font-family: var(--font-display);
  font-size: clamp(3.2rem, 6.5vw, 6.9rem);
  line-height: .92;
  letter-spacing: -.055em;
}

.page-hero__lead {
  max-width: 68ch;
  margin: 0;
  color: var(--muted);
  font-size: clamp(1.06rem, 1.5vw, 1.3rem);
  line-height: 1.62;
}

.seo-intro,
.seo-local,
.seo-hub-intro {
  max-width: 1000px;
}

.seo-intro > p:last-child,
.seo-local > p:last-child,
.seo-hub-intro > p:last-child {
  max-width: 76ch;
  color: var(--muted);
  font-size: clamp(1.04rem, 1.2vw, 1.16rem);
  line-height: 1.82;
}

.seo-scope-grid,
.seo-process-grid,
.seo-related-grid,
.seo-hub-grid {
  display: grid;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.seo-scope-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 42px;
}

.seo-process-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 42px;
}

.seo-related-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 42px;
}

.seo-hub-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.seo-scope-card,
.seo-process-step,
.seo-link-card {
  position: relative;
  min-height: 250px;
  padding: clamp(26px, 3vw, 40px);
  background: linear-gradient(180deg, rgba(17,17,17,.98), rgba(11,11,11,.98));
}

.seo-scope-card h3,
.seo-process-step h3,
.seo-link-card h2,
.seo-link-card h3 {
  margin: 0 0 14px;
  font-size: clamp(1.18rem, 1.8vw, 1.55rem);
  line-height: 1.16;
}

.seo-scope-card p,
.seo-process-step p,
.seo-link-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}

.seo-process-step b {
  display: block;
  margin-bottom: 52px;
  color: var(--gold-light);
  font-family: var(--font-display);
  font-size: 2.8rem;
  line-height: 1;
  letter-spacing: -.06em;
}

.seo-link-card {
  display: flex;
  flex-direction: column;
  min-height: 300px;
  color: var(--white);
  text-decoration: none;
  transition:
    transform .34s var(--ease-premium),
    box-shadow .34s ease,
    background-color .34s ease !important;
}

.seo-link-card > span {
  color: var(--gold-light);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.seo-link-card h2,
.seo-link-card h3 {
  margin-top: 34px;
}

.seo-link-card b {
  margin-top: auto;
  padding-top: 32px;
  color: var(--gold-light);
}

@media (hover:hover) and (pointer:fine) {
  .seo-link-card:hover {
    z-index: 2;
    transform: translateY(-5px);
    background: linear-gradient(180deg, rgba(25,22,17,.98), rgba(11,11,11,.98));
    box-shadow: 0 28px 72px rgba(0,0,0,.28);
  }
}

.service-list--links a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color .25s ease, border-color .25s ease;
}

.service-list--links a:hover {
  color: var(--gold-light);
  border-bottom-color: rgba(196,166,111,.42);
}

.service-hub-link {
  margin-top: 28px;
}

.footer-seo {
  display: block !important;
}

.footer-seo__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin-bottom: 24px;
}

.footer-seo__links a {
  color: rgba(247,245,241,.62);
  font-size: .78rem;
  text-decoration: none;
}

.footer-seo__links a:hover {
  color: var(--gold-light);
}

.seo-page .footer {
  padding-left: clamp(22px, 6vw, 96px);
  padding-right: clamp(22px, 6vw, 96px);
}

.seo-page main > section:not(.page-hero)::after {
  content: "";
  position: absolute;
  left: clamp(22px, 6vw, 96px);
  right: clamp(22px, 6vw, 96px);
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(196,166,111,.24), rgba(247,245,241,.08), transparent);
}

@media (max-width: 980px) {
  .page-hero {
    min-height: 76svh;
    padding-top: 120px;
  }

  .page-hero h1 {
    max-width: 15ch;
    font-size: clamp(3rem, 8vw, 5.2rem);
  }

  .seo-scope-grid,
  .seo-process-grid,
  .seo-related-grid,
  .seo-hub-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .page-hero {
    min-height: 78svh;
    padding: 96px 18px 46px;
  }

  .page-hero__bg img {
    object-position: 64% center;
  }

  .page-hero__bg::after {
    background:
      linear-gradient(180deg, rgba(6,6,6,.36) 0%, rgba(6,6,6,.18) 36%, rgba(6,6,6,.94) 100%);
  }

  .page-hero h1 {
    font-size: clamp(2.65rem, 12vw, 4.1rem);
  }

  .page-hero__lead {
    font-size: 1rem;
  }

  .seo-scope-grid,
  .seo-process-grid,
  .seo-related-grid,
  .seo-hub-grid {
    grid-template-columns: 1fr;
  }

  .seo-scope-card,
  .seo-process-step,
  .seo-link-card {
    min-height: 220px;
  }

  .footer-seo__links {
    flex-direction: column;
    gap: 12px;
  }
}


/* =========================================================
   SEMPRO v6.2 — ODBIORY MIESZKAŃ
   Dedykowana podstrona usługi + wyróżnienie na stronie głównej.
   ========================================================= */

.inspection-page {
  --inspection-gold: #d6b36e;
  --inspection-panel: rgba(18,18,18,.94);
}

.inspection-hero {
  min-height: min(900px, 94svh);
}

.inspection-hero .page-hero__bg img {
  object-position: 64% center;
  filter: saturate(.78) contrast(1.08) brightness(.82);
}

.inspection-hero .page-hero__bg::after {
  background:
    linear-gradient(90deg, rgba(6,6,6,.97) 0%, rgba(6,6,6,.86) 38%, rgba(6,6,6,.42) 68%, rgba(6,6,6,.18) 100%),
    linear-gradient(180deg, rgba(6,6,6,.28) 0%, rgba(6,6,6,.08) 40%, rgba(6,6,6,.86) 100%);
}

.inspection-hero__claim {
  max-width: 32ch;
  margin: 26px 0 8px;
  color: var(--white);
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2.2vw, 2.25rem);
  line-height: 1.08;
  letter-spacing: -.03em;
}

.inspection-hero__claim strong {
  color: var(--gold-light);
  font-weight: 600;
}

.inspection-grid-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: .48;
  background-image:
    linear-gradient(rgba(196,166,111,.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(196,166,111,.055) 1px, transparent 1px);
  background-size: 84px 84px;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, transparent 48%, #000 74%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, transparent 48%, #000 74%, transparent 100%);
}

.inspection-marker {
  position: absolute;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(214,179,110,.66);
  border-radius: 50%;
  background: rgba(11,11,11,.72);
  color: var(--gold-light);
  font-size: .66rem;
  font-weight: 800;
  box-shadow: 0 0 0 8px rgba(214,179,110,.045);
}

.inspection-marker--a { top: 34%; right: 25%; }
.inspection-marker--b { top: 58%; right: 12%; }
.inspection-marker--c { top: 72%; right: 34%; }

.inspection-trust-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #0e0e0e;
}

.inspection-trust-strip > div {
  min-height: 118px;
  padding: 26px clamp(18px, 2vw, 34px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-right: 1px solid var(--line);
}

.inspection-trust-strip > div:last-child {
  border-right: 0;
}

.inspection-trust-strip b {
  color: var(--gold-light);
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2.2vw, 2.1rem);
  letter-spacing: -.045em;
}

.inspection-trust-strip span {
  margin-top: 6px;
  color: var(--muted);
  font-size: .82rem;
}

.inspection-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  gap: clamp(34px, 6vw, 92px);
  align-items: end;
}

.inspection-intro__copy > p:not(.overline) {
  max-width: 74ch;
  color: var(--muted);
  font-size: clamp(1.02rem, 1.25vw, 1.15rem);
  line-height: 1.82;
}

.inspection-intro__copy strong {
  color: var(--white);
}

.inspection-intro__aside {
  padding: clamp(30px, 4vw, 48px);
  border: 1px solid rgba(196,166,111,.24);
  background:
    radial-gradient(circle at 80% 12%, rgba(196,166,111,.12), transparent 34%),
    linear-gradient(180deg, rgba(22,20,17,.96), rgba(12,12,12,.96));
}

.inspection-tag {
  color: var(--gold-light);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .18em;
}

.inspection-intro__aside h3 {
  margin: 34px 0 14px;
  font-size: clamp(1.8rem, 3vw, 3.1rem);
  line-height: .98;
}

.inspection-intro__aside p {
  margin: 0;
  color: var(--muted);
  line-height: 1.72;
}

.inspection-scope-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: 42px;
  border: 1px solid var(--line);
  background: var(--line);
}

.inspection-scope-card {
  min-height: 248px;
  padding: clamp(24px, 2.7vw, 38px);
  background: linear-gradient(180deg, rgba(18,18,18,.98), rgba(11,11,11,.98));
}

.inspection-scope-card b {
  color: var(--gold-light);
  font-family: var(--font-display);
  font-size: 2rem;
  letter-spacing: -.05em;
}

.inspection-scope-card h3 {
  margin: 44px 0 12px;
  font-size: 1.1rem;
}

.inspection-scope-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.68;
}

.inspection-disclaimer {
  max-width: 92ch;
  margin: 26px 0 0;
  color: rgba(247,245,241,.48);
  font-size: .78rem;
  line-height: 1.65;
}

.inspection-price-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 42px;
}

.inspection-price-card {
  min-height: 520px;
  padding: clamp(28px, 3vw, 44px);
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(17,17,17,.98), rgba(10,10,10,.98));
}

.inspection-price-card--featured {
  border-color: rgba(214,179,110,.58);
  background:
    radial-gradient(circle at 76% 8%, rgba(214,179,110,.14), transparent 30%),
    linear-gradient(180deg, rgba(24,21,16,.98), rgba(10,10,10,.98));
  box-shadow: 0 28px 74px rgba(0,0,0,.24);
}

.inspection-price-card__label {
  color: var(--gold-light);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .18em;
}

.inspection-price-card h3 {
  margin: 26px 0 28px;
  font-size: clamp(1.7rem, 2.6vw, 2.8rem);
  line-height: 1;
}

.inspection-price {
  margin: 0 0 30px;
  padding-bottom: 26px;
  border-bottom: 1px solid var(--line);
}

.inspection-price b {
  display: block;
  color: var(--gold-light);
  font-family: var(--font-display);
  font-size: clamp(3rem, 5vw, 5rem);
  line-height: .9;
  letter-spacing: -.07em;
}

.inspection-price span {
  display: block;
  margin-top: 8px;
  color: var(--muted);
}

.inspection-price-card ul {
  margin: 0 0 34px;
  padding: 0;
  list-style: none;
}

.inspection-price-card li {
  padding: 10px 0 10px 22px;
  position: relative;
  color: var(--muted);
  border-bottom: 1px solid rgba(247,245,241,.06);
}

.inspection-price-card li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--gold-light);
}

.inspection-price-card .btn {
  margin-top: auto;
}

.inspection-size-pricing {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 18px;
  border: 1px solid var(--line);
}

.inspection-size-pricing > div {
  padding: 22px;
  border-right: 1px solid var(--line);
}

.inspection-size-pricing > div:last-child {
  border-right: 0;
}

.inspection-size-pricing span,
.inspection-size-pricing b {
  display: block;
}

.inspection-size-pricing span {
  color: var(--muted);
  font-size: .78rem;
}

.inspection-size-pricing b {
  margin-top: 8px;
  color: var(--white);
}

.inspection-report {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);
  gap: clamp(40px, 7vw, 104px);
  align-items: center;
}

.inspection-report__copy > p:not(.overline) {
  color: var(--muted);
  line-height: 1.8;
}

.inspection-report__features {
  margin: 30px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  list-style: none;
}

.inspection-report__features li,
.inspection-area__cities span,
.inspection-defects-grid span {
  border: 1px solid rgba(196,166,111,.22);
  background: rgba(166,138,88,.045);
}

.inspection-report__features li {
  padding: 10px 14px;
  color: var(--gold-light);
  font-size: .78rem;
}

.inspection-report__mockup {
  padding: clamp(24px, 4vw, 44px);
  border: 1px solid rgba(196,166,111,.32);
  background:
    radial-gradient(circle at 88% 10%, rgba(214,179,110,.12), transparent 30%),
    #f2eee5;
  color: #161513;
  box-shadow: 0 40px 90px rgba(0,0,0,.32);
  transform: rotate(1deg);
}

.inspection-report__top {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 24px;
  border-bottom: 2px solid #1a1917;
  font-size: .74rem;
  letter-spacing: .12em;
}

.inspection-report__top span {
  color: #8f713a;
  font-weight: 800;
}

.inspection-report__row {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 18px;
  padding: 24px 0;
  border-bottom: 1px solid rgba(20,18,15,.18);
}

.inspection-report__row i {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #12110f;
  color: #d2ad62;
  font-style: normal;
  font-weight: 800;
}

.inspection-report__row b {
  display: block;
  margin-bottom: 7px;
}

.inspection-report__row p {
  margin: 0;
  color: #5a554c;
  line-height: 1.55;
  font-size: .86rem;
}

.inspection-report__footer {
  padding-top: 22px;
  color: #716958;
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.inspection-defects-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 42px;
}

.inspection-defects-grid span {
  padding: 16px 20px;
  color: var(--white);
  font-size: clamp(.9rem, 1.2vw, 1.04rem);
}

.inspection-area > p:not(.overline) {
  max-width: 72ch;
  color: var(--muted);
  line-height: 1.8;
}

.inspection-area__cities {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 30px;
}

.inspection-area__cities span {
  padding: 10px 14px;
  color: var(--gold-light);
  font-size: .78rem;
}

.inspection-faq__list {
  margin-top: 38px;
  border-top: 1px solid var(--line);
}

.inspection-faq__item {
  border-bottom: 1px solid var(--line);
}

.inspection-faq__item summary {
  padding: 24px 50px 24px 0;
  position: relative;
  cursor: pointer;
  list-style: none;
  color: var(--white);
  font-size: clamp(1.04rem, 1.5vw, 1.26rem);
  font-weight: 650;
}

.inspection-faq__item summary::-webkit-details-marker {
  display: none;
}

.inspection-faq__item summary::after {
  content: "+";
  position: absolute;
  right: 4px;
  top: 18px;
  color: var(--gold-light);
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 300;
}

.inspection-faq__item[open] summary::after {
  content: "−";
}

.inspection-faq__item p {
  max-width: 78ch;
  margin: -4px 0 26px;
  color: var(--muted);
  line-height: 1.75;
}

.inspection-contact {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(380px, 1.1fr);
  gap: clamp(40px, 7vw, 104px);
  align-items: start;
}

.inspection-contact__copy p:not(.overline) {
  color: var(--muted);
  line-height: 1.8;
}

.inspection-contact__actions {
  display: grid;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}

.inspection-contact__actions a {
  min-height: 118px;
  padding: 28px 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #0f0f0f;
  color: var(--white);
  text-decoration: none;
  transition: background .3s ease, transform .3s var(--ease-premium);
}

.inspection-contact__actions a:hover {
  background: #16130f;
}

.inspection-contact__actions span {
  color: var(--muted);
  font-size: .76rem;
}

.inspection-contact__actions b {
  margin-top: 8px;
  color: var(--gold-light);
  font-size: clamp(1rem, 1.8vw, 1.35rem);
}

.inspection-launch {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) auto;
  gap: 36px;
  align-items: end;
  border-top: 1px solid rgba(196,166,111,.34);
  border-bottom: 1px solid rgba(196,166,111,.18);
  background:
    radial-gradient(circle at 82% 18%, rgba(214,179,110,.12), transparent 28%),
    linear-gradient(110deg, rgba(22,20,16,.98), rgba(11,11,11,.98));
}

.inspection-launch__copy h2 {
  max-width: 14ch;
  margin-bottom: 18px;
}

.inspection-launch__copy p:not(.overline) {
  max-width: 68ch;
  color: var(--muted);
  line-height: 1.75;
}

.inspection-launch__cta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 16px;
}

.inspection-launch__cta span {
  color: var(--gold-light);
  font-size: .76rem;
  letter-spacing: .08em;
}

.seo-link-card--inspection {
  border: 1px solid rgba(214,179,110,.34);
  background:
    radial-gradient(circle at 82% 12%, rgba(214,179,110,.14), transparent 30%),
    linear-gradient(180deg, rgba(24,21,16,.98), rgba(11,11,11,.98));
}

@media (max-width: 1100px) {
  .inspection-scope-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .inspection-price-grid {
    grid-template-columns: 1fr;
  }

  .inspection-price-card {
    min-height: 0;
  }
}

@media (max-width: 900px) {
  .inspection-trust-strip,
  .inspection-size-pricing {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .inspection-trust-strip > div:nth-child(2),
  .inspection-size-pricing > div:nth-child(2) {
    border-right: 0;
  }

  .inspection-trust-strip > div:nth-child(-n+2),
  .inspection-size-pricing > div:nth-child(-n+2) {
    border-bottom: 1px solid var(--line);
  }

  .inspection-intro,
  .inspection-report,
  .inspection-contact,
  .inspection-launch {
    grid-template-columns: 1fr;
  }

  .inspection-launch__cta {
    align-items: flex-start;
  }

  .inspection-scope-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .inspection-report__mockup {
    transform: none;
  }
}

@media (max-width: 620px) {
  .inspection-hero {
    min-height: 90svh;
  }

  .inspection-grid-overlay {
    opacity: .28;
    -webkit-mask-image: linear-gradient(180deg, transparent 0%, #000 28%, transparent 100%);
    mask-image: linear-gradient(180deg, transparent 0%, #000 28%, transparent 100%);
  }

  .inspection-marker {
    display: none;
  }

  .inspection-trust-strip,
  .inspection-size-pricing,
  .inspection-scope-grid {
    grid-template-columns: 1fr;
  }

  .inspection-trust-strip > div,
  .inspection-size-pricing > div {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .inspection-trust-strip > div:last-child,
  .inspection-size-pricing > div:last-child {
    border-bottom: 0;
  }

  .inspection-scope-card {
    min-height: 220px;
  }

  .inspection-report__row {
    grid-template-columns: 42px 1fr;
  }

  .inspection-report__row i {
    width: 38px;
    height: 38px;
  }

  .inspection-report__top {
    flex-direction: column;
  }
}

@media (prefers-reduced-motion: reduce) {
  .inspection-report__mockup {
    transform: none !important;
  }
}
