/* LAWTER v5.6.0 — layout stability, premium hero instrument and media system */

/* 1) Golden-ratio grids without width overflow: the gap now participates in available space. */
.hero-grid-v5,.service-hero-grid,.section-intro,.service-overview-grid{
  grid-template-columns:minmax(0,1.618fr) minmax(0,1fr)!important;
}
.operating-grid,.about-grid-v5,.contact-grid-v5,.focus-layout,.corporate-proof-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1.618fr)!important;
}
.process-head{grid-template-columns:minmax(0,1fr) minmax(0,1.618fr)!important}
.cap-panel-grid{grid-template-columns:minmax(0,1.618fr) minmax(0,1fr)!important}
.hero-grid-v5>*,.service-hero-grid>*,.section-intro>*,.operating-grid>*,.about-grid-v5>*,.contact-grid-v5>*,.service-overview-grid>*,.focus-layout>*,.process-head>*,.corporate-proof-grid>*,.cap-panel-grid>*{min-width:0}

/* Avoid horizontal browser drift on long DE/UA/CN content and large editorial headings. */
main,.hero,.section,.site-footer{max-width:100%;overflow-x:clip}
.hero-copy,.service-hero-copy{min-width:0}
.hero-copy h1,.service-hero-copy h1{max-width:100%;overflow-wrap:normal;word-break:normal}
.lang-de .hero-copy h1,.lang-uk .hero-copy h1,.lang-de .service-hero-copy h1,.lang-uk .service-hero-copy h1{font-size:clamp(50px,6.15vw,94px);hyphens:auto}
.lang-zh .hero-copy h1,.lang-zh .service-hero-copy h1{letter-spacing:-.015em;line-height:1.02}

/* 2) Flagship hero instrument: readable, editorial and stable instead of narrow vertical text. */
.hero-structure{
  min-height:650px!important;
  padding:86px 22px 146px!important;
  overflow:hidden;
  isolation:isolate;
  border-color:rgba(237,207,149,.28);
  background:linear-gradient(180deg,rgba(7,26,49,.86),rgba(2,11,23,.94));
}
.hero-sector-backdrop{
  opacity:.34!important;
  filter:saturate(.78) contrast(1.07) brightness(.66)!important;
  transform:scale(1.025)!important;
}
.hero-structure::after{
  background:
    linear-gradient(90deg,rgba(2,11,23,.94) 0%,rgba(2,11,23,.74) 37%,rgba(2,11,23,.20) 71%,rgba(2,11,23,.70) 100%),
    linear-gradient(180deg,rgba(2,11,23,.08),rgba(2,11,23,.72) 78%,rgba(2,11,23,.98))!important;
}
.hero-structure-head{z-index:10;top:18px;left:20px;right:20px}
.hero-structure-kicker,.hero-structure-count{background:rgba(2,11,23,.68);border-color:rgba(237,207,149,.24);box-shadow:none}
.structure-mark{inset:24% 9% 22% 38%!important;opacity:.09!important;justify-items:end}
.structure-mark img{width:min(82%,330px)!important}

