@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@400;500;600;700;800&display=swap');

/* Cinematic reference wall: instrument navy, machined silver, signal orange. */
body.work-portfolio {
  --portfolio-ink: #07111e;
  --portfolio-deep: #0b1726;
  --portfolio-panel: #111f30;
  --portfolio-line: rgba(183, 210, 236, .16);
  --portfolio-copy: #f4f7fb;
  --portfolio-muted: #a9bacd;
  --portfolio-blue: #55baff;
  --portfolio-orange: #ff762e;
  --font-head: 'Sora', sans-serif;
  --font-body: 'Manrope', sans-serif;
  min-height: 100dvh;
  background: var(--portfolio-ink);
  color: var(--portfolio-copy);
  font-family: var(--font-body);
}

body.work-portfolio,
body.work-portfolio * { min-width: 0; }

body.work-portfolio main {
  display: flex;
  flex-direction: column;
  background:
    radial-gradient(ellipse 82% 420px at 52% 0, rgba(19, 86, 137, .18), transparent 74%),
    var(--portfolio-ink);
}

body.work-portfolio #nav {
  background: rgba(7, 17, 31, .96);
  border-bottom-color: rgba(165, 202, 231, .12);
  backdrop-filter: blur(16px);
}

body.work-portfolio #nav .nav-logo-name { font-family: var(--font-head); }
body.work-portfolio #nav .nav-links a[aria-current="page"]::after { background: var(--portfolio-orange); }
body.work-portfolio #nav .nav-phone svg { color: var(--portfolio-blue); }
body.work-portfolio #mobile-nav { background: var(--portfolio-deep); }

body.work-portfolio .svc-hero {
  position: relative;
  isolation: isolate;
  min-height: 382px;
  display: flex;
  align-items: stretch;
  overflow: hidden;
  padding: calc(var(--nav-h, 76px) + 17px) 0 27px;
  background:
    radial-gradient(ellipse at 76% 54%, rgba(23, 103, 162, .2), transparent 38%),
    #081321;
}

body.work-portfolio .svc-hero::before {
  position: absolute;
  z-index: -2;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5, 13, 23, .98) 0%, rgba(5, 13, 23, .93) 34%, rgba(5, 13, 23, .54) 63%, rgba(5, 13, 23, .3) 100%),
    linear-gradient(0deg, #07111e 0%, transparent 24%, rgba(5, 14, 25, .14) 100%),
    radial-gradient(ellipse at 82% 55%, rgba(255, 111, 43, .23), transparent 35%),
    url("k%C3%A9pek/kazancsere-viessmann-4.webp") center 47% / cover no-repeat;
  content: "";
}

body.work-portfolio .svc-hero::after {
  position: absolute;
  z-index: -1;
  right: 4%;
  bottom: -68%;
  width: 54%;
  height: 105%;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(24, 142, 224, .19), transparent 67%);
  content: "";
  pointer-events: none;
}

/* Picture selects the asset; its wrapper must not introduce a flex/grid item.
   The original img remains the positioned/sized box at every breakpoint. */
body.work-portfolio .work-art-source { display: contents; }
body.work-portfolio .work-art-source > source { display: none; }

body.work-portfolio .work-hero-art {
  position: absolute;
  z-index: -1;
  top: 0;
  right: max(1.5%, calc((100vw - 1800px) / 2));
  width: min(54%, 900px);
  height: 100%;
  object-fit: contain;
  object-position: center right;
  opacity: .94;
  filter: drop-shadow(0 30px 44px rgba(0, 0, 0, .55)) saturate(.94);
  transform: none;
  mix-blend-mode: normal;
  mask-image: linear-gradient(to right, transparent, #000 18%, #000);
  pointer-events: none;
}

body.work-portfolio .svc-hero > .container {
  position: relative;
  z-index: 1;
  width: min(100% - 64px, 1800px);
  max-width: 1800px;
  margin: 0 auto;
  padding: 0;
}

body.work-portfolio .svc-breadcrumb {
  margin: 0 0 21px;
  color: rgba(242, 247, 252, .68);
  font-size: .72rem;
  letter-spacing: .055em;
}

body.work-portfolio .svc-breadcrumb a { color: inherit; text-decoration: none; }
body.work-portfolio .svc-breadcrumb a:hover { color: var(--portfolio-blue); }
body.work-portfolio .svc-breadcrumb .sep { padding-inline: 10px; color: var(--portfolio-orange); }
body.work-portfolio .svc-hero-copy { max-width: 1030px; }

body.work-portfolio .svc-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #a3ddff;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .19em;
  line-height: 1.4;
  text-transform: uppercase;
}

body.work-portfolio .svc-eyebrow::before {
  width: 24px;
  height: 2px;
  background: var(--portfolio-orange);
  content: "";
}

body.work-portfolio .svc-hero h1 {
  width: fit-content;
  margin: 2px 0 -6px -8px;
  background: linear-gradient(112deg, #fff 2%, #c9d7e7 39%, #f8fbff 56%, #77c9ff 100%);
  background-clip: text;
  color: transparent;
  font-family: var(--font-head);
  font-size: clamp(7.2rem, 9.6vw, 9.55rem);
  font-weight: 800;
  letter-spacing: -.105em;
  line-height: .98;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 8px 28px rgba(74, 165, 224, .18));
}

