  @font-face {
    font-family: 'Oks';
    src: url(data:font/woff;base64,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) format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }

  :root {
    --ink: #ffffff;
    --ink-dim: rgba(255,255,255,0.78);
    --ink-faint: rgba(255,255,255,0.45);
    --btn: #9d3437;
    --btn-hover: #b43c3f;
    --accent: #d16164;
    --bg: #0c0d10;

    --text: #f4f3f1;
    --text-soft: rgba(244,243,241,0.62);
    --line: rgba(255,255,255,0.12);
    --card-bg: #0c0d10;

    --font-display: 'Oks', 'Arial Narrow', sans-serif;
    --font-body: 'Manrope', 'Segoe UI', sans-serif;
  }

  * { box-sizing: border-box; }
  html { color-scheme: dark; scroll-behavior: smooth; }

  body {
    margin: 0;
    background: var(--bg);
    color: var(--ink);
    font-family: var(--font-body);
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
  }

  a { color: inherit; }
  ::selection { background: var(--btn); color: #fff; }
  img { max-width: 100%; }

  .wrap {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 40px;
  }

  /* ---------- NAV ---------- */
  /* Fixed on every page, every screen size — no breakpoint-dependent
     exceptions, so it can't end up inconsistent between mobile and
     desktop again. A burger toggles a full-screen menu instead of
     trying to cram the whole site into the slim bar itself. */
  .nav {
    position: fixed;
    top: 0; left: 0; right: 0;
    z-index: 50;
    padding: 16px 0;
    background: rgba(12,13,16,0.72);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
  }
  .nav .wrap {
    position: relative;
    z-index: 46;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
  }
  .nav-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 600;
    color: var(--ink);
    text-decoration: none;
    opacity: 0.95;
    transition: opacity .2s ease;
  }
  .nav-brand:hover, .nav-brand:focus-visible { opacity: 1; }
  .nav-brand svg { width: 22px; height: 22px; flex: 0 0 auto; }

  /* ----- burger button ----- */
  .burger {
    appearance: none;
    background: none;
    border: none;
    margin: -8px;
    padding: 8px;
    width: 42px;
    height: 34px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    cursor: pointer;
  }
  .burger span {
    display: block;
    width: 26px;
    height: 2px;
    border-radius: 2px;
    background: var(--ink);
    transition: transform .3s ease, opacity .3s ease;
  }
  .burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
  .burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

  /* ----- full-screen menu panel ----- */
  .nav-menu {
    position: fixed;
    top: 0; left: 0; right: 0;
    /* explicit height instead of inset's implied bottom:0 — a fixed-position
       column-flex container with top+bottom but height:auto doesn't reliably
       stretch to fill the viewport in every browser, and collapses to its
       content's height instead, so the panel only covered its first link. */
    height: 100vh;
    height: 100dvh;
    z-index: 45;
    display: flex;
    flex-direction: column;
    padding: 96px 28px 40px;
    background: rgba(12,13,16,0.97);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-14px);
    transition: opacity .25s ease, transform .25s ease, visibility 0s linear .25s;
  }
  .nav-menu.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: opacity .25s ease, transform .25s ease, visibility 0s linear 0s;
  }
  .nav-menu a {
    font-family: var(--font-display);
    text-transform: uppercase;
    font-weight: 400;
    font-size: clamp(24px, 6vw, 32px);
    color: var(--ink);
    text-decoration: none;
    padding: 14px 0;
    border-bottom: 1px solid var(--line);
    transition: color .2s ease;
  }
  .nav-menu a:hover, .nav-menu a:focus-visible { color: var(--accent); }
  .nav-menu-contacts {
    margin-top: 28px;
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  /* ".nav-menu a" (class+type) outranks a single ".nav-menu-phone" class in
     specificity, so the uppercase it sets would otherwise win regardless of
     source order — these overrides match it with an equally compound
     selector instead of relying on order. */
  .nav-menu a.nav-menu-phone {
    font-family: var(--font-body);
    text-transform: none;
    font-size: 20px;
    font-weight: 700;
    color: var(--accent);
    text-decoration: none;
    border-bottom: none;
    padding: 0;
  }
  .nav-menu a.nav-menu-phone:hover, .nav-menu a.nav-menu-phone:focus-visible { color: var(--ink); }
  .nav-menu a.nav-menu-email {
    font-family: var(--font-body);
    text-transform: none;
    font-size: 15px;
    font-weight: 500;
    color: var(--ink-dim);
    text-decoration: none;
    word-break: break-all;
    border-bottom: none;
    padding: 0;
  }
  .nav-menu a.nav-menu-email:hover, .nav-menu a.nav-menu-email:focus-visible { color: var(--ink); }
  body.nav-open { overflow: hidden; }

  /* ---------- HERO ---------- */
  .hero {
    position: relative;
    height: 100vh;
    min-height: 640px;
    /* visible on purpose: .hero-glow below is one single layer that physically
       extends past this box into .services, so the light is one continuous
       paint instead of two separately-matched gradients meeting at a seam */
    overflow: visible;
    display: flex;
    align-items: center;
  }

  .hero-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
  }
  .hero-bg img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 68% 78%;
    display: block;
    filter: grayscale(1) brightness(0.42) contrast(1.08) saturate(1);
    transition: filter 2.1s ease;
    /* feathers the photo's own bottom edge into transparency instead of hard-cropping it —
       what shows through is the body's flat background, the exact same color services uses,
       so the handoff is a true pixel match rather than two close-but-different tones */
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 92%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 92%, transparent 100%);
  }
  .hero.is-on .hero-bg img {
    filter: grayscale(0) brightness(1) contrast(1.04) saturate(1.12);
  }

  /* one-shot ignition burst: a brief flicker/overshoot replayed every time the bulb switches on,
     riding on top of the steady grayscale -> warm crossfade above */
  @keyframes igniteFlicker {
    0%   { filter: grayscale(1) brightness(0.3) contrast(1.08) saturate(1); }
    7%   { filter: grayscale(0.35) brightness(2.05) contrast(1.05) saturate(1.3); }
    15%  { filter: grayscale(0.65) brightness(0.55) contrast(1.08) saturate(1.05); }
    24%  { filter: grayscale(0.2) brightness(2.3) contrast(1.05) saturate(1.3); }
    34%  { filter: grayscale(0.4) brightness(0.8) contrast(1.08) saturate(1.05); }
    48%  { filter: grayscale(0.1) brightness(1.55) contrast(1.05) saturate(1.2); }
    62%  { filter: grayscale(0) brightness(0.95) contrast(1.04) saturate(1.1); }
    80%  { filter: grayscale(0) brightness(1.15) contrast(1.04) saturate(1.12); }
    100% { filter: grayscale(0) brightness(1) contrast(1.04) saturate(1.12); }
  }
  .hero.igniting .hero-bg img { animation: igniteFlicker 0.95s steps(1,end) 1; }

  /* bleeds past the hero box exactly like .hero-glow, so the spark-flash itself
     (not just the steady glow) continues into .services instead of visibly
     stopping at the boundary during the brief ignition burst */
  .hero-flash {
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 190vh;
    z-index: 1;
    background: radial-gradient(circle 60vh at 73% 68vh, rgba(255,244,222,0.95) 0%, rgba(255,205,150,0.4) 20%, rgba(255,160,100,0) 50%);
    opacity: 0;
    pointer-events: none;
    mix-blend-mode: screen;
  }
  @keyframes flashBurst {
    0%   { opacity: 0; }
    9%   { opacity: 1; }
    22%  { opacity: 0.35; }
    38%  { opacity: 0.8; }
    60%  { opacity: 0.15; }
    100% { opacity: 0; }
  }
  .hero.igniting .hero-flash { animation: flashBurst 0.95s ease-out 1; }

  /* this single layer physically extends past the hero's own box (.hero has
     overflow:visible for exactly this) down into .services, so the bulb's warm
     light is one continuous paint across the section boundary — not two
     separate gradients tuned to look alike, which is what left a visible seam. */
  .hero-glow {
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 190vh;
    z-index: 1;
    background:
      radial-gradient(ellipse 62% 55vh at 73% 68vh, rgba(255,186,120,0.55) 0%, rgba(255,140,90,0.22) 40%, rgba(0,0,0,0) 70%),
      radial-gradient(ellipse 115% 90vh at 73% 68vh, rgba(255,150,90,0.12) 0%, rgba(0,0,0,0) 68%);
    opacity: 0;
    transition: opacity 2.2s ease;
    pointer-events: none;
    mix-blend-mode: screen;
  }
  .hero.is-on .hero-glow { opacity: 1; }

  /* the bled portion of the glow (the part sitting inside .services) must pulse
     in sync with the hero-side photo's igniteFlicker, otherwise during the 0.95s
     burst the hero side rapidly spikes/dips while the bled glow stays flat and
     the mismatch shows up as a seam exactly at the moment of ignition */
  @keyframes glowIgnite {
    0%   { filter: brightness(0.3); }
    7%   { filter: brightness(2.05); }
    15%  { filter: brightness(0.55); }
    24%  { filter: brightness(2.3); }
    34%  { filter: brightness(0.8); }
    48%  { filter: brightness(1.55); }
    62%  { filter: brightness(0.95); }
    80%  { filter: brightness(1.15); }
    100% { filter: brightness(1); }
  }
  .hero.igniting .hero-glow { animation: glowIgnite 0.95s steps(1,end) 1; }

  .hero-scrim {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.25) 45%, rgba(0,0,0,0.05) 70%);
    pointer-events: none;
    /* this constant darkening wash was the actual source of the seam: it has no
       vertical falloff of its own, so it got clipped at a hard edge exactly where
       the photo and the glow were already fading smoothly. Same taper as the photo. */
    -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 92%, transparent 100%);
    mask-image: linear-gradient(to bottom, #000 0%, #000 92%, transparent 100%);
  }

  .hero-content {
    position: relative;
    z-index: 2;
    width: 100%;
  }

  .hero h1 {
    font-family: var(--font-display);
    font-weight: 400;
    text-transform: uppercase;
    font-size: clamp(32px, 5.4vw, 70px);
    line-height: 1.04;
    letter-spacing: 0.002em;
    margin: 0;
    color: var(--ink);
    opacity: 0.62;
    filter: brightness(0.75);
    text-shadow: 0 0 0 rgba(0,0,0,0);
    transition: opacity 2s ease, filter 2s ease, text-shadow 2s ease;
    max-width: 14ch;
  }
  .hero.is-on h1 {
    opacity: 1;
    filter: brightness(1);
    text-shadow: 0 0 46px rgba(255,170,110,0.35);
  }

  .hero-location {
    margin: 40px 0 0;
    font-family: var(--font-body);
    font-size: clamp(17px, 1.7vw, 22px);
    color: var(--ink-dim);
    line-height: 1.5;
    opacity: 0.55;
    transition: opacity 2s ease;
  }
  .hero.is-on .hero-location { opacity: 1; }

  .hero-ctas { margin-top: 36px; }
  .btn {
    display: inline-flex;
    align-items: center;
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 16px;
    color: #fff;
    background: var(--btn);
    padding: 16px 34px;
    border-radius: 999px;
    text-decoration: none;
    border: none;
    cursor: pointer;
    opacity: 0.75;
    transition: opacity 1.6s ease, background .2s ease, box-shadow .4s ease;
  }
  .btn:hover {
    background: var(--btn-hover);
    box-shadow:
      0 0 12px rgba(255, 200, 130, 0.55),
      0 0 32px rgba(255, 170, 90, 0.4),
      0 0 64px rgba(255, 150, 80, 0.25);
  }
  .hero.is-on .btn { opacity: 1; }
  .btn:focus-visible, a:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }

  .scroll-hint {
    position: absolute;
    left: 50%;
    bottom: 34px;
    transform: translateX(-50%);
    z-index: 2;
    font-family: var(--font-body);
    font-size: 12.5px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--ink-faint);
    opacity: 0.85;
    transition: opacity .6s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }
  .hero.is-on .scroll-hint { opacity: 0; pointer-events: none; }
  .scroll-hint .chevron {
    width: 9px; height: 9px;
    border-right: 1.5px solid var(--ink-faint);
    border-bottom: 1.5px solid var(--ink-faint);
    transform: rotate(45deg);
    animation: bob 1.8s ease-in-out infinite;
  }
  @keyframes bob {
    0%, 100% { transform: rotate(45deg) translate(0,0); }
    50% { transform: rotate(45deg) translate(3px, 3px); }
  }

  /* ---------- SERVICES ---------- */
  .services {
    position: relative;
    z-index: 0;
    background: var(--card-bg);
    color: var(--text);
    padding: 110px 0 90px;
  }
  .services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 48px;
  }
  .service-card {
    text-align: left;
    display: flex;
    flex-direction: column;
    height: 100%;
  }
  .service-card img {
    width: 56px;
    height: 56px;
    /* the source icons aren't perfectly square (e.g. 96×128) — contain keeps
       them scaled proportionally inside the box instead of squashed into it */
    object-fit: contain;
    margin-bottom: 26px;
    filter: invert(1) brightness(1.6);
  }
  .service-card h2 {
    font-family: var(--font-display);
    text-transform: uppercase;
    font-weight: 700;
    font-size: 24px;
    margin: 0 0 18px;
    letter-spacing: 0.01em;
  }
  .service-card p {
    color: var(--text-soft);
    font-size: 15.5px;
    margin: 0 0 16px;
  }
  .btn-outline {
    display: inline-flex;
    align-items: center;
    font-family: var(--font-body);
    font-weight: 600;
    font-size: 15px;
    color: var(--text);
    background: transparent;
    border: 3px solid var(--btn);
    padding: 14px 30px;
    border-radius: 999px;
    text-decoration: none;
    margin-top: auto;
    align-self: flex-start;
    transition: background .2s ease, color .2s ease, box-shadow .4s ease, border-color .4s ease;
  }
  .btn-outline:hover {
    background: var(--btn);
    color: #fff;
    box-shadow:
      0 0 12px rgba(255, 200, 130, 0.55),
      0 0 32px rgba(255, 170, 90, 0.4),
      0 0 64px rgba(255, 150, 80, 0.25);
  }

  .cta-banner {
    display: block;
    text-align: center;
    background: var(--btn);
    color: #fff;
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 17px;
    text-decoration: none;
    padding: 26px 20px;
    border-radius: 999px;
    margin-top: 64px;
    transition: background .2s ease, box-shadow .4s ease;
  }
  .cta-banner:hover {
    background: var(--btn-hover);
    box-shadow:
      0 0 12px rgba(255, 200, 130, 0.55),
      0 0 32px rgba(255, 170, 90, 0.4),
      0 0 64px rgba(255, 150, 80, 0.25);
  }

  /* ---------- SERVICE PAGES ---------- */
  .is-hidden { display: none !important; }

  .service-page { display: block; padding: 150px 0 100px; }

  .back-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    font-weight: 600;
    color: var(--text-soft);
    text-decoration: none;
    margin-bottom: 48px;
    transition: color .2s ease;
  }
  .back-link:hover { color: var(--ink); }
  .back-link svg { width: 16px; height: 16px; flex-shrink: 0; }

  .service-page-head { max-width: 780px; margin-bottom: 64px; }
  .service-page-head img {
    width: 64px;
    height: 64px;
    object-fit: contain;
    margin-bottom: 28px;
    filter: invert(1) brightness(1.6);
  }
  .service-page-head h1 {
    font-family: var(--font-display);
    text-transform: uppercase;
    font-weight: 400;
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.08;
    margin: 0 0 22px;
  }
  .service-page-lead {
    font-size: 18px;
    line-height: 1.6;
    color: var(--text-soft);
    margin: 0;
    max-width: 62ch;
  }

  .offer-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 28px;
    padding: 12px 22px;
    border-radius: 999px;
    background: rgba(157,52,55,0.14);
    border: 1px solid var(--btn);
    font-weight: 700;
    font-size: 15px;
    color: var(--ink);
  }
  .offer-badge svg { width: 18px; height: 18px; flex-shrink: 0; color: var(--accent); }

  .service-page h2 {
    font-family: var(--font-display);
    text-transform: uppercase;
    font-weight: 400;
    font-size: clamp(22px, 2.6vw, 30px);
    margin: 0 0 36px;
  }

  .feature-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    margin-bottom: 90px;
  }
  .feature-card { border-left: 3px solid var(--btn); padding: 4px 0 4px 24px; }
  .feature-card h2 {
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 17px;
    margin: 0 0 12px;
    letter-spacing: 0;
    color: var(--ink);
  }
  .feature-card p {
    color: var(--text-soft);
    font-size: 15px;
    margin: 0;
    line-height: 1.55;
  }

  .steps-list {
    list-style: none;
    margin: 0 0 90px;
    padding: 0;
    display: grid;
    gap: 28px;
  }
  .steps-list li { display: flex; gap: 22px; align-items: flex-start; }
  .step-num {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px solid var(--btn);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-display);
    font-size: 16px;
    color: var(--ink);
  }
  .steps-list h4 { font-size: 16px; font-weight: 700; margin: 6px 0 8px; }
  .steps-list p {
    color: var(--text-soft);
    font-size: 15px;
    margin: 0;
    line-height: 1.55;
  }

  .photo-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-bottom: 90px;
  }
  .photo-gallery figure { margin: 0; }
  .photo-gallery img {
    width: 100%;
    height: 230px;
    object-fit: cover;
    border-radius: 14px;
    display: block;
  }
  .photo-gallery figcaption {
    margin-top: 12px;
    font-size: 14px;
    color: var(--text-soft);
    line-height: 1.4;
  }

  /* case studies: named client projects, styled like .feature-card (same
     left accent rule) so they read as part of the same design language
     rather than a bolted-on block */
  .cases-lead {
    color: var(--text-soft);
    font-size: 15px;
    line-height: 1.55;
    max-width: 640px;
    margin: -20px 0 36px;
  }
  .cases-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-bottom: 90px;
  }
  .case-card { border-left: 3px solid var(--btn); padding: 4px 0 4px 24px; }
  .case-card h3 {
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 17px;
    margin: 0 0 8px;
    color: var(--ink);
  }
  .case-client {
    font-size: 13px;
    color: var(--accent);
    font-weight: 600;
    margin: 0 0 10px;
  }
  .case-card p.case-desc {
    color: var(--text-soft);
    font-size: 15px;
    margin: 0;
    line-height: 1.55;
  }

  @media (max-width: 900px) {
    .feature-grid { grid-template-columns: 1fr; }
    .photo-gallery { grid-template-columns: 1fr 1fr; }
    .cases-grid { grid-template-columns: 1fr; }
  }
  @media (max-width: 720px) {
    /* nav is fixed on mobile too, so this clears the floating bar same
       as it does on desktop (just a smaller offset, matching the bar's
       shorter mobile height). */
    .service-page { padding: 110px 0 70px; }
    .feature-grid { gap: 28px; margin-bottom: 60px; }
    .steps-list { margin-bottom: 60px; }
    .photo-gallery { grid-template-columns: 1fr; gap: 24px; margin-bottom: 60px; }
    .photo-gallery img { height: 240px; }
    .cases-grid { gap: 28px; margin-bottom: 60px; }
    .cases-lead { margin-top: 0; }
  }

  /* ---------- REVIEWS ---------- */
  .reviews {
    background: var(--card-bg);
    color: var(--text);
    padding: 40px 0 110px;
  }
  .reviews h2 {
    font-family: var(--font-display);
    text-align: center;
    font-size: clamp(28px, 3.4vw, 36px);
    font-weight: 600;
    margin: 0 0 46px;
  }
  .reviews-slider {
    position: relative;
    max-width: 660px;
    margin: 0 auto;
  }
  .reviews-track {
    display: flex;
    align-items: flex-start;
    overflow-x: auto;
    overflow-y: hidden;
    overscroll-behavior: contain;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    border-radius: 18px;
    transition: height .3s ease;
  }
  .reviews-track::-webkit-scrollbar { display: none; }
  .review-card {
    flex: 0 0 100%;
    scroll-snap-align: start;
    background: rgba(255,255,255,0.035);
    border: 2px solid var(--btn);
    border-radius: 18px;
    padding: 26px 28px;
    box-sizing: border-box;
  }
  .reviews-arrow {
    position: absolute;
    /* fixed distance from the top of the card instead of a 50%/translateY
       center: the card's height changes with each review's text length, so
       centering on the whole box made the arrows jump up and down between
       reviews. Anchoring to a fixed offset keeps them level with the
       name/date header, which is the same height for every review. */
    top: 58px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: none;
    background: rgba(255,255,255,0.08);
    color: var(--ink);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background .2s ease, box-shadow .4s ease;
    z-index: 2;
  }
  .reviews-arrow:hover {
    background: rgba(255,255,255,0.18);
    box-shadow:
      0 0 10px rgba(255, 200, 130, 0.5),
      0 0 26px rgba(255, 170, 90, 0.35),
      0 0 48px rgba(255, 150, 80, 0.2);
  }
  .reviews-arrow svg { width: 18px; height: 18px; }
  .reviews-arrow.prev { left: -58px; }
  .reviews-arrow.next { right: -58px; }
  .reviews-dots {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 28px;
  }
  .reviews-dots button {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: none;
    padding: 0;
    background: rgba(255,255,255,0.22);
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
  }
  .reviews-dots button.active {
    background: var(--btn);
    transform: scale(1.25);
  }
  @media (max-width: 900px) {
    .reviews-arrow.prev { left: 4px; }
    .reviews-arrow.next { right: 4px; }
  }
  .stars {
    position: relative;
    display: inline-block;
    font-size: 15px;
    letter-spacing: 2px;
    color: rgba(255,255,255,0.18);
  }
  .stars::before {
    content: '★★★★★';
    position: absolute;
    left: 0; top: 0;
    width: var(--pct, 100%);
    overflow: hidden;
    white-space: nowrap;
    color: #f2a53d;
  }
  .review-date {
    display: block;
    font-size: 13px;
    color: var(--text-soft);
    margin: 8px 0 2px;
  }
  .review-name { display: block; font-weight: 700; font-size: 16px; }
  .review-meta { display: block; font-size: 13px; color: var(--text-soft); margin-bottom: 12px; }
  .review-text { font-size: 14.5px; color: var(--text); margin: 0; }

  /* ---------- CONTACTS ---------- */
  .contacts {
    position: relative;
    background: #05060a;
    padding: 100px 0;
    overflow: hidden;
  }
  .contacts-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
  }
  .contacts-bg img {
    width: 100%; height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    opacity: 0.55;
  }
  .contacts-scrim {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(100deg, rgba(5,6,10,0.96) 0%, rgba(5,6,10,0.8) 40%, rgba(5,6,10,0.55) 100%);
  }
  .contacts-inner { position: relative; z-index: 2; }
  .contacts h2 {
    font-family: var(--font-display);
    text-transform: uppercase;
    font-size: clamp(28px, 4vw, 42px);
    font-weight: 700;
    margin: 0 0 18px;
    text-align: center;
  }
  .contacts-sub {
    text-align: center;
    max-width: 460px;
    margin: 0 auto 56px;
    color: var(--ink-dim);
    font-size: 16px;
  }
  .contacts-grid {
    display: grid;
    grid-template-columns: 0.8fr 1fr;
    gap: 60px;
    align-items: start;
  }
  .contacts-info a {
    display: block;
    font-size: 22px;
    font-weight: 600;
    text-decoration: none;
    margin-bottom: 6px;
  }
  .contacts-city { color: var(--ink-dim); margin: 18px 0 26px; }
  .social-row { display: flex; gap: 12px; }
  .social-row a {
    width: 44px; height: 44px;
    border-radius: 50%;
    background: rgba(255,255,255,0.1);
    display: flex; align-items: center; justify-content: center;
    text-decoration: none;
    transition: background .2s ease;
  }
  .social-row a:hover { background: rgba(255,255,255,0.22); }
  .social-row svg { width: 20px; height: 20px; fill: #fff; }

  .contact-form { display: flex; flex-direction: column; gap: 14px; }
  .contact-form input,
  .contact-form textarea {
    width: 100%;
    background: rgba(255,255,255,0.96);
    border: none;
    border-radius: 10px;
    padding: 16px 18px;
    font-family: var(--font-body);
    font-size: 15px;
    color: #141414;
  }
  .contact-form textarea { min-height: 96px; resize: vertical; }
  .consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 12.5px;
    color: var(--ink-faint);
    line-height: 1.5;
  }
  .consent input { width: 16px; height: 16px; margin-top: 2px; flex-shrink: 0; }
  .consent a { text-decoration: underline; }
  .submit-btn {
    background: var(--btn);
    color: #fff;
    border: none;
    border-radius: 999px;
    padding: 17px 20px;
    font-family: var(--font-body);
    font-weight: 700;
    font-size: 15px;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .2s ease, box-shadow .4s ease;
  }
  .submit-btn:hover {
    background: var(--btn-hover);
    box-shadow:
      0 0 12px rgba(255, 200, 130, 0.55),
      0 0 32px rgba(255, 170, 90, 0.4),
      0 0 64px rgba(255, 150, 80, 0.25);
  }
  .form-note { font-size: 13px; color: var(--ink-dim); margin: 0; min-height: 18px; }

  /* ---------- FOOTER ---------- */
  .footer {
    background: #000;
    color: var(--ink-dim);
    padding: 56px 0 40px;
  }
  .footer-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 30px;
    border-bottom: 1px solid rgba(255,255,255,0.12);
    padding-bottom: 40px;
    margin-bottom: 26px;
  }
  .footer-mark { display: flex; align-items: center; gap: 12px; }
  .footer-mark svg { width: 30px; height: 30px; }
  .footer-cols { display: flex; gap: 70px; }
  .footer-col h4 {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--ink-faint);
    margin: 0 0 14px;
    font-weight: 600;
  }
  .footer-col a {
    display: block;
    font-size: 14.5px;
    color: var(--ink-dim);
    text-decoration: none;
    margin-bottom: 10px;
  }
  .footer-col a:hover { color: var(--ink); }
  .footer-bottom { font-size: 13px; color: var(--ink-faint); }
  .footer-dev-line { margin-top: 6px; }
  .footer-dev-link {
    color: var(--ink-faint);
    text-decoration: underline;
    text-underline-offset: 2px;
    transition: color .2s ease;
  }
  .footer-dev-link:hover, .footer-dev-link:focus-visible { color: var(--ink); }

  @media (max-width: 900px) {
    .services-grid { grid-template-columns: 1fr; gap: 40px; }
    .contacts-grid { grid-template-columns: 1fr; gap: 40px; }
    .footer-top { flex-direction: column; align-items: flex-start; }
    .footer-cols { gap: 40px; }
    /* single-column cards read better centered: icon, heading and the
       button are centered, while body paragraphs stay left-aligned */
    .service-card { align-items: center; text-align: center; }
    .service-card img { margin-left: auto; margin-right: auto; }
    .service-card p { text-align: left; width: 100%; }
    .service-card .btn-outline { align-self: center; }
  }

  @media (max-width: 720px) {
    .hero-content .wrap { padding: 0 24px; }
    .hero-scrim { background: linear-gradient(180deg, rgba(0,0,0,0.35) 0%, rgba(0,0,0,0.55) 60%, rgba(0,0,0,0.75) 100%); }
    .wrap { padding: 0 22px; }
    .services { padding: 80px 0 60px; }
    .hero-bg img { object-position: 76% 78%; }
    /* Same color palette as the desktop version (no separate warm/bright mix
       for mobile — that made the hue muddy). Only the size/position differ
       here: center moved down from 58vh so the glow wraps the filament/socket
       area of the bulb photo instead of sitting above it — tuned empirically
       (screenshot comparisons) rather than from the raw box math, because
       the mix-blend-mode:screen compositing makes the visible "hot spot"
       land lower than the gradient's own geometric center once it nears the
       dark area below the bulb: 73vh was mathematically on the filament but
       rendered as a blob detached below the bulb; 66vh is where the visible
       glow actually wraps the filament. */
    .hero-glow { background:
      radial-gradient(ellipse 85% 55vh at 76% 66vh, rgba(255,186,120,0.55) 0%, rgba(255,140,90,0.22) 40%, rgba(0,0,0,0) 70%),
      radial-gradient(ellipse 130% 90vh at 76% 66vh, rgba(255,150,90,0.12) 0%, rgba(0,0,0,0) 68%);
    }
    .hero-flash { background: radial-gradient(circle 60vh at 76% 66vh, rgba(255,244,222,0.95) 0%, rgba(255,205,150,0.4) 20%, rgba(255,160,100,0) 50%); }
  }

  @media (prefers-reduced-motion: reduce) {
    .hero-bg img, .hero-glow, .hero h1, .hero-location, .btn {
      transition-duration: .4s;
    }
    .hero.igniting .hero-bg img, .hero.igniting .hero-flash, .hero.igniting .hero-glow { animation: none; }
  }
