/* LAWTER v5.10.1 — regression hotfix + full design stabilization */

/* Critical above-the-fold content must never depend on JS reveal timing. */
.hero-v5 .hero-copy.reveal,
.hero-v5 .hero-structure.reveal,
.about .about-photo-frame.reveal{
  opacity:1!important;
  transform:none!important;
}
.hero-v5 .hero-copy.reveal h1,
.hero-v5 .hero-copy.reveal .hero-lead,
.hero-v5 .hero-copy.reveal .hero-actions,
.hero-v5 .hero-copy.reveal .hero-ledger{
  opacity:1!important;
  transform:none!important;
}

/* HERO — rebuild the right instrument as a robust 2026 premium panel. */
.hero-v5{display:flex!important;align-items:center!important;min-height:calc(100svh - var(--header));}
.hero-v5 .hero-grid-v5{
  display:grid!important;
  grid-template-columns:minmax(0,1.55fr) minmax(480px,.95fr)!important;
  gap:clamp(56px,6vw,96px)!important;
  align-items:start!important;
  width:var(--shell)!important;
}
.hero-copy{position:relative;z-index:2;min-width:0!important;padding-block:clamp(52px,8vh,96px)!important}
.hero-copy h1{max-width:11.8ch!important;font-size:clamp(64px,6.6vw,104px)!important;line-height:.98!important}

.hero-structure{
  position:relative!important;
  margin-top:52px!important;
  display:grid!important;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)!important;
  grid-template-rows:auto minmax(310px,1fr) auto!important;
  gap:24px!important;
  width:100%!important;
  min-height:620px!important;
  padding:28px!important;
  overflow:hidden!important;
  contain:none!important;
  clip-path:polygon(0 0,92% 0,100% 8%,100% 100%,0 100%)!important;
  border:1px solid rgba(237,207,149,.28)!important;
  background:linear-gradient(160deg,rgba(8,28,52,.96),rgba(2,11,23,.98))!important;
  box-shadow:0 28px 72px rgba(0,0,0,.34)!important;
}
.hero-structure::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:
    linear-gradient(90deg,rgba(2,11,23,.94) 0%,rgba(2,11,23,.74) 43%,rgba(2,11,23,.22) 100%),
    radial-gradient(circle at 80% 18%,rgba(194,158,106,.18),transparent 34%)!important;
  pointer-events:none!important;
}
.hero-structure::after{content:none!important}
.hero-sector-backdrop{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:.34!important;
  filter:saturate(.86) contrast(1.08) brightness(.72)!important;
  transform:scale(1.02)!important;
  z-index:0!important;
}
.hero-structure-head{
  position:relative!important;
  inset:auto!important;
  grid-column:1/-1!important;
  grid-row:1!important;
  z-index:4!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:16px!important;
  margin:0!important;
}
.hero-structure-kicker,
.hero-structure-count{
  padding:14px 16px!important;
  border:1px solid rgba(237,207,149,.24)!important;
  background:rgba(2,11,23,.72)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.18)!important;
}
.hero-structure-kicker strong{font-size:clamp(26px,2.2vw,38px)!important}
.hero-structure-count strong{font-size:28px!important}
.structure-mark{
  position:absolute!important;
  inset:116px 22px 132px auto!important;
  width:48%!important;
  height:auto!important;
  opacity:.08!important;
  z-index:1!important;
  pointer-events:none!important;
}
.structure-mark img{width:100%!important;height:auto!important}

