/* V67 — GERCEK: mobile hero stability, compact subservice catalog and scalable detail headings.
   Loaded after all previous styles. Only the three requested components are affected. */

/* 1 / Mobile hero: each slide participates in the same CSS grid track.
   The tallest slide defines ONE stable height; switching active slides cannot move the page. */
@media (max-width:900px) {
  body.cms-theme .hero-slider.hero-slider-v19 {
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    align-items:stretch!important;
    height:auto!important;
    min-height:0!important;
    position:relative!important;
    isolation:isolate!important;
  }
  body.cms-theme .hero-slider-v19 > .hero-slide,
  body.cms-theme .hero-slider-v19 > .hero-slide.active {
    display:block!important;
    grid-area:1 / 1!important;
    position:relative!important;
    inset:auto!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
    z-index:0;
  }
  body.cms-theme .hero-slider-v19 > .hero-slide.active {
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    z-index:1;
  }
  body.cms-theme .hero-slider-v19 .hero-content {
    box-sizing:border-box!important;
    height:auto!important;
    min-height:0!important;
    display:flex!important;
    align-items:flex-start!important;
  }
  body.cms-theme .hero-slider-v19 .hero-slide .hero-copy-v19 {
    transform:none!important;
    opacity:1!important;
    transition:none!important;
    animation:none!important;
  }
  body.cms-theme .hero-slider-v19 .hero-static-bg {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    transform:none!important;
    transition:none!important;
    animation:none!important;
  }
  body.cms-theme .hero-slider-v19 .slider-arrow,
  body.cms-theme .hero-slider-v19 .slider-dots-v19 {z-index:5!important}
}