body.work-portfolio .svc-hero-sub {
  display: flex;
  flex-wrap: wrap;
  gap: 0 .36em;
  margin: 12px 0 0;
  color: #80cfff;
  font-family: var(--font-head);
  font-size: clamp(1.28rem, 2.25vw, 2rem);
  font-weight: 800;
  letter-spacing: .018em;
  line-height: 1.2;
}

body.work-portfolio .svc-hero-sub span:last-child { color: #ff965e; }

body.work-portfolio .work-trust-list {
  display: grid;
  grid-template-columns: repeat(4, max-content);
  gap: 16px 28px;
  align-items: center;
  margin: 27px 0 0;
  padding: 0;
  list-style: none;
}

body.work-portfolio .work-trust-list li {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #d5e1eb;
  font-size: .77rem;
  line-height: 1.35;
  white-space: nowrap;
}

body.work-portfolio .work-trust-list svg {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  fill: none;
  stroke: #64c4ff;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.7;
  filter: drop-shadow(0 0 7px rgba(64, 174, 242, .38));
}

body.work-portfolio .work-trust-list li:nth-child(2) svg,
body.work-portfolio .work-trust-list li:nth-child(4) svg { stroke: #ff9860; }
body.work-portfolio .work-trust-list strong { color: #fff; font-weight: 800; }

body.work-portfolio #gallery {
  order: 1;
  width: 100%;
  padding: 15px 0 76px;
  color: var(--portfolio-copy);
  background:
    radial-gradient(ellipse at 9% 0, rgba(22, 93, 145, .11), transparent 44%),
    var(--portfolio-ink);
  scroll-margin-top: calc(var(--nav-h, 76px) + 18px);
}

body.work-portfolio #gallery > .container {
  width: min(100% - 64px, 1800px);
  max-width: 1800px;
  margin: 0 auto;
  padding: 0;
}

body.work-portfolio #gallery h2,
body.work-portfolio #gallery h3 {
  color: var(--portfolio-copy);
  font-family: var(--font-head);
}

body.work-portfolio .work-filter-card {
  position: relative;
  margin: 0 0 24px;
  padding: clamp(22px, 2.1vw, 34px) clamp(22px, 3.1vw, 48px) 24px;
  overflow: hidden;
  border: 1px solid rgba(103, 173, 218, .28);
  border-radius: 17px;
  background:
    linear-gradient(122deg, rgba(23, 39, 56, .97), rgba(11, 24, 39, .98) 56%, rgba(29, 32, 38, .96)),
    var(--portfolio-panel);
  box-shadow:
    0 20px 55px rgba(0, 0, 0, .3),
    0 0 25px rgba(38, 138, 201, .12),
    inset 0 1px rgba(255, 255, 255, .11);
}

body.work-portfolio .work-filter-card::before,
body.work-portfolio .work-filter-card::after {
  position: absolute;
  z-index: 0;
  width: 260px;
  height: 260px;
  border: 1px solid rgba(68, 173, 240, .12);
  border-radius: 50%;
  box-shadow: 0 0 0 24px rgba(68, 173, 240, .025), 0 0 0 50px rgba(68, 173, 240, .018);
  content: "";
  pointer-events: none;
}

body.work-portfolio .work-filter-card::before { top: -176px; left: 7%; }
body.work-portfolio .work-filter-card::after {
  right: -116px;
  bottom: -209px;
  border-color: rgba(255, 118, 46, .17);
  box-shadow: 0 0 0 24px rgba(255, 118, 46, .026), 0 0 0 50px rgba(255, 118, 46, .018);
}

body.work-portfolio .work-search-form { position: relative; z-index: 1; }
body.work-portfolio .work-facets {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 31px);
  margin: 0;
}

body.work-portfolio .work-field {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 8px;
}

body.work-portfolio .work-field label {
  display: flex;
  min-height: 33px;
  align-items: center;
  gap: 11px;
  color: #f0f6fb;
  font-family: var(--font-head);
  font-size: .9rem;
  font-weight: 800;
  letter-spacing: .1em;
}

body.work-portfolio .work-field-icon {
  width: 27px;
  height: 27px;
  flex: 0 0 27px;
  color: #71caff;
  filter: drop-shadow(0 0 8px rgba(71, 172, 236, .36));
}

