
    :root {
      --blue:#006edc;--blue-2:#2997ff;--blue-dark:#003f88;--ink:#1d1d1f;--muted:#6e6e73;
      --line:rgba(29,29,31,.12);--surface:#fff;--soft:#f5f5f7;--surface-blue:#eef8ff;
      --shadow:0 24px 70px rgba(21,65,107,.12);--radius-sm:16px;--radius:24px;--radius-lg:32px;
      --container:min(1180px,calc(100% - 48px));--header:56px;--ease:cubic-bezier(.22,1,.36,1)
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth;scroll-padding-top:80px}
    body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Inter","Segoe UI",Arial,sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
    body.is-locked{overflow:hidden}
    img,svg{display:block;max-width:100%}
    a{text-decoration:none;color:inherit}
    button,input,textarea{font:inherit}
    button{cursor:pointer}
    .container{width:var(--container);margin-inline:auto}
    h1,h2,h3,p{margin-top:0}
    h1,h2,h3{letter-spacing:-.035em;line-height:1.04}
    h1{font-size:clamp(3.7rem,6.4vw,5.8rem);font-weight:760}
    h2{font-size:clamp(2.3rem,4.8vw,3.5rem);font-weight:740}
    h3{font-size:clamp(1.35rem,2vw,1.75rem)}

    .site-header{position:fixed;inset:0 0 auto;z-index:100;height:var(--header);background:rgba(255,255,255,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(29,29,31,.08)}
    .header__inner{height:100%;display:flex;align-items:center;gap:28px}
    .brand{display:flex;align-items:center;flex:0 0 auto}
    .brand img{width:164px;height:auto}
    .nav{margin-left:auto;display:flex;align-items:center;gap:26px;font-size:14px}
    .nav a{transition:color .2s}
    .nav a:hover,.nav a.active{color:var(--blue)}
    .header__actions{display:flex;align-items:center;gap:12px}
    .phone{font-size:14px;font-weight:650}
    .menu{display:none;width:42px;height:42px;border:0;border-radius:50%;background:var(--soft);position:relative}
    .menu::before,.menu::after{content:"";position:absolute;left:12px;right:12px;height:2px;background:var(--ink)}
    .menu::before{top:16px}.menu::after{top:24px}

    .button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 23px;border:1px solid transparent;border-radius:999px;font-weight:650;line-height:1;transition:.25s var(--ease)}
    .button:hover{transform:translateY(-1px)}
    .button--primary{background:var(--blue);color:#fff;box-shadow:0 10px 28px rgba(0,110,220,.22)}
    .button--primary:hover{background:#0077ed}
    .button--secondary{border-color:var(--blue);color:var(--blue);background:rgba(255,255,255,.75)}
    .button--secondary:hover{background:var(--blue);color:#fff}
    .button--small{min-height:42px;padding:10px 18px;font-size:14px}
    .button--white{background:#fff;color:var(--blue-dark)}

    .hero{min-height:780px;padding:calc(var(--header) + 56px) 0 64px;background:linear-gradient(118deg,#fff 0%,#fff 40%,#f1f9ff 100%);position:relative;overflow:hidden}
    .hero::after{content:"";position:absolute;right:-110px;bottom:-180px;width:430px;height:430px;border:1px solid rgba(0,110,220,.08);border-radius:50%;box-shadow:0 0 0 74px rgba(0,110,220,.025),0 0 0 148px rgba(0,110,220,.018)}
    .hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.82fr) minmax(520px,1.18fr);gap:58px;align-items:center}
    .breadcrumbs{display:flex;align-items:center;gap:10px;margin-bottom:36px;color:var(--muted);font-size:13px}
    .breadcrumbs a{color:var(--blue)}
    .hero h1{max-width:540px;margin-bottom:24px}
    .hero h1 span{display:block;color:var(--blue);white-space:nowrap}
    .hero__lead{max-width:500px;margin-bottom:30px;font-size:clamp(1.15rem,2vw,1.45rem);line-height:1.45}
    .hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:36px}
    .hero__facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;max-width:570px}
    .hero__fact{min-width:0;padding:15px 14px;border-radius:18px;background:rgba(245,245,247,.88)}
    .hero__fact strong{display:block;margin-bottom:4px;color:var(--blue);font-size:18px;line-height:1.15}
    .hero__fact span{display:block;color:var(--muted);font-size:12px;line-height:1.35}
    .hero__media{position:relative;min-width:0}
    .hero-slider{position:relative;min-height:610px;border-radius:var(--radius-lg);overflow:hidden;background:#dcecf8;box-shadow:var(--shadow);cursor:pointer}
    .hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .45s var(--ease),visibility .45s}
    .hero-slide.is-active{opacity:1;visibility:visible}
    .hero-slide img{width:100%;height:100%;object-fit:cover}
    .hero-slider::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(0,38,84,.42));pointer-events:none}
    .hero__arrow{position:absolute;z-index:5;top:50%;width:48px;height:48px;margin-top:-24px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);font-size:28px;line-height:1;box-shadow:0 10px 30px rgba(21,65,107,.14);display:grid;place-items:center;transition:.2s}
    .hero__arrow:hover{transform:scale(1.05)}
    .hero__arrow--prev{left:18px}.hero__arrow--next{right:18px}
    .hero__overlay{position:absolute;z-index:6;left:-28px;right:74px;bottom:-36px;min-height:120px;padding:24px 28px;border:1px solid rgba(255,255,255,.72);border-radius:26px;background:rgba(255,255,255,.94);backdrop-filter:blur(20px);box-shadow:0 24px 60px rgba(21,65,107,.18)}
    .hero__overlay small{display:block;margin-bottom:7px;color:var(--blue);font-weight:700}
    .hero__overlay strong{display:block;max-width:86%;font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.16;letter-spacing:-.025em}
    .hero__counter{position:absolute;z-index:7;right:18px;bottom:18px;min-width:76px;padding:11px 14px;border-radius:999px;background:rgba(255,255,255,.94);font-size:13px;font-weight:750;text-align:center;box-shadow:0 10px 30px rgba(21,65,107,.14)}

    .section{padding:clamp(80px,9vw,124px) 0}
    .section--soft{background:var(--soft)}
    .section-heading{max-width:780px;margin:0 0 clamp(38px,5vw,58px);text-align:left}
    .section-heading h2{margin-bottom:14px}
    .section-heading p{max-width:680px;margin:0;color:var(--muted);font-size:clamp(1.05rem,2vw,1.22rem)}
    .filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}
    .filter{min-height:42px;padding:10px 18px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-weight:650;transition:.2s}
    .filter:hover,.filter.is-active{border-color:var(--blue);background:var(--blue);color:#fff}
    .projects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
    .project-card{min-width:0}
    .project-card[hidden]{display:none}
    .project-card__button{width:100%;height:100%;padding:0;border:1px solid var(--line);border-radius:var(--radius);background:#fff;text-align:left;overflow:hidden;box-shadow:0 16px 48px rgba(21,65,107,.07);transition:.28s var(--ease);display:flex;flex-direction:column;align-items:stretch}
    .project-card__button:hover{transform:translateY(-5px);box-shadow:0 24px 58px rgba(21,65,107,.13)}
    .project-card__media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--surface-blue)}
    .project-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
    .project-card__button:hover img{transform:scale(1.035)}
    .project-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 62%,rgba(0,47,102,.22));pointer-events:none}
    .project-card__zoom{position:absolute;z-index:2;right:14px;bottom:14px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.94);color:var(--blue);font-size:20px;font-weight:750;box-shadow:0 10px 30px rgba(21,65,107,.12)}
    .project-card__body{display:block;min-height:146px;height:auto;padding:19px 20px 22px;overflow:visible;flex:1 0 auto}
    .project-card__type{display:block;margin-bottom:8px;color:var(--blue);font-size:13px;font-weight:700}
    .project-card__body strong{display:block;font-size:18px;line-height:1.3;letter-spacing:-.015em;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance}

    .cta{padding:0 0 110px}
    .cta__box{display:flex;align-items:center;justify-content:space-between;gap:34px;padding:46px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--blue-dark),var(--blue),var(--blue-2));color:#fff;box-shadow:0 28px 78px rgba(0,90,190,.24)}
    .cta__box h2{max-width:760px;margin-bottom:14px}
    .cta__box p{max-width:720px;margin-bottom:0;color:rgba(255,255,255,.84)}

    .request{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:start}
    .request__copy p{color:var(--muted)}
    .form{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:28px;border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow)}
    .form label{display:grid;gap:7px;font-size:14px;font-weight:650}
    .form label.full{grid-column:1/-1}
    .form input,.form textarea{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fff;outline:none}
    .form input:focus,.form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,110,220,.08)}
    .form textarea{min-height:110px;resize:vertical}
    .form .button{grid-column:1/-1}
    .form small{grid-column:1/-1;color:var(--muted)}
    .form__error{grid-column:1/-1;display:none;padding:11px 14px;border-radius:12px;background:#fff0f0;color:#b00020;font-size:14px}
    .form__error.is-visible{display:block}

    .footer{padding:44px 0 26px;border-top:1px solid var(--line)}
    .footer__top{display:grid;grid-template-columns:1.1fr .8fr 1fr .9fr;gap:24px}
    .footer__brand img{width:170px}
    .footer h4{margin:0 0 12px;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
    .footer p,.footer a{margin:0 0 7px;font-size:15px}
    .footer__bottom{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:28px;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}

    .lightbox{position:fixed;inset:0;z-index:300;display:none;place-items:center;padding:28px;background:rgba(4,13,25,.88);backdrop-filter:blur(14px)}
    .lightbox.is-open{display:grid}
    .lightbox__dialog{position:relative;width:min(1120px,100%);height:min(760px,calc(100vh - 56px));display:grid;grid-template-rows:minmax(0,1fr) auto;border-radius:26px;overflow:hidden;background:#fff;box-shadow:0 34px 90px rgba(0,0,0,.35)}
    .lightbox__media{min-height:0;background:#0b1320;display:grid;place-items:center}
    .lightbox__media img{width:100%;height:100%;object-fit:contain}
    .lightbox__caption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;background:#fff}
    .lightbox__caption strong{font-size:18px;line-height:1.25}
    .lightbox__caption span{flex:0 0 auto;color:var(--muted);font-size:13px}
    .lightbox__close,.lightbox__nav{position:absolute;z-index:2;border:0;border-radius:50%;background:rgba(255,255,255,.94);color:var(--ink);box-shadow:0 10px 30px rgba(0,0,0,.18);display:grid;place-items:center}
    .lightbox__close{right:16px;top:16px;width:44px;height:44px;font-size:25px}
    .lightbox__nav{top:50%;width:50px;height:50px;margin-top:-25px;font-size:30px}
    .lightbox__prev{left:16px}.lightbox__next{right:16px}

    .reveal{opacity:0;transform:translateY(18px);transition:.65s var(--ease)}
    .reveal.is-visible{opacity:1;transform:none}

    @media(max-width:1050px){
      .hero{min-height:auto}
      .hero__grid{grid-template-columns:1fr;gap:48px}
      .hero__copy{max-width:760px}
      .hero__media{max-width:760px}
      .hero-slider{min-height:560px}
      .hero__overlay{left:18px;right:80px}
      .projects{grid-template-columns:repeat(2,minmax(0,1fr))}
      .request,.footer__top{grid-template-columns:1fr 1fr}
    }
    @media(max-width:1000px){
      .nav{display:none;position:absolute;top:64px;left:24px;right:24px;padding:20px;border-radius:20px;background:#fff;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start}
      .nav.is-open{display:flex}
      .phone,.header__actions .button{display:none}
      .menu{display:block;margin-left:auto}
      .cta__box{align-items:flex-start;flex-direction:column}
    }
    @media(max-width:720px){
      :root{--container:min(100% - 24px,1180px)}
      body{font-size:16px}
      .brand img{width:142px}
      .hero{padding-top:calc(var(--header) + 34px);padding-bottom:54px}
      .breadcrumbs{margin-bottom:24px}
      .hero h1{font-size:clamp(3rem,14vw,4.15rem);margin-bottom:18px}
      .hero h1 span{white-space:normal}
      .hero__lead{font-size:18px}
      .hero__actions{display:grid;grid-template-columns:1fr}
      .hero__actions .button{width:100%}
      .hero__facts{grid-template-columns:1fr}
      .hero__fact{padding:14px 16px}
      .hero-slider{min-height:460px;border-radius:24px}
      .hero__overlay{left:10px;right:10px;bottom:-26px;padding:19px 18px;min-height:110px}
      .hero__overlay strong{max-width:100%;font-size:20px}
      .hero__counter{right:12px;bottom:12px}
      .hero__arrow{width:44px;height:44px}
      .section{padding:72px 0}
      .projects{grid-template-columns:1fr}
      .project-card__body{min-height:112px}
      .request,.footer__top{grid-template-columns:1fr}
      .form{grid-template-columns:1fr;padding:20px}
      .form label,.form label.full,.form .button,.form small,.form__error{grid-column:1}
      .cta{padding-bottom:72px}
      .cta__box{padding:30px 22px}
      .lightbox{padding:10px}
      .lightbox__dialog{height:calc(100vh - 20px);border-radius:18px}
      .lightbox__caption{align-items:flex-start;flex-direction:column;gap:5px;padding:15px 16px}
      .lightbox__nav{width:44px;height:44px}
      .lightbox__prev{left:8px}.lightbox__next{right:8px}
    }
    @media(prefers-reduced-motion:reduce){
      *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
      .reveal{opacity:1;transform:none}
    }
  


  html, body { max-width: 100%; background: #fff !important; overflow-x: hidden; }
  *, *::before, *::after { box-sizing: border-box; }
  main img, figure img { max-width: 100%; }
  figure { margin: 0; }
  .site-header { background: rgba(255,255,255,.92) !important; border-bottom: 1px solid #e5e5e7 !important; }
  .section--soft { background: #f5f5f7 !important; }
  .section--blue { background-color: #eef8ff !important; }
  .why:not(.request) { background-color: #f5f5f7 !important; color: #1d1d1f !important; }
  .why:not(.request) h2, .why:not(.request) h3, .why:not(.request) strong { color: #1d1d1f !important; }
  .why:not(.request) p, .why:not(.request) span { color: #6e6e73 !important; }

  .impact-grid, .technology-grid, .benefits-grid, .benefit-grid, .product-grid,
  .process-grid, .calc-cards, .engineering-cards, .feature-strip__inner,
  .steps, .advantages-grid, .services-grid { align-items: stretch !important; }
  .impact-grid > *, .technology-grid > *, .benefits-grid > *, .benefit-grid > *,
  .product-grid > *, .process-grid > *, .calc-cards > *, .engineering-cards > *,
  .feature-strip__inner > *, .steps > *, .advantages-grid > *, .services-grid > * {
    height: 100%; min-width: 0; box-sizing: border-box;
  }
  [class*="card"], [class*="Card"] { min-width: 0; }
  h1, h2, h3, h4, p, li { max-width: 100%; }

  .hv-unified-footer { padding: 64px 0 28px !important; background: #fff !important; color: #424245 !important; border-top: 1px solid #e5e5e7 !important; }
  .hv-unified-footer .container { width: min(1180px, calc(100% - 48px)); max-width: 1180px; margin: 0 auto; padding: 0; }
  .hv-unified-footer .footer-grid { display: grid; grid-template-columns: 1.45fr repeat(4, minmax(0,1fr)); gap: 30px; align-items: start; }
  .hv-unified-footer .footer-brand img { width: 170px; height: auto; object-fit: contain; filter: none !important; }
  .hv-unified-footer .footer-brand p { max-width: 290px; margin: 18px 0 0; color: #6e6e73 !important; font-size: 14px; line-height: 1.55; }
  .hv-unified-footer h2 { margin: 0 0 15px; color: #1d1d1f !important; font-size: 16px; line-height: 1.25; }
  .hv-unified-footer a { display: block; margin: 0 0 10px; color: #424245 !important; text-decoration: none; font-size: 14px; line-height: 1.45; }
  .hv-unified-footer a:hover { color: #006edc !important; }
  .hv-unified-footer p { margin: 0 0 10px; color: #6e6e73 !important; font-size: 14px; line-height: 1.5; }
  .hv-unified-footer .footer-bottom { display: flex; justify-content: space-between; gap: 24px; margin-top: 42px; padding-top: 22px; border-top: 1px solid #e5e5e7; }
  .hv-unified-footer .footer-bottom p { margin: 0; color: #86868b !important; font-size: 13px; }

  @media (max-width: 900px) {
    .hv-unified-footer .footer-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .hv-unified-footer .footer-brand { grid-column: 1 / -1; }
  }
  @media (max-width: 600px) {
    .hv-unified-footer { padding: 48px 0 24px !important; }
    .hv-unified-footer .container { width: min(100% - 28px, 1180px); }
    .hv-unified-footer .footer-grid { grid-template-columns: 1fr; gap: 24px; }
    .hv-unified-footer .footer-brand { grid-column: auto; }
    .hv-unified-footer .footer-bottom { flex-direction: column; margin-top: 30px; }
    main img, figure img { max-width: 100% !important; height: auto; }
  }

/* v14.6.29 — lightbox: the entire project photo must be visible.
   The image element fills the existing media frame, while object-fit: contain
   scales the actual photo inside it without cropping. */
.lightbox__media {
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  display: grid !important;
  place-items: center !important;
}
.lightbox__media img#lightboxImage {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  margin: 0 !important;
  transform: none !important;
}