/* Vertical selection rail, each title stays horizontal and fully readable. */
.structure-pillars{
  z-index:7;
  left:20px!important;
  right:auto!important;
  top:102px!important;
  bottom:148px!important;
  width:min(45%,220px);
  display:grid!important;
  grid-template-rows:repeat(5,minmax(0,1fr));
  gap:7px!important;
  align-items:stretch!important;
}
.structure-pillar{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  clip-path:none!important;
  display:grid;
  grid-template-columns:38px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:8px 10px;
  overflow:hidden;
  transform:none!important;
  background:linear-gradient(90deg,rgba(2,11,23,.76),rgba(7,26,49,.52))!important;
  border:1px solid rgba(237,207,149,.24)!important;
  box-shadow:none!important;
}
.structure-pillar::before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:var(--gold-300);transform:scaleY(0);transform-origin:bottom;transition:transform .28s var(--ease)}
.structure-pillar::after{display:none!important}
.structure-pillar img{display:none!important}
.structure-pillar .pillar-no{
  position:static!important;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  padding:0!important;
  border:1px solid rgba(237,207,149,.22);
  background:rgba(2,11,23,.52);
  font-size:11px!important;
}
.structure-pillar .pillar-label{
  position:static!important;
  display:block!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  backdrop-filter:none!important;
  writing-mode:horizontal-tb!important;
  transform:none!important;
  max-height:none!important;
  font-size:11px!important;
  line-height:1.25!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
  color:var(--cream-200)!important;
}
.structure-pillar:hover,.structure-pillar:focus-visible,.structure-pillar.is-active{
  width:100%!important;
  transform:translateX(4px)!important;
  background:linear-gradient(90deg,rgba(194,158,106,.19),rgba(7,26,49,.76))!important;
  border-color:rgba(237,207,149,.58)!important;
}
.structure-pillar:hover::before,.structure-pillar:focus-visible::before,.structure-pillar.is-active::before{transform:scaleY(1)}
.structure-pillar:hover .pillar-label,.structure-pillar:focus-visible .pillar-label,.structure-pillar.is-active .pillar-label{color:var(--cream-100)!important}
.structure-pillar.is-active .pillar-no{background:var(--gold-metal);border-color:transparent;color:var(--navy-950)}
.structure-baseline{z-index:4;left:48%!important;right:7%!important;bottom:124px!important;opacity:.55}
.hero-sector-preview{
  z-index:12!important;
  left:20px!important;
  right:20px!important;
  bottom:18px!important;
  grid-template-columns:58px minmax(0,1fr) auto!important;
  min-height:92px;
  padding:16px 18px!important;
  border-color:rgba(237,207,149,.34)!important;
  background:linear-gradient(90deg,rgba(2,11,23,.97),rgba(7,26,49,.92))!important;
}
.hero-sector-preview::before{width:3px!important}
.hero-sector-no{width:54px!important;min-height:54px!important;font-size:26px!important}
.hero-sector-copy{min-width:0}
.hero-sector-copy strong{font-size:clamp(18px,1.55vw,23px)!important;white-space:normal}
.hero-sector-copy p{max-width:43ch!important;font-size:11px!important;line-height:1.5!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hero-sector-link{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-300)}

/* 3) Service pages use wide premium photography instead of forcing landscape media into a portrait crop. */
.service-hero{padding-top:72px!important}
.service-hero-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)!important;gap:clamp(34px,5vw,72px)!important}
.service-hero-media{
  aspect-ratio:16/11!important;
  width:100%;
  max-width:none!important;
  border-color:rgba(237,207,149,.28)!important;
  clip-path:polygon(0 0,92% 0,100% 10%,100% 100%,0 100%)!important;
}
.service-hero-media img{object-fit:cover!important;object-position:center center!important;filter:saturate(.88) contrast(1.03)!important}
.service-hero-media::before{content:"";position:absolute;z-index:2;left:18px;top:18px;width:54px;height:1px;background:var(--gold-300);box-shadow:0 8px 0 rgba(237,207,149,.42)}
.service-hero-media::after{background:linear-gradient(180deg,rgba(2,11,23,.03) 42%,rgba(2,11,23,.88))!important}
.service-hero-media figcaption{left:22px!important;right:22px!important;bottom:18px!important;padding-top:13px;border-top:1px solid rgba(237,207,149,.28)}
.lawter-page-telekommunikacio .service-hero-media img{object-position:54% 50%!important}
.lawter-page-import-export .service-hero-media img{object-position:50% 52%!important}
.lawter-page-ingatlanfejlesztes .service-hero-media img{object-position:50% 50%!important}
.lawter-page-energetika .service-hero-media img{object-position:50% 48%!important}
.lawter-page-orvostechnika .service-hero-media img{object-position:50% 48%!important}