body.work-portfolio .work-field-icon-city { color: #ff684a; }

body.work-portfolio .work-field select,
body.work-portfolio .work-field input {
  width: 100%;
  height: 64px;
  min-height: 60px;
  padding: 0 48px 0 17px;
  border: 1px solid rgba(215, 227, 237, .78);
  border-radius: 10px;
  outline: none;
  background-color: #f6f8fb;
  color: #152334;
  font: 700 .96rem/1.35 var(--font-body);
  box-shadow: 0 5px 17px rgba(0, 0, 0, .2), inset 0 1px rgba(255, 255, 255, .95);
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

body.work-portfolio .work-field select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m3.5 6 4.5 4.5L12.5 6' stroke='%23152334' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 17px center;
}

body.work-portfolio .work-field select:disabled {
  cursor: not-allowed;
  opacity: 1;
  background-color: #f5f7fb;
  color: #637181;
}
body.work-portfolio .work-field input::placeholder { color: #627284; opacity: 1; }
body.work-portfolio .work-field-help {
  min-height: 1.25em;
  color: #aab9c7;
  font-size: .75rem;
  line-height: 1.35;
}

body.work-portfolio .work-field select:focus-visible,
body.work-portfolio .work-field input:focus-visible,
body.work-portfolio #work-apply:focus-visible,
body.work-portfolio #work-reset:focus-visible,
body.work-portfolio .work-category-card:focus-visible,
body.work-portfolio .work-category:focus-visible {
  outline: 3px solid #ffb27d;
  outline-offset: 3px;
}

body.work-portfolio .work-field select:focus,
body.work-portfolio .work-field input:focus {
  border-color: #55baff;
  box-shadow: 0 0 0 4px rgba(85, 186, 255, .22), 0 7px 22px rgba(0, 0, 0, .23);
}

body.work-portfolio .work-filter-actions {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin-top: 22px;
}

body.work-portfolio .work-apply-button {
  width: min(520px, 72%);
  min-height: 66px;
  padding: 0 28px;
  border: 1px solid #ff9c5b;
  border-radius: 11px;
  background: linear-gradient(180deg, #ff9a50, #f4772e 73%, #e96024);
  color: #201710;
  cursor: pointer;
  font: 800 .98rem/1 var(--font-head);
  letter-spacing: .095em;
  box-shadow: 0 8px 27px rgba(255, 103, 39, .29), 0 0 30px rgba(255, 116, 46, .2), inset 0 1px rgba(255, 255, 255, .42);
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}

body.work-portfolio .work-apply-button:hover {
  transform: translateY(-2px);
  filter: brightness(1.06);
  box-shadow: 0 12px 34px rgba(255, 103, 39, .38), 0 0 36px rgba(255, 116, 46, .25), inset 0 1px rgba(255, 255, 255, .42);
}

body.work-portfolio .work-apply-button span { margin-left: 13px; font-size: 1.3rem; }

body.work-portfolio .work-reset-button {
  position: absolute;
  right: 0;
  min-height: 42px;
  padding: 7px 2px;
  border: 0;
  background: transparent;
  color: #c1ced9;
  cursor: pointer;
  font: 700 .78rem/1.4 var(--font-body);
  text-decoration: underline;
  text-decoration-color: rgba(189, 204, 218, .42);
  text-underline-offset: 4px;
}

body.work-portfolio .work-reset-button:hover { color: #fff; text-decoration-color: currentColor; }

body.work-portfolio .work-mobile-service {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  clip-path: inset(50%) !important;
}

body.work-portfolio #work-service-cards {
  width: 100%;
  max-width: none;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-auto-rows: minmax(238px, auto);
  gap: 15px;
  margin: 0 0 35px;
}

body.work-portfolio .work-category-card,
body.work-portfolio .work-category {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 225px;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-end;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(89, 181, 239, .48);
  border-radius: 11px;
  background: #101d2b;
  color: #fff;
  cursor: pointer;
  text-align: left;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .28), 0 0 16px rgba(48, 145, 204, .12);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

body.work-portfolio .work-category-card:nth-child(3n + 2),
body.work-portfolio .work-category:nth-child(3n + 2) {
  border-color: rgba(255, 131, 69, .54);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .28), 0 0 17px rgba(255, 111, 50, .13);
}

body.work-portfolio .work-category-card:nth-child(3n),
body.work-portfolio .work-category:nth-child(3n) { border-color: rgba(237, 87, 76, .55); }

body.work-portfolio .work-category-card:hover,
body.work-portfolio .work-category:hover:not(:disabled) {
  transform: translateY(-4px);
  border-color: #9bdcff;
  box-shadow: 0 15px 36px rgba(0, 0, 0, .34), 0 0 25px rgba(74, 174, 232, .25);
}

body.work-portfolio .work-category-card[aria-pressed="true"],
body.work-portfolio .work-category.is-active {
  border-color: #ff9a59;
  box-shadow: inset 0 0 0 2px #ff8a49, 0 10px 35px rgba(255, 118, 46, .22);
}

body.work-portfolio .work-category-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .35s ease;
}

body.work-portfolio .work-category-card:hover .work-category-image { transform: scale(1.045); }

body.work-portfolio .work-category-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5, 14, 24, .02) 2%, rgba(5, 14, 24, .18) 38%, rgba(5, 14, 24, .91) 100%);
}

body.work-portfolio .work-category-name {
  position: relative;
  z-index: 1;
  margin: 0 46px 20px 15px;
  color: #fff;
  font: 800 clamp(.9rem, 1.1vw, 1.16rem)/1.25 var(--font-head);
  letter-spacing: .035em;
  text-transform: uppercase;
  text-wrap: balance;
}

body.work-portfolio .work-category-count {
  position: absolute;
  z-index: 2;
  top: 12px;
  right: 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 28px;
  margin: 0;
  padding: 0 9px;
  border: 1px solid rgba(255, 255, 255, .37);
  border-radius: 999px;
  background: rgba(5, 14, 24, .76);
  color: #fff;
  font-size: .72rem;
  font-weight: 800;
  backdrop-filter: blur(7px);
}

body.work-portfolio .work-category-arrow {
  position: absolute;
  z-index: 2;
  right: 12px;
  bottom: 12px;
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .48);
  border-radius: 50%;
  background: rgba(8, 19, 31, .48);
  color: #ffab75;
  font-size: 1.13rem;
  transition: transform .2s ease, background-color .2s ease;
}