/* 2 / Services directory: compact two-column reading experience, not long table rows. */
.v45-catalog .v43-results-section {
  padding-top:35px;
  background:linear-gradient(180deg,#fff 0%,#f9fcff 100%);
}
.v45-catalog .v46-service-directory {
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  overflow:visible!important;
  box-shadow:none!important;
}
.v45-catalog .v46-service-entry,
.v45-catalog .v46-service-entry:not(:last-child) {
  display:block;
  min-width:0;
  background:linear-gradient(148deg,#fff 0%,#fff 75%,#f4faff 100%);
  border:1px solid #dce9f3!important;
  border-radius:17px;
  box-shadow:0 8px 24px rgba(18,70,109,.035);
  overflow:hidden;
  transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;
}
.v45-catalog .v46-service-entry::before {
  inset:0 auto auto 0;
  width:100%;height:3px;
  background:linear-gradient(90deg,#0d95cd,#7cd7f5);
  opacity:.48;
}
.v45-catalog .v46-service-entry-link {
  width:100%;height:100%;min-height:142px;
  display:grid!important;
  grid-template-columns:46px minmax(0,1fr)!important;
  grid-template-rows:auto minmax(0,auto);
  align-content:start;align-items:start;
  gap:8px 13px!important;
  padding:19px 19px 17px!important;
  background:transparent!important;
  border-radius:inherit;
}
.v45-catalog .v46-entry-icon {
  grid-column:1;grid-row:1 / span 2;
  width:46px;height:46px;
  border-radius:13px;
  background:linear-gradient(145deg,#e7f7ff,#f0faff);
  color:#068bcc;
  border:1px solid #cce7f7;
}
.v45-catalog .v46-entry-icon svg {
  display:block!important;
  width:23px!important;height:23px!important;
  max-width:23px!important;max-height:23px!important;
  stroke-width:1.8!important;
}
.v45-catalog .v46-entry-copy {grid-column:2;grid-row:1;gap:5px!important;min-width:0}
.v45-catalog .v46-entry-title {
  color:#0b2e51;font-size:15px!important;
  line-height:1.27!important;font-weight:850;
  overflow-wrap:break-word;
}
.v45-catalog .v46-entry-summary {
  font-size:12.1px!important;line-height:1.48!important;
  color:#627e95;
  max-width:100%;
}
.v45-catalog .v46-entry-aside {
  grid-column:2;grid-row:2;
  min-width:0;
  display:flex;flex-direction:row!important;
  align-items:center!important;justify-content:space-between;
  flex-wrap:wrap;gap:8px 12px!important;
  margin-top:7px;
}
.v45-catalog .v46-entry-tech {display:flex;justify-content:flex-start!important;gap:5px!important;max-width:100%;flex-wrap:wrap}
.v45-catalog .v46-entry-tech > span {
  font-size:9.3px!important;line-height:1.25!important;
  padding:4px 7px!important;
  font-weight:650;
  background:#eaf6fd;color:#426f90;
}
.v45-catalog .v46-entry-action {
  margin-left:auto;
  padding:0!important;min-height:0!important;
  background:transparent!important;border:0!important;
  box-shadow:none!important;border-radius:0!important;
  color:#087cad!important;font-size:11.5px!important;
  font-weight:820;
  text-decoration:underline;text-decoration-color:#aad5ec;
  text-underline-offset:4px;
}
.v45-catalog .v46-service-entry-link:hover .v46-entry-action,
.v45-catalog .v46-service-entry-link:focus-visible .v46-entry-action {
  background:transparent!important;border:0!important;
  color:#03679b!important;
}
@media (hover:hover) and (pointer:fine) {
  .v45-catalog .v46-service-entry:hover {
    border-color:#9bd0ed!important;
    transform:translateY(-2px);
    box-shadow:0 15px 31px rgba(16,89,136,.075);
  }
}
@media(max-width:850px) {
  .v45-catalog .v46-service-directory {grid-template-columns:1fr!important;gap:11px!important}
  .v45-catalog .v46-service-entry-link {min-height:0!important;padding:16px!important}
}
@media(max-width:480px) {
  .v45-catalog .v46-service-entry-link {
    grid-template-columns:39px minmax(0,1fr)!important;
    gap:7px 10px!important;
    padding:14px!important;
  }
  .v45-catalog .v46-entry-icon {width:39px;height:39px;border-radius:11px}
  .v45-catalog .v46-entry-icon svg {width:21px!important;height:21px!important}
  .v45-catalog .v46-entry-title {font-size:14.1px!important}
  .v45-catalog .v46-entry-summary {font-size:11.7px!important;line-height:1.45!important}
  .v45-catalog .v46-entry-aside {margin-top:5px;gap:8px}
}

/* 3 / Service details: balanced headings. Long titles use a smaller fluid size.
   Lead, photo and scope content are never truncated. */
.v66-detail .v66-unified-copy {padding:30px 28px 12px!important}
.v66-detail .v66-category {margin-bottom:12px!important}
.v66-detail .v66-unified-copy h1 {
  margin:0 0 12px!important;
  font-size:clamp(30px,2.7vw,41px)!important;
  line-height:1.12!important;
  letter-spacing:-.037em!important;
  text-wrap:balance;
  overflow-wrap:break-word;
}
.v66-detail .v66-unified-copy h1.v67-title-medium {font-size:clamp(28px,2.45vw,37px)!important}
.v66-detail .v66-unified-copy h1.v67-title-long {font-size:clamp(25px,2.2vw,32px)!important;line-height:1.16!important}
.v66-detail .v66-lead {line-height:1.62!important;font-size:13.7px!important}
.v66-detail .v66-tags {margin-top:13px!important}
.v66-detail .v66-actions {margin-top:18px!important}
.v66-detail .v66-intro-visual {height:154px!important;min-height:0!important;margin-top:12px!important}
@media(max-width:900px) {
  .v66-detail .v66-unified-copy {padding:28px 25px 17px!important}
}
@media(max-width:700px) {
  .v66-detail .v66-unified-copy {padding:24px 19px 20px!important}
  .v66-detail .v66-unified-copy h1 {font-size:31px!important;line-height:1.15!important}
  .v66-detail .v66-unified-copy h1.v67-title-medium {font-size:27px!important}
  .v66-detail .v66-unified-copy h1.v67-title-long {font-size:23px!important;line-height:1.21!important}
  .v66-detail .v66-lead {font-size:12.8px!important;line-height:1.62!important}
}
@media(max-width:355px) {
  .v66-detail .v66-unified-copy h1.v67-title-medium {font-size:25px!important}
  .v66-detail .v66-unified-copy h1.v67-title-long {font-size:21px!important}
}
@media(prefers-reduced-motion:reduce) {
  .v45-catalog .v46-service-entry {transition:none!important}
}