.structure-pillars{
  position:relative!important;
  inset:auto!important;
  grid-column:1!important;
  grid-row:2!important;
  z-index:5!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:repeat(5,minmax(60px,1fr))!important;
  gap:9px!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  align-content:stretch!important;
  align-self:stretch!important;
}
.structure-pillar{
  position:relative!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:60px!important;
  margin:0!important;
  padding:10px 12px!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  overflow:hidden!important;
  clip-path:none!important;
  transform:none!important;
  border:1px solid rgba(237,207,149,.22)!important;
  background:linear-gradient(90deg,rgba(2,11,23,.78),rgba(7,26,49,.56))!important;
  box-shadow:none!important;
}
.structure-pillar::after{display:none!important}
.structure-pillar::before{
  content:""!important;
  position:absolute!important;
  inset:0 auto 0 0!important;
  width:3px!important;
  background:var(--gold-300)!important;
  transform:scaleY(0)!important;
  transform-origin:bottom!important;
  transition:transform .28s var(--ease)!important;
}
.structure-pillar:hover,
.structure-pillar:focus-visible,
.structure-pillar.is-active{
  width:100%!important;
  transform:translateX(5px)!important;
  border-color:rgba(237,207,149,.56)!important;
  background:linear-gradient(90deg,rgba(194,158,106,.20),rgba(7,26,49,.76))!important;
  box-shadow:0 14px 30px rgba(0,0,0,.20)!important;
}
.structure-pillar:hover::before,
.structure-pillar:focus-visible::before,
.structure-pillar.is-active::before{transform:scaleY(1)!important}
.structure-pillar .pillar-no{
  position:static!important;
  display:grid!important;
  place-items:center!important;
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  padding:0!important;
  border:1px solid rgba(237,207,149,.28)!important;
  background:rgba(2,11,23,.58)!important;
  font-size:13px!important;
  line-height:1!important;
  color:var(--gold-300)!important;
}
.structure-pillar.is-active .pillar-no{background:var(--gold-metal)!important;color:var(--navy-950)!important;border-color:transparent!important}
.structure-pillar .pillar-label{
  position:static!important;
  display:block!important;
  min-width:0!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  writing-mode:horizontal-tb!important;
  transform:none!important;
  max-height:none!important;
  overflow:visible!important;
  font-size:12px!important;
  line-height:1.25!important;
  letter-spacing:.01em!important;
  text-transform:none!important;
  color:var(--cream-200)!important;
}
.structure-pillar .pillar-label strong{display:block!important;font-size:12px!important;line-height:1.25!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
.structure-pillar.is-active .pillar-label strong{color:var(--cream-100)!important}

.hero-sector-preview{
  position:relative!important;
  inset:auto!important;
  grid-column:1/-1!important;
  grid-row:3!important;
  z-index:5!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  min-height:0!important;
  align-self:stretch!important;
  display:grid!important;
  grid-template-columns:64px minmax(0,1fr) auto!important;
  gap:16px!important;
  padding:22px!important;
  border:1px solid rgba(237,207,149,.30)!important;
  background:linear-gradient(180deg,rgba(6,22,42,.72),rgba(2,11,23,.90))!important;
  box-shadow:0 22px 44px rgba(0,0,0,.30)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}
.hero-sector-preview::before{width:3px!important}
.hero-sector-no{
  display:grid!important;
  place-items:center!important;
  width:64px!important;
  height:64px!important;
  min-height:64px!important;
  font-size:30px!important;
  line-height:1!important;
}
.hero-sector-copy{min-width:0!important}
.hero-sector-copy strong{display:block!important;font-size:clamp(22px,1.8vw,30px)!important;line-height:1.05!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
.hero-sector-copy p{display:block!important;margin-top:8px!important;max-width:34ch!important;font-size:12px!important;line-height:1.55!important;-webkit-line-clamp:unset!important;overflow:visible!important;text-overflow:clip!important;white-space:normal!important}
.hero-sector-link{grid-column:3!important;grid-row:1!important;align-self:center!important;justify-self:end!important;margin-top:0!important;font-size:9px!important}
.structure-baseline{display:none!important}

/* Capability visual column must never collapse to an empty navy block. */
.capability-matrix{grid-template-columns:minmax(380px,.92fr) minmax(0,1.08fr)!important}
.capability-media{display:block!important;position:relative!important;min-height:720px!important;opacity:1!important;transform:none!important}
.capability-media-base{opacity:.18!important}
.capability-media-image.is-active{opacity:.82!important}
.capability-media figcaption{z-index:5!important}

/* About — restore the selected Budapest night photograph and remove JS dependency. */
.about-grid-v5{
  grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr)!important;
  gap:clamp(44px,6vw,92px)!important;
  align-items:center!important;
}
.about-photo-frame{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:520px!important;
  aspect-ratio:1365/2048!important;
  justify-self:start!important;
  opacity:1!important;
  transform:none!important;
  overflow:hidden!important;
  background:#041326!important;
  border:1px solid rgba(237,207,149,.26)!important;
  box-shadow:0 26px 68px rgba(0,0,0,.32)!important;
}
.about-photo-frame::before{content:none!important}
.about-photo-frame img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:1!important;
}
.about-photo-frame figcaption{left:24px!important;right:24px!important;bottom:22px!important;z-index:4!important}
.about-photo-frame figcaption strong{font-size:28px!important;color:var(--gold-300)!important}