body.work-portfolio .work-category-card:hover .work-category-arrow { transform: translateX(3px); background: rgba(244, 119, 53, .25); }
body.work-portfolio .work-category[disabled] { cursor: pointer; opacity: .7; }
body.work-portfolio .work-category[disabled]:hover { transform: none; }
body.work-portfolio .work-category { justify-content: center; gap: 8px; padding: 22px; background: var(--portfolio-panel); }
body.work-portfolio .work-category strong { color: #f4f8fc; font: 700 .94rem/1.35 var(--font-head); }
body.work-portfolio .gallery-chip-n { color: #9db1c4; font-size: .74rem; }
body.work-portfolio .work-category.is-active strong,
body.work-portfolio .work-category.is-active .gallery-chip-n { color: #ffd0b2; }

body.work-portfolio #work-selection-title {
  margin: 0 0 6px;
  color: #f4f7fb;
  font-size: clamp(1.45rem, 2vw, 2rem);
  letter-spacing: -.045em;
}

body.work-portfolio .work-results {
  margin: 0 0 22px;
  color: var(--portfolio-muted);
  font-size: .84rem;
}

body.work-portfolio #work-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
}

body.work-portfolio #work-gallery-grid .gallery-tile {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(163, 197, 223, .19);
  border-radius: 9px;
  background: #101d2b;
  box-shadow: 0 13px 38px rgba(0, 0, 0, .2);
}

body.work-portfolio #work-gallery-grid .gallery-tile img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform .35s ease;
}

body.work-portfolio #work-gallery-grid .gallery-tile:hover img { transform: scale(1.035); }
body.work-portfolio #work-gallery-grid .gallery-cap { padding: 14px 16px 16px; color: var(--portfolio-copy); }
body.work-portfolio #work-gallery-grid .gallery-cap-tag { color: #8dcdf0; font-size: .64rem; letter-spacing: .12em; }
body.work-portfolio #work-gallery-grid .gallery-cap-title { margin-top: 5px; color: #f2f6fa; font: 600 .91rem/1.45 var(--font-head); }
body.work-portfolio #work-gallery-grid .gallery-tile-icon { border: 1px solid rgba(240, 247, 252, .5); background: rgba(9, 20, 32, .78); color: white; }

body.work-portfolio .work-extra-section {
  margin: 42px 0 26px;
  padding: 27px 0 0;
  border-top: 1px solid rgba(164, 194, 218, .16);
}

body.work-portfolio .work-extra-section h2 {
  margin: 0 0 18px;
  font-size: clamp(1.35rem, 2.2vw, 1.9rem);
  letter-spacing: -.04em;
}

body.work-portfolio #work-extra-service-cards {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}

body.work-portfolio #work-extra-service-cards .work-category-card { min-height: 145px; }

body.work-portfolio .gallery-empty {
  margin: 22px 0;
  padding: 25px;
  border: 1px dashed rgba(161, 192, 217, .3);
  border-radius: 9px;
  background: rgba(18, 37, 56, .52);
  color: #c0cfdd;
  text-align: center;
}

body.work-portfolio .gallery-context,
body.work-portfolio .gallery-footnote {
  max-width: 950px;
  margin: 30px auto 0;
  color: #9fb0c1;
  font-size: .88rem;
  line-height: 1.8;
}