/* 4) Consistent media framing across homepage, cross navigation and evidence. */
.capability-media,.crossnav-card,.evidence-card,.about-photo-frame{background:var(--navy-850)}
.capability-media-image,.capability-mobile-image,.crossnav-card>img,.evidence-card img{image-rendering:auto}
.capability-media-image[data-capability-image="telekommunikacio"]{object-position:53% 50%}
.capability-media-image[data-capability-image="import-export"]{object-position:50% 52%}
.capability-media-image[data-capability-image="ingatlanfejlesztes"]{object-position:50% 50%}
.capability-media-image[data-capability-image="energetika"]{object-position:50% 48%}
.capability-media-image[data-capability-image="orvostechnika"]{object-position:50% 48%}
.about-photo-frame img{object-fit:contain!important;object-position:center!important}

/* 5) Desktop section rail becomes compact before it can collide with the flagship stage. */
@media(max-width:1500px) and (min-width:1181px){
  .section-rail,.service-chapter-rail{right:10px!important}
  .section-rail .rail-copy,.service-chapter-rail .rail-copy{display:none!important}
  .section-rail a,.service-chapter-rail a{grid-template-columns:auto!important;justify-items:center!important;padding-inline:7px!important}
}

/* 6) Responsive safety: no hero overflow and no unreadable sector labels. */
@media(max-width:1180px){
  .hero-grid-v5,.service-hero-grid,.section-intro,.operating-grid,.about-grid-v5,.contact-grid-v5,.service-overview-grid,.focus-layout,.process-head,.corporate-proof-grid{grid-template-columns:1fr!important}
  .hero-copy h1{font-size:clamp(52px,8.4vw,90px)}
  .hero-structure{max-width:820px!important;width:100%;margin-inline:auto;min-height:610px!important}
  .service-hero-media{max-width:820px!important;aspect-ratio:16/10!important;justify-self:start!important}
}
@media(max-width:760px){
  .hero-structure{min-height:570px!important;padding:74px 14px 128px!important}
  .hero-structure-head{left:14px!important;right:14px!important;top:14px!important}
  .hero-structure-kicker,.hero-structure-count{padding:10px 11px!important}
  .hero-structure-kicker strong{font-size:14px!important}
  .hero-structure-count strong{font-size:22px!important}
  .structure-pillars{
    left:14px!important;right:14px!important;top:auto!important;bottom:132px!important;width:auto!important;height:48px!important;
    display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;grid-template-rows:1fr!important;gap:5px!important;
  }
  .structure-pillar{display:grid!important;grid-template-columns:1fr!important;padding:6px!important;justify-items:center!important}
  .structure-pillar .pillar-no{width:100%!important;height:34px!important}
  .structure-pillar .pillar-label{display:none!important}
  .structure-pillar:hover,.structure-pillar:focus-visible,.structure-pillar.is-active{transform:translateY(-3px)!important}
  .structure-mark{inset:21% 12% 29% 12%!important;justify-items:center!important}
  .structure-mark img{width:min(70%,300px)!important}
  .structure-baseline{left:12%!important;right:12%!important;bottom:104px!important}
  .hero-sector-preview{left:14px!important;right:14px!important;bottom:14px!important;grid-template-columns:44px minmax(0,1fr)!important;min-height:88px!important;padding:13px 13px!important}
  .hero-sector-no{width:42px!important;min-height:42px!important;font-size:21px!important}
  .hero-sector-copy strong{font-size:16px!important}
  .hero-sector-copy p{font-size:10px!important;-webkit-line-clamp:2}
  .hero-sector-link{display:none!important}
  .service-hero-media{aspect-ratio:4/3!important}
}
@media(max-width:420px){
  .hero-copy h1{font-size:clamp(46px,14vw,64px);line-height:.98}
  .hero-structure{min-height:530px!important}
  .hero-sector-copy p{display:none!important}
  .service-hero-copy h1{font-size:clamp(40px,12.5vw,58px)!important}
}

@media(prefers-reduced-motion:reduce){
  .structure-pillar::before{transition:none!important}
}