/* Number blocks — centred, same navy as surrounding section. */
.operating-step>span,
.capability-no,
.process-step>span{
  place-items:center!important;
  text-align:center!important;
  background:rgba(2,11,23,.36)!important;
  border-color:rgba(237,207,149,.30)!important;
  color:var(--gold-300)!important;
  box-shadow:none!important;
}

/* Section rail — premium, deterministic visual states; JS hotfix owns active state. */
.section-rail{
  position:fixed!important;
  right:18px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  z-index:80!important;
  display:grid!important;
  gap:10px!important;
}
.section-rail a{min-height:24px!important}
.section-rail a.is-active .rail-copy{max-width:180px!important;opacity:1!important;transform:none!important}
.section-rail a.is-active::after{background:var(--gold-500)!important;border-color:var(--gold-300)!important;box-shadow:0 0 0 4px rgba(194,158,106,.09),0 0 22px rgba(194,158,106,.18)!important}

/* Footer watermark: quieter champagne relationship with structural lines. */
.footer-structural{opacity:.18!important}
.footer-structural i{border-inline-color:rgba(194,158,106,.30)!important;background:linear-gradient(180deg,rgba(194,158,106,.18),transparent)!important}
.footer-wordmark{color:rgba(194,158,106,.075)!important;letter-spacing:.105em!important;opacity:1!important}

@media(max-width:1480px){
  .section-rail{right:10px!important}
  .section-rail .rail-copy{display:none!important}
}
@media(max-width:1280px){
  .hero-v5 .hero-grid-v5{grid-template-columns:1fr!important;gap:38px!important}
  .hero-copy{max-width:900px!important;padding-bottom:4px!important}
  .hero-structure{width:min(860px,100%)!important;justify-self:center!important;margin-top:0!important}
  .capability-matrix{grid-template-columns:minmax(320px,.86fr) minmax(0,1.14fr)!important}
  .about-grid-v5{grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr)!important}
}

@media(max-width:1180px){
  .section-rail{display:none!important}
}
@media(max-width:960px){
  .hero-v5{min-height:auto!important}
  .hero-v5 .hero-grid-v5{grid-template-columns:1fr!important}
  .hero-structure{grid-template-columns:1fr!important;grid-template-rows:auto auto auto!important;min-height:auto!important;padding:20px!important}
  .hero-structure-head{grid-column:1!important;grid-row:1!important}
  .structure-pillars{grid-column:1!important;grid-row:2!important;grid-template-columns:1fr!important;grid-template-rows:repeat(5,56px)!important}
  .hero-sector-preview{grid-column:1!important;grid-row:3!important;margin-top:4px!important}
  .structure-mark{inset:auto 20px 120px auto!important;width:44%!important}
  .capability-matrix{grid-template-columns:1fr!important}
  .capability-media{min-height:520px!important}
  .about-grid-v5{grid-template-columns:1fr!important}
  .about-photo-frame{justify-self:center!important;max-width:520px!important}
  .section-rail{display:none!important}
}
@media(max-width:640px){
  .hero-structure{padding:14px!important}
  .hero-structure-head{gap:10px!important}
  .hero-structure-kicker,.hero-structure-count{padding:10px 11px!important}
  .structure-pillars{gap:6px!important;grid-template-rows:repeat(5,50px)!important}
  .structure-pillar{grid-template-columns:36px minmax(0,1fr)!important;min-height:50px!important;padding:7px 9px!important}
  .structure-pillar .pillar-no{width:36px!important;height:36px!important;min-width:36px!important;font-size:11px!important}
  .structure-pillar .pillar-label strong{font-size:11px!important}
  .hero-sector-preview{grid-template-columns:50px minmax(0,1fr)!important;padding:16px!important}
  .hero-sector-no{width:50px!important;height:50px!important;min-height:50px!important;font-size:25px!important}
  .hero-sector-copy strong{font-size:22px!important}
  .hero-sector-copy p{font-size:11px!important}
  .capability-media{min-height:430px!important}
}