body.work-portfolio .gallery-footnote { color: #dce7f0; }
body.work-portfolio .gallery-footnote a { color: #ff9a66; text-decoration: underline; text-underline-offset: 3px; }
body.work-portfolio .hide { display: none !important; }

body.work-portfolio .ba-section {
  order: 2;
  width: 100%;
  padding: clamp(58px, 8vw, 100px) 0;
  border-top: 1px solid rgba(164, 194, 218, .11);
  background: radial-gradient(ellipse at 80% 0, rgba(29, 84, 122, .16), transparent 52%), #0a1523;
}

body.work-portfolio .ba-head { max-width: 760px; margin: 0 auto 34px; text-align: center; }
body.work-portfolio .ba-head .section-label { color: #91d2f5; }
body.work-portfolio .ba-head .section-headline { color: #f4f7fa; }
body.work-portfolio .ba-head .section-sub,
body.work-portfolio .ba-caption { color: #a5b7c8; }
body.work-portfolio .ba-slider { border: 1px solid var(--portfolio-line); border-radius: 8px; }
body.work-portfolio .ba-caption { text-align: center; }

body.work-portfolio .svc-ctaband {
  background: radial-gradient(ellipse at 0 100%, rgba(37, 111, 161, .24), transparent 50%), #102238;
  color: var(--portfolio-copy);
}

body.work-portfolio .svc-ctaband h2 { color: #f6f8fb; font-family: var(--font-head); }
body.work-portfolio .svc-ctaband p { color: #bfcedc; }
body.work-portfolio footer { border-top: 1px solid rgba(168, 198, 222, .12); background: #07111e; color: #b6c3d0; }
body.work-portfolio footer .footer-logo-text,
body.work-portfolio footer .footer-col-title { color: #f4f7fa; }
body.work-portfolio footer a:hover { color: #8fd5fb; }
body.work-portfolio footer .footer-bottom { border-color: rgba(168, 198, 222, .13); }
body.work-portfolio #lightbox { z-index: 500; }

@media (max-width: 1200px) {
  body.work-portfolio .svc-hero { min-height: 365px; }
  body.work-portfolio .svc-hero > .container,
  body.work-portfolio #gallery > .container { width: min(100% - 48px, 1800px); }
  body.work-portfolio .svc-hero h1 { font-size: clamp(6.7rem, 10vw, 8.4rem); }
  body.work-portfolio .work-trust-list { gap: 13px 18px; }
  body.work-portfolio .work-trust-list li { font-size: .7rem; }
  body.work-portfolio .work-category-name { font-size: clamp(.92rem, 1.35vw, 1.08rem); }
  body.work-portfolio #work-extra-service-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.work-portfolio #work-gallery-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1099px) {
  body.work-portfolio #work-service-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: minmax(230px, auto); }
}

@media (max-width: 760px) {
  body.work-portfolio .svc-hero {
    min-height: auto;
    padding: calc(var(--nav-h, 76px) + 15px) 0 25px;
  }
  body.work-portfolio .svc-hero::before {
    background:
      linear-gradient(90deg, rgba(5, 13, 23, .94), rgba(5, 13, 23, .78)),
      linear-gradient(0deg, #07111e, transparent 45%),
      radial-gradient(ellipse at 85% 34%, rgba(255, 111, 43, .2), transparent 43%),
      url("k%C3%A9pek/kazancsere-viessmann-4.webp") center / cover no-repeat;
  }
  body.work-portfolio .work-hero-art { right: -8%; width: 65%; height: 80%; opacity: .42; }
  body.work-portfolio .svc-hero > .container,
  body.work-portfolio #gallery > .container { width: calc(100% - 38px); }
  body.work-portfolio .svc-breadcrumb { margin-bottom: 18px; }
  body.work-portfolio .svc-hero-copy { position: relative; z-index: 1; }
  body.work-portfolio .svc-hero h1 {
    margin: 5px 0 -2px -4px;
    font-size: clamp(4.2rem, 14vw, 7rem);
    letter-spacing: -.095em;
    line-height: 1;
    white-space: nowrap;
  }
  body.work-portfolio .svc-hero-sub { margin-top: 10px; font-size: clamp(1rem, 3.4vw, 1.5rem); }
  body.work-portfolio .work-trust-list {
    position: relative;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px 14px;
    margin-top: 22px;
  }
  body.work-portfolio .work-trust-list li { white-space: normal; font-size: .74rem; }
  body.work-portfolio #gallery { padding: 14px 0 58px; }
  body.work-portfolio .work-filter-card { margin-bottom: 19px; padding: 22px 20px; border-radius: 14px; }
  body.work-portfolio .work-facets { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 17px 14px; }
  body.work-portfolio .work-field label { min-height: 28px; font-size: .78rem; }
  body.work-portfolio .work-field-icon { width: 23px; height: 23px; flex-basis: 23px; }
  body.work-portfolio .work-field select,
  body.work-portfolio .work-field input { height: 58px; min-height: 58px; padding-left: 12px; font-size: .82rem; }
  body.work-portfolio .work-field select { padding-right: 34px; background-position: right 10px center; }
  body.work-portfolio .work-field-help { font-size: .69rem; }
  body.work-portfolio .work-filter-actions { margin-top: 19px; }
  body.work-portfolio .work-apply-button { width: min(100%, 520px); min-height: 60px; font-size: .86rem; }
  body.work-portfolio .work-reset-button { position: static; min-height: 40px; font-size: .7rem; }
  body.work-portfolio #work-service-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: minmax(210px, auto); gap: 11px; margin-bottom: 31px; }
  body.work-portfolio .work-category-card,
  body.work-portfolio .work-category { min-height: 210px; }
  body.work-portfolio .work-category-name { margin: 0 39px 17px 12px; font-size: .83rem; }
  body.work-portfolio .work-category-count { top: 9px; right: 8px; min-width: 34px; min-height: 25px; padding-inline: 7px; font-size: .66rem; }
  body.work-portfolio .work-category-arrow { right: 9px; bottom: 9px; width: 26px; height: 26px; }
  body.work-portfolio #work-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  body.work-portfolio #work-gallery-grid .gallery-cap { padding: 11px; }
  body.work-portfolio #work-gallery-grid .gallery-cap-title { font-size: .8rem; }
  body.work-portfolio .work-extra-section { margin-top: 33px; }
  body.work-portfolio #work-extra-service-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
}

@media (max-width: 430px) {
  body.work-portfolio .svc-hero > .container,
  body.work-portfolio #gallery > .container { width: calc(100% - 28px); }
  body.work-portfolio .svc-hero { padding-top: calc(var(--nav-h, 76px) + 11px); }
  body.work-portfolio .svc-breadcrumb { margin-bottom: 15px; font-size: .68rem; }
  body.work-portfolio .svc-eyebrow { font-size: .58rem; letter-spacing: .12em; }
  body.work-portfolio .svc-hero h1 { font-size: clamp(3.58rem, 15vw, 4.45rem); }
  body.work-portfolio .svc-hero-sub { gap: 0 .3em; font-size: clamp(.86rem, 3.65vw, 1rem); white-space: nowrap; }
  body.work-portfolio .work-trust-list { gap: 12px 8px; }
  body.work-portfolio .work-trust-list li { gap: 6px; font-size: .64rem; }
  body.work-portfolio .work-trust-list svg { width: 19px; height: 19px; flex-basis: 19px; }
  body.work-portfolio .work-filter-card { padding: 19px 14px 17px; }
  body.work-portfolio .work-facets { gap: 15px 9px; }
  body.work-portfolio .work-field label { gap: 7px; font-size: .69rem; letter-spacing: .065em; }
  body.work-portfolio .work-field-icon { width: 21px; height: 21px; flex-basis: 21px; }
  body.work-portfolio .work-field select,
  body.work-portfolio .work-field input { height: 55px; min-height: 55px; padding-left: 9px; font-size: .72rem; }
  body.work-portfolio .work-field select { padding-right: 27px; background-position: right 7px center; }
  body.work-portfolio .work-field-help { font-size: .62rem; }
  body.work-portfolio .work-filter-actions { flex-direction: column; gap: 4px; }
  body.work-portfolio .work-apply-button { width: 100%; min-height: 57px; padding-inline: 9px; font-size: .76rem; letter-spacing: .055em; }
  body.work-portfolio .work-reset-button { font-size: .67rem; }
  body.work-portfolio #work-service-cards { grid-auto-rows: minmax(185px, auto); gap: 8px; }
  body.work-portfolio .work-category-card,
  body.work-portfolio .work-category { min-height: 185px; }
  body.work-portfolio .work-category-name { margin: 0 33px 15px 9px; font-size: .71rem; letter-spacing: .02em; }
  body.work-portfolio .work-category-count { top: 7px; right: 6px; min-width: 30px; min-height: 23px; font-size: .61rem; }
  body.work-portfolio .work-category-arrow { right: 7px; bottom: 7px; width: 23px; height: 23px; }
  body.work-portfolio #work-gallery-grid { gap: 8px; }
  body.work-portfolio #work-gallery-grid .gallery-cap { padding: 9px; }
  body.work-portfolio #work-gallery-grid .gallery-cap-title { font-size: .73rem; }
  body.work-portfolio #work-extra-service-cards .work-category-card { min-height: 138px; }
}

@media (max-width: 350px) {
  body.work-portfolio .svc-hero h1 { font-size: 3.32rem; }
  body.work-portfolio .svc-hero-sub { font-size: .78rem; }
  body.work-portfolio .work-trust-list li { font-size: .59rem; }
  body.work-portfolio .work-facets { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  body.work-portfolio .work-field select,
  body.work-portfolio .work-field input { font-size: .8rem; }
  body.work-portfolio .work-field-help { font-size: .66rem; }
  body.work-portfolio .work-category-name { font-size: .66rem; }
}

@media (max-width: 600px) {
  body.work-portfolio .svc-eyebrow { display: none; }
}

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

/* Approved Munkáim reference artwork: keep the supplied photographic composition
   intact and place real, operable form controls directly over its printed UI. */
body.work-portfolio .svc-hero {
  display: block;
  min-height: 0;
  height: auto;
  aspect-ratio: 1024 / 216;
  margin-top: var(--nav-h, 76px);
  padding: 0;
  overflow: hidden;
  background: #07101d;
}
body.work-portfolio .svc-hero::before,
body.work-portfolio .svc-hero::after { content: none; }
body.work-portfolio .svc-hero > .container {
  position: absolute;
  inset: 0;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
}
body.work-portfolio .work-hero-art {
  position: absolute;
  inset: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  opacity: 1;
  filter: none;
  mask-image: none;
}
body.work-portfolio .svc-breadcrumb,
body.work-portfolio .svc-hero-copy {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
}
body.work-portfolio .work-mobile-brand { display: none; }
body.work-portfolio .work-mobile-scene,
body.work-portfolio .work-mobile-trust { display: none; }

body.work-portfolio #gallery {
  padding: 0 0 76px;
  background: #07111e;
}
body.work-portfolio #gallery > .container {
  width: min(calc(100% - 48px), 1600px);
  max-width: 1600px;
}
body.work-portfolio .work-filter-card {
  width: 100%;
  aspect-ratio: 977 / 142;
  min-height: 142px;
  margin: -3px 0 4px;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: #07111e url("/knowledge-images/work-approved-panel.webp") center / 100% 100% no-repeat;
  box-shadow: none;
}
body.work-portfolio .work-filter-card::before,
body.work-portfolio .work-filter-card::after { content: none; }
body.work-portfolio .work-search-form {
  position: absolute;
  inset: 0;
  z-index: 1;
}
body.work-portfolio .work-facets {
  position: absolute;
  inset: 0;
  display: block;
  margin: 0;
}
body.work-portfolio .work-field {
  position: absolute;
  top: 40.14%;
  display: block;
  width: 20.98%;
  height: 20.42%;
}
body.work-portfolio .work-field:nth-child(1) { left: 2.66%; width: 20.98%; }
body.work-portfolio .work-field:nth-child(2) { left: 26.20%; width: 22.21%; }
body.work-portfolio .work-field:nth-child(3) { left: 50.97%; width: 22.52%; }
body.work-portfolio .work-field:nth-child(4) { left: 76.05%; width: 21.08%; }
body.work-portfolio .work-field label,
body.work-portfolio .work-field-help {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
}
body.work-portfolio .work-field select,
body.work-portfolio .work-field input {
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0 26px 0 12px;
  border: 1px solid rgba(231, 240, 248, .94);
  border-radius: 6px;
  background-color: #f5f7fa;
  color: #1a2530;
  font: 600 clamp(.7rem, 1.1vw, .95rem)/1.2 var(--font-body);
  box-shadow: none;
}
body.work-portfolio .work-field select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m3.5 6 4.5 4.5L12.5 6' stroke='%23152334' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
}
body.work-portfolio .work-field input::placeholder { color: #63707e; opacity: 1; }
body.work-portfolio .work-field select:focus-visible,
body.work-portfolio .work-field input:focus-visible {
  outline: 3px solid #ffb27d;
  outline-offset: 2px;
  border-color: #fff;
}
body.work-portfolio .work-filter-actions {
  position: static;
  display: block;
  margin: 0;
}
body.work-portfolio .work-apply-button {
  position: absolute;
  top: 69.01%;
  left: 33.57%;
  width: 32.85%;
  height: 24.65%;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: transparent;
  font-size: 0;
  box-shadow: none;
}
body.work-portfolio .work-apply-button span { margin-left: 0; }
body.work-portfolio .work-apply-button svg,
body.work-portfolio .work-reset-button svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  vertical-align: -3px;
}
body.work-portfolio .work-apply-button svg { margin-right: 8px; }
body.work-portfolio .work-reset-button svg { width: 14px; height: 14px; margin-right: 4px; }
body.work-portfolio .work-apply-button svg,
body.work-portfolio .work-reset-button svg { visibility: hidden; }
body.work-portfolio .work-apply-button:hover {
  transform: none;
  filter: none;
  box-shadow: none;
}
body.work-portfolio .work-apply-button:focus-visible,
body.work-portfolio .work-reset-button:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 1px;
}
body.work-portfolio .work-reset-button {
  position: absolute;
  top: 79%;
  right: 1.2%;
  width: 12%;
  height: 18%;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: transparent;
  font-size: 0;
  text-decoration: none;
  box-shadow: none;
}
body.work-portfolio .work-mobile-service {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
}
body.work-portfolio #work-service-cards {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-auto-rows: auto;
  gap: clamp(5px, .65vw, 10px);
  margin: 0 0 33px;
}
body.work-portfolio .work-category-card {
  aspect-ratio: 162 / 130;
  min-height: 0;
  border: 0;
  border-radius: 8px;
  background-color: #091421;
  box-shadow: none;
}
body.work-portfolio .work-category-card:nth-child(3n + 2),
body.work-portfolio .work-category-card:nth-child(3n) { border: 0; box-shadow: none; }
body.work-portfolio .work-category-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 0 0 2px rgba(130, 207, 255, .75), 0 5px 14px rgba(0,0,0,.28);
}
body.work-portfolio .work-category-card[aria-pressed="true"] {
  box-shadow: inset 0 0 0 3px #ff8d37, 0 0 12px rgba(255, 118, 46, .5);
}
body.work-portfolio .work-category-image {
  object-fit: cover;
  transition: none;
}
body.work-portfolio .work-category-card:hover .work-category-image { transform: none; }
body.work-portfolio .work-category-shade,
body.work-portfolio .work-category-arrow { display: none; }
body.work-portfolio .work-category-name {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  clip-path: inset(50%);
}
body.work-portfolio .work-category-count {
  top: 48.8%;
  right: 5%;
  width: 32%;
  min-width: 0;
  min-height: 0;
  height: 18%;
  padding: 0;
  border: 1px solid rgba(215, 235, 250, .8);
  border-radius: 999px;
  background: linear-gradient(#142335, #07111e);
  color: #fff;
  font: 600 clamp(.6rem, 1.07vw, 1.1rem)/1 var(--font-body);
  backdrop-filter: none;
}
body.work-portfolio #work-selection-title { margin-top: 0; }

@media (max-width: 760px) {
  body.work-portfolio .svc-hero {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 13px;
    height: auto;
    aspect-ratio: auto;
    min-height: 0;
    padding: 14px 14px 18px;
    background: #07111e;
  }
  body.work-portfolio .work-hero-art {
    display: none;
  }
  body.work-portfolio .work-mobile-brand {
    position: static;
    inset: auto;
    display: flex;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
    pointer-events: none;
  }
  body.work-portfolio .work-mobile-brand img {
    display: block;
    width: 100%;
    height: auto;
    visibility: visible !important;
    opacity: 1 !important;
  }
  body.work-portfolio .work-mobile-scene {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 846 / 376;
    border-radius: 8px;
  }
  body.work-portfolio .work-mobile-trust {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  body.work-portfolio .work-mobile-trust img {
    display: block;
    width: 100%;
    height: auto;
  }
  body.work-portfolio .work-facets .work-field select,
  body.work-portfolio .work-facets .work-field input {
    height: 48px;
    font-size: 16px;
  }
  body.work-portfolio .work-field:first-child .work-field-icon {
    color: #ffb33c;
  }
  body.work-portfolio .svc-hero > .container,
  body.work-portfolio .svc-hero-copy {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: normal;
    clip-path: inset(50%);
    pointer-events: none;
  }
  body.work-portfolio .svc-hero-copy .svc-eyebrow,
  body.work-portfolio .svc-hero-copy h1,
  body.work-portfolio .svc-hero-copy .svc-hero-sub {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
  }
  body.work-portfolio .work-trust-list {
    position: absolute;
    left: 3%;
    bottom: 5%;
    display: grid;
    width: 70%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 6px;
    margin: 0;
  }
  body.work-portfolio .work-trust-list li {
    gap: 4px;
    padding: 2px 3px;
    border-radius: 3px;
    background: rgba(4, 14, 24, .68);
    color: #f0f5fa;
    font-size: clamp(.53rem, 2.25vw, .62rem);
    line-height: 1.15;
    white-space: normal;
  }
  body.work-portfolio .work-trust-list svg {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
  }
  body.work-portfolio #gallery { padding: 0 0 58px; }
  body.work-portfolio #gallery > .container { width: calc(100% - 28px); }
  body.work-portfolio .work-filter-card {
    aspect-ratio: auto;
    min-height: 0;
    height: auto;
    margin: -2px 0 10px;
    padding: 16px 13px 13px;
    border: 1px solid rgba(82, 175, 235, .45);
    border-radius: 12px;
    background:
      radial-gradient(ellipse at 14% 0%, rgba(31, 114, 165, .2), transparent 47%),
      radial-gradient(ellipse at 94% 100%, rgba(255, 111, 47, .12), transparent 36%),
      repeating-linear-gradient(0deg, rgba(150, 196, 227, .022) 0 1px, transparent 1px 5px),
      linear-gradient(145deg, #14283a 0%, #071321 51%, #111c29 100%);
    box-shadow: inset 0 1px rgba(255,255,255,.09), 0 6px 19px rgba(0,0,0,.28);
  }
  body.work-portfolio .work-search-form { position: relative; inset: auto; }
  body.work-portfolio .work-facets {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 10px;
  }
  body.work-portfolio .work-field {
    position: static;
    display: flex;
    width: auto;
    height: auto;
    flex-direction: column;
    gap: 5px;
  }
  body.work-portfolio .work-facets .work-field:nth-child(n) {
    position: static;
    top: auto;
    left: auto;
    right: auto;
    width: auto;
    height: auto;
  }
  body.work-portfolio .work-field label,
  body.work-portfolio .work-field-help {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    white-space: normal;
    clip-path: none;
  }
  body.work-portfolio .work-field label {
    min-height: 0;
    gap: 6px;
    color: #f2f6fb;
    font: 800 .68rem/1.2 var(--font-head);
    letter-spacing: .065em;
  }
  body.work-portfolio .work-field-icon { width: 18px; height: 18px; flex-basis: 18px; }
  body.work-portfolio .work-field-help { display: none; }
  body.work-portfolio .work-field select,
  body.work-portfolio .work-field input {
    height: 43px;
    min-height: 43px;
    padding: 0 28px 0 9px;
    border: 1px solid rgba(228, 238, 247, .86);
    border-radius: 7px;
    background-color: #f5f7fa;
    color: #1a2530;
    font-size: clamp(.72rem, 3vw, .82rem);
    box-shadow: 0 2px 7px rgba(0,0,0,.2), inset 0 1px rgba(255,255,255,.9);
  }
  body.work-portfolio .work-field select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m3.5 6 4.5 4.5L12.5 6' stroke='%23152334' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 7px center;
  }
  body.work-portfolio .work-filter-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
  }
  body.work-portfolio .work-apply-button {
    position: static;
    width: min(76%, 420px);
    height: auto;
    min-height: 44px;
    padding: 0 8px;
    border: 1px solid #ffc266;
    border-radius: 9px;
    background: linear-gradient(#ffbd50, #ff8d00 70%, #fa7900);
    color: #211308;
    font: 800 .75rem/1 var(--font-head);
    letter-spacing: .045em;
    box-shadow: 0 0 12px rgba(255,138,0,.4), inset 0 1px rgba(255,255,255,.55);
  }
  body.work-portfolio .work-apply-button svg,
  body.work-portfolio .work-reset-button svg { visibility: visible; }
  body.work-portfolio .work-apply-button svg { margin-right: 5px; }
  body.work-portfolio .work-apply-button span { margin-left: 5px; }
  body.work-portfolio .work-reset-button {
    position: static;
    width: auto;
    height: auto;
    min-height: 40px;
    padding: 4px;
    border: 0;
    background: transparent;
    color: #d8e1ea;
    font-size: .64rem;
    white-space: nowrap;
    box-shadow: none;
  }
  body.work-portfolio #work-service-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 25px;
  }
  body.work-portfolio .work-category-card { aspect-ratio: 162 / 130; }
  body.work-portfolio .work-category-count {
    top: 48.8%;
    right: 5%;
    width: 32%;
    height: 18%;
    padding-inline: 0;
    font-size: .7rem;
  }
  body.work-portfolio #work-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 350px) {
  body.work-portfolio .work-mobile-brand { width: 100%; }
  body.work-portfolio .work-trust-list { width: 72%; }
  body.work-portfolio .work-facets { grid-template-columns: minmax(0, 1fr); }
  body.work-portfolio .work-filter-card { padding: 14px 12px 12px; }
  body.work-portfolio .work-field select,
  body.work-portfolio .work-field input { font-size: .78rem; }
  body.work-portfolio .work-filter-actions { gap: 4px; }
  body.work-portfolio .work-apply-button { width: 100%; font-size: .76rem; }
  body.work-portfolio .work-reset-button { font-size: .59rem; }
}
