:root{--navy:     #0B2545;
  --navy-2:   #163671;
  --blue:     #1A56DB;
  --blue-lt:  #3B82F6;
  --sky:      #EFF6FF;
  --sky-2:    #DBEAFE;
  --ink:      #0F1923;
  --ink-60:   #64748B;
  --ink-30:   #CBD5E1;
  --rule:     #E2E8F0;
  --white:    #FFFFFF;
  --serif:    'Montserrat', system-ui, sans-serif;
  --sans:     'Montserrat', system-ui, sans-serif;
  --ease:     cubic-bezier(.4,0,.2,1);}
*, *::before, *::after{box-sizing: border-box; margin: 0; padding: 0;}
html{scroll-behavior: smooth;}
body{font-family: var(--sans); color: var(--ink); background: var(--white); overflow-x: hidden; line-height: 1.6;}
.nav{position: fixed; top: 0; left: 0; right: 0; z-index: 200;
  height: 66px; display: flex; align-items: center;
  padding: 0 clamp(1.25rem,5vw,3.5rem); gap: 2.5rem;
  transition: background .35s var(--ease), box-shadow .35s var(--ease);}
.nav.scrolled{background: rgba(255,255,255,.97);
  box-shadow: 0 1px 0 var(--rule);
  backdrop-filter: blur(10px);}
.nav-logo{flex-shrink: 0;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  line-height: 1.1;}
.nav-logo .logo-line{display: block;
  font-family: var(--sans);
  font-weight: 600;
  letter-spacing: .01em;
  color: #fff;
  white-space: nowrap;
  transition: color .35s;}
.nav-logo .logo-line:first-child{font-size: .6875rem;
  font-weight: 500;
  letter-spacing: .02em;
  text-transform: none;}
.nav-logo .logo-line:last-child{font-size: 1rem;
  font-weight: 700;
  letter-spacing: .04em;}
.nav.scrolled .nav-logo .logo-line{color: var(--navy);}
.nav-links{display: flex; list-style: none; gap: 0; flex: 1;}
.nav-links a{display: flex; align-items: center; height: 66px;
  padding: 0 .875rem;
  font-size: .8125rem; font-weight: 500;
  color: rgba(255,255,255,.75); text-decoration: none;
  border-bottom: 2px solid transparent;
  transition: color .2s, border-color .2s;}
.nav-links a:hover{color: #fff; border-color: rgba(255,255,255,.4);}
.nav.scrolled .nav-links a{color: var(--ink-60);}
.nav.scrolled .nav-links a:hover{color: var(--navy); border-color: var(--blue);}
.nav-links li{position: relative;}
.nav-links .has-sub > a{gap: .35rem;}
.nav-links .has-sub > a svg{flex-shrink: 0; transition: transform .2s;}
.nav-links .has-sub:hover > a svg, .nav-links .has-sub:focus-within > a svg{transform: rotate(180deg);}
.nav-sub{position: absolute; top: 100%; left: 50%; transform: translate(-50%, 8px);
  min-width: 240px; background: #fff; border-top: 2px solid var(--blue);
  box-shadow: 0 18px 40px rgba(11,37,69,.18);
  list-style: none; padding: .5rem 0; margin: 0;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .2s, transform .2s, visibility .2s;}
.nav-links .has-sub:hover .nav-sub, .nav-links .has-sub:focus-within .nav-sub{opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0);}
.nav-sub a{display: block; height: auto; padding: .65rem 1.25rem;
  font-size: .8125rem; font-weight: 500; color: var(--ink-60);
  border-bottom: none; white-space: nowrap;}
.nav-sub a:hover{color: var(--navy); background: rgba(26,86,219,.06); border-color: transparent;}
.nav.scrolled .nav-sub a{color: var(--ink-60);}
.nav.scrolled .nav-sub a:hover{color: var(--navy); border-color: transparent;}
.mm-sub{list-style: none; margin: 0 0 .35rem 1.6rem; padding-left: 1rem; border-left: 1px solid rgba(255,255,255,.12);}
.mm-sub a{font-size: .9rem; opacity: .7; padding-top: .4rem; padding-bottom: .4rem;}
.nav-right{display: flex; align-items: center; gap: .875rem; margin-left: auto; flex-shrink: 0;}
.nav-tel{display: flex; align-items: center; gap: .45rem;
  font-size: .78rem; font-weight: 500;
  color: rgba(255,255,255,.65); text-decoration: none;
  transition: color .2s;}
.nav-tel:hover{color: #fff;}
.nav.scrolled .nav-tel{color: var(--ink-60);}
.nav.scrolled .nav-tel:hover{color: var(--navy);}
.nav-sep{width: 1px; height: 18px; background: rgba(255,255,255,.2);}
.nav.scrolled .nav-sep{background: var(--rule);}
.nav-cta{font-size: .75rem; font-weight: 600; letter-spacing: .04em;
  color: #fff; background: var(--blue);
  text-decoration: none; padding: .5rem 1.25rem;
  transition: background .2s;}
.nav-cta:hover{background: var(--blue-lt);}
.hero{position: relative; height: 100vh; min-height: 680px;
  display: flex; align-items: flex-end; overflow: hidden;}
.hero-bg{position: absolute; inset: 0;
  background: url('https://images.unsplash.com/photo-1663124339125-b2501a634972?auto=format&fit=crop&w=1920&q=85') center/cover no-repeat;
  transform: scale(1.05);
  animation: heroZoom 11s var(--ease) forwards;}
@keyframes heroZoom{ to { transform: scale(1); } }
.hero-overlay{position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(11,37,69,.88) 0%, rgba(11,37,69,.55) 50%, rgba(11,37,69,.1) 100%),
    linear-gradient(to top, rgba(11,37,69,.7) 0%, transparent 55%);}
.hero-accent{position: absolute; left: 0; top: 12%; bottom: 12%;
  width: 3px; background: var(--blue-lt); opacity: .6;}
.hero-content{position: relative; z-index: 2;
  padding: 0 clamp(1.25rem,5vw,3.5rem) clamp(3rem,9vh,7rem);
  max-width: 740px;
  animation: fadeUp .9s var(--ease) .1s both;}
.hero-logo{position: absolute;
  right: clamp(1.25rem,5vw,3.5rem);
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: clamp(160px, 22vw, 320px);
  opacity: .95;
  filter: drop-shadow(0 4px 24px rgba(0,0,0,.35));
  animation: fadeUp .9s var(--ease) .25s both;
  pointer-events: none;}
.hero-logo img{width: 100%; height: auto; display: block;}
@keyframes fadeUp{ from{opacity:0;transform:translateY(28px)} to{opacity:1;transform:translateY(0)} }
.hero-tag{display: flex; align-items: center; gap: .65rem; margin-bottom: 1.5rem;}
.hero-tag::before{content: ''; display: block;
  width: 28px; height: 1.5px; background: var(--blue-lt);}
.hero-tag span{font-size: .688rem; font-weight: 600; letter-spacing: .18em;
  text-transform: uppercase; color: var(--sky-2);}
.hero h1{font-family: var(--sans);
  font-size: clamp(2.8rem,6.5vw,5.5rem);
  font-weight: 600; line-height: 1.0; letter-spacing: -.03em;
  color: #fff; text-transform: uppercase; margin-bottom: 1.5rem;}
.hero h1 .it{display: block; font-family: var(--serif); font-weight: 300;
  font-style: italic; text-transform: none; letter-spacing: -.01em;
  font-size: .76em; color: var(--sky-2);}
.hero-sub{font-size: 1rem; font-weight: 300; color: rgba(255,255,255,.68);
  max-width: 480px; line-height: 1.8; margin-bottom: 2.5rem;}
.hero-btns{display: flex; gap: .875rem; flex-wrap: wrap; align-items: center;}
.btn-blue{display: inline-flex; align-items: center; gap: .5rem;
  background: var(--blue); color: #fff;
  font-size: .8125rem; font-weight: 600; letter-spacing: .04em;
  text-decoration: none; padding: .875rem 1.625rem;
  transition: background .2s, transform .15s;}
.btn-blue:hover{background: var(--blue-lt); transform: translateY(-1px);}
.btn-ghost-w{display: inline-flex; align-items: center; gap: .5rem;
  border: 1px solid rgba(255,255,255,.3); color: rgba(255,255,255,.85);
  font-size: .8125rem; font-weight: 400;
  text-decoration: none; padding: .875rem 1.625rem;
  transition: border-color .2s, color .2s;}
.btn-ghost-w:hover{border-color: rgba(255,255,255,.65); color: #fff;}
.hero-scroll{position: absolute; right: clamp(1.25rem,5vw,3.5rem); bottom: 2.5rem;
  z-index: 2; display: flex; flex-direction: column; align-items: center; gap: .5rem;
  animation: fadeUp .8s .6s both;}
.hs-bar{width: 1px; height: 48px;
  background: linear-gradient(to bottom, var(--blue-lt), transparent);
  animation: sPulse 2s ease-in-out infinite;}
@keyframes sPulse{ 0%,100%{opacity:.3} 50%{opacity:1} }
.hs-lbl{font-size: .575rem; font-weight: 600; letter-spacing: .2em;
  text-transform: uppercase; color: rgba(255,255,255,.3); writing-mode: vertical-rl;}
.stats{background: var(--navy);
  display: grid; grid-template-columns: repeat(4,1fr);}
.stat{padding: 2.25rem 2rem;
  border-right: 1px solid rgba(255,255,255,.07);
  position: relative; overflow: hidden; transition: background .3s;}
.stat:last-child{border-right: none;}
.stat::before{content: ''; position: absolute; top: 0; left: 0;
  width: 3px; height: 0; background: var(--blue-lt);
  transition: height .4s var(--ease);}
.stat:hover{background: rgba(255,255,255,.03);}
.stat:hover::before{height: 100%;}
.stat-n{font-family: var(--serif); font-size: 2.75rem; font-weight: 300;
  color: #fff; line-height: 1; margin-bottom: .4rem; letter-spacing: -.03em;}
.stat-l{font-size: .72rem; font-weight: 400; letter-spacing: .08em;
  text-transform: uppercase; color: rgba(255,255,255,.4);}
.needs{background: var(--sky);}
.needs-tabs{display: flex; overflow-x: auto; scrollbar-width: none;
  border-bottom: 1px solid var(--rule); background: #fff;}
.needs-tabs::-webkit-scrollbar{display: none;}
.needs-tab{flex-shrink: 0; padding: 1.1rem 1.625rem;
  font-size: .8125rem; font-weight: 500; color: var(--ink-60);
  border-bottom: 2px solid transparent; cursor: pointer; white-space: nowrap;
  transition: color .2s, border-color .2s; user-select: none;}
.needs-tab:hover{color: var(--navy);}
.needs-tab.active{color: var(--blue); border-color: var(--blue);}
.needs-panel{max-width: 1200px; margin: 0 auto;
  padding: 2.5rem clamp(1.25rem,5vw,3.5rem);
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 3rem; align-items: center;}
.np-steps{display: flex; flex-direction: column; gap: 0;}
.np-step{display: flex; gap: .875rem; align-items: flex-start;
  padding: 1.1rem 0; border-bottom: 1px solid var(--rule);}
.np-step:first-child{border-top: 1px solid var(--rule);}
.np-num{flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%;
  background: var(--blue); display: flex; align-items: center; justify-content: center;
  font-size: .7rem; font-weight: 700; color: #fff;}
.np-title{font-size: .9375rem; font-weight: 600; color: var(--ink); margin-bottom: .15rem;}
.np-desc{font-size: .8125rem; font-weight: 300; color: var(--ink-60); line-height: 1.55;}
.section{padding: 5.5rem clamp(1.25rem,5vw,3.5rem);}
.inner{max-width: 1200px; margin: 0 auto;}
.label{display: flex; align-items: center; gap: .6rem;
  font-size: .688rem; font-weight: 600; letter-spacing: .16em;
  text-transform: uppercase; color: var(--blue);}
.label::before{content: ''; display: block; width: 20px; height: 1.5px; background: var(--blue);}
.label.lt{color: var(--sky-2);}
.label.lt::before{background: var(--sky-2);}
.display{font-family: var(--serif); font-size: clamp(2.2rem,4.5vw,3.6rem);
  font-weight: 300; line-height: 1.07; letter-spacing: -.02em; color: var(--ink);}
.display em{font-style: italic; color: var(--navy-2);}
.display.lt{color: #fff;}
.display.lt em{color: var(--sky-2);}
.body-copy{font-size: .9375rem; font-weight: 300; line-height: 1.8; color: var(--ink-60);}
.text-link{display: inline-flex; align-items: center; gap: .45rem;
  font-size: .875rem; font-weight: 600; color: var(--blue);
  text-decoration: none; border-bottom: 1.5px solid transparent; padding-bottom: .1rem;
  transition: border-color .2s;}
.text-link:hover{border-color: var(--blue);}
.text-link svg{transition: transform .2s;}
.text-link:hover svg{transform: translateX(3px);}
.about{background: #fff;}
.about-grid{display: grid; grid-template-columns: 1fr 1fr;
  gap: clamp(3rem,7vw,7rem); align-items: center;}
.about-img{position: relative; overflow: hidden;}
.about-img img{width: 100%; height: 540px; object-fit: cover; display: block;
  transition: transform .8s var(--ease);}
.about-img:hover img{transform: scale(1.03);}
.about-img::after{content: ''; position: absolute; bottom: 0; left: 0; right: 0;
  height: 4px; background: var(--blue);}
.about-badge{position: absolute; bottom: 4px; right: 0;
  background: var(--navy); padding: 1.25rem 1.75rem; z-index: 2;}
.ab-n{font-family: var(--serif); font-size: 2.2rem; font-weight: 300; color: #fff; line-height: 1;}
.ab-t{font-size: .65rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.45); margin-top: .3rem;}
.about-text > * + *{margin-top: 1.25rem;}
.values{list-style: none; display: flex; flex-direction: column; gap: .625rem; margin-top: .25rem;}
.values li{display: flex; align-items: flex-start; gap: .875rem;
  font-size: .9375rem; font-weight: 300; color: var(--ink-60); line-height: 1.5;}
.vdot{flex-shrink: 0; margin-top: .45em;
  width: 6px; height: 6px; border-radius: 50%; background: var(--blue);}
.services{background: var(--sky);}
.svc-head{display: grid; grid-template-columns: 1fr 1fr;
  gap: 2rem; align-items: end; margin-bottom: 3.5rem;}
.svc-grid{display: grid; grid-template-columns: repeat(3,1fr);
  gap: 1px; background: var(--rule); border: 1px solid var(--rule);}
.svc{background: #fff; padding: 2rem 1.75rem;
  position: relative; overflow: hidden; transition: background .25s; cursor: default;}
.svc::after{content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: var(--blue); transform: scaleX(0); transform-origin: left;
  transition: transform .3s var(--ease);}
.svc:hover{background: var(--sky);}
.svc:hover::after{transform: scaleX(1);}
.svc-n{font-family: var(--serif); font-size: 2.25rem; font-weight: 300;
  color: var(--rule); line-height: 1; margin-bottom: 1.25rem; transition: color .25s;}
.svc:hover .svc-n{color: var(--sky-2);}
.svc-icon{width: 36px; height: 36px; border: 1px solid var(--rule);
  display: flex; align-items: center; justify-content: center;
  color: var(--navy-2); margin-bottom: 1rem; transition: border-color .25s, color .25s;}
.svc:hover .svc-icon{border-color: var(--blue); color: var(--blue);}
.svc-title{font-size: .9375rem; font-weight: 600; color: var(--ink); margin-bottom: .5rem; line-height: 1.3;}
.svc-desc{font-size: .8125rem; font-weight: 300; color: var(--ink-60); line-height: 1.75;}
.cta-breaker{background: var(--navy); position: relative; overflow: hidden;
  padding: 4.5rem clamp(1.25rem,5vw,3.5rem);
  display: flex; align-items: center; justify-content: space-between;
  gap: 2.5rem; flex-wrap: wrap;}
.cta-breaker::before{content: '';
  position: absolute; right: -100px; top: -100px;
  width: 400px; height: 400px; border-radius: 50%;
  background: rgba(26,86,219,.12); pointer-events: none;}
.ctb-text{flex: 1; min-width: 280px;}
.ctb-label{margin-bottom: 1rem;}
.ctb-actions{display: flex; gap: .875rem; flex-wrap: wrap; flex-shrink: 0;}
.btn-white{display: inline-flex; align-items: center; gap: .5rem;
  background: #fff; color: var(--navy);
  font-size: .8125rem; font-weight: 600; letter-spacing: .04em;
  text-decoration: none; padding: .875rem 1.625rem;
  transition: background .2s, transform .15s;}
.btn-white:hover{background: var(--sky-2); transform: translateY(-1px);}
.btn-ghost-b{display: inline-flex; align-items: center; gap: .5rem;
  border: 1px solid rgba(255,255,255,.3); color: rgba(255,255,255,.85);
  font-size: .8125rem; font-weight: 400;
  text-decoration: none; padding: .875rem 1.625rem;
  transition: border-color .2s, color .2s;}
.btn-ghost-b:hover{border-color: rgba(255,255,255,.65); color: #fff;}
.process{background: #fff;}
.process-grid{display: grid; grid-template-columns: repeat(5,1fr);
  gap: 0; margin-top: 3.5rem; position: relative;}
.process-grid::before{content: ''; position: absolute; top: 25px; left: 10%; right: 10%;
  height: 1px; background: var(--rule);}
.pstep{display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 1rem;}
.ps-c{width: 50px; height: 50px; border-radius: 50%;
  border: 1.5px solid var(--blue); background: #fff;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--serif); font-size: 1.125rem; font-weight: 300; color: var(--blue);
  position: relative; z-index: 1; margin-bottom: 1.25rem;
  transition: background .2s, color .2s;}
.pstep:hover .ps-c{background: var(--blue); color: #fff;}
.ps-t{font-size: .875rem; font-weight: 600; color: var(--ink); margin-bottom: .35rem; line-height: 1.25;}
.ps-d{font-size: .75rem; font-weight: 300; color: var(--ink-60); line-height: 1.55;}
.app-section{background: var(--navy); position: relative;
  display: grid; grid-template-columns: 1fr 1fr; min-height: 580px;}
.app-section::before{content: ''; position: absolute; top: -34px; left: 0; right: 0; height: 34px;
  background: var(--navy); clip-path: ellipse(55% 100% at 50% 100%);}
.app-content{padding: 5.5rem clamp(1.25rem,5vw,3.5rem);
  display: flex; flex-direction: column; justify-content: center; gap: 1.25rem;}
.app-feats{list-style: none; margin-top: .25rem;}
.app-feat{display: flex; gap: 1rem; align-items: flex-start;
  padding: 1.1rem 0; border-bottom: 1px solid rgba(255,255,255,.08);}
.app-feat:first-child{border-top: 1px solid rgba(255,255,255,.08);}
.af-ic{flex-shrink: 0; width: 32px; height: 32px; display: flex; align-items: center; justify-content: center; color: var(--blue-lt); margin-top: .1rem;}
.af-t{font-size: .9375rem; font-weight: 500; color: #fff; margin-bottom: .15rem;}
.af-d{font-size: .8125rem; font-weight: 300; color: rgba(255,255,255,.45); line-height: 1.6;}
.app-lk{display: inline-flex; align-items: center; gap: .5rem;
  font-size: .875rem; font-weight: 600; color: var(--blue-lt);
  text-decoration: none; margin-top: .5rem; transition: color .2s;
  width: fit-content;}
.app-lk:hover{color: #fff;}
.app-lk svg{transition: transform .2s;}
.app-lk:hover svg{transform: translateX(3px);}
.app-visual{display: flex; align-items: center; justify-content: center; padding: 3.5rem 2rem;
  position: relative;}
.app-visual::before{content: ''; position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(59,130,246,.07) 1px, transparent 1px);
  background-size: 24px 24px; pointer-events: none;}
.phone{width: 222px; height: 432px; background: #0A0E1A;
  border-radius: 36px; border: 6px solid #141929;
  box-shadow: 0 0 0 1px rgba(255,255,255,.06), 0 40px 80px rgba(0,0,0,.55), 0 0 40px rgba(26,86,219,.15);
  position: relative; overflow: hidden; z-index: 1;}
.phone::before{content: ''; position: absolute; top: 10px; left: 50%; transform: translateX(-50%);
  width: 52px; height: 4px; background: #1e2540; border-radius: 10px; z-index: 5;}
.pscr{position: absolute; inset: 22px 5px 5px; background: #060C1F;
  border-radius: 30px; overflow: hidden;
  display: flex; flex-direction: column; padding: 1rem .875rem; gap: .5rem;}
.ps-top{display: flex; justify-content: space-between; align-items: center; margin-bottom: .2rem;}
.ps-brand{font-size: .55rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--blue-lt);}
.ps-time{font-size: .48rem; color: rgba(255,255,255,.3);}
.ps-bal{background: rgba(26,86,219,.12); border: 1px solid rgba(26,86,219,.25);
  border-radius: 10px; padding: .75rem .8rem;}
.psb-lbl{font-size: .46rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(59,130,246,.5); margin-bottom: .2rem;}
.psb-amt{font-family: var(--serif); font-size: 1.5rem; font-weight: 300; color: #fff; line-height: 1;}
.psb-ok{display: flex; align-items: center; gap: .3rem; margin-top: .2rem;}
.ps-dot{width: 4px; height: 4px; border-radius: 50%; background: #34D399;}
.psb-txt{font-size: .42rem; color: rgba(255,255,255,.25);}
.ps-row{background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.06);
  border-radius: 8px; padding: .55rem .7rem;
  display: flex; justify-content: space-between; align-items: center;}
.prw-l{font-size: .44rem; text-transform: uppercase; letter-spacing: .07em; color: rgba(255,255,255,.3); margin-bottom: .12rem;}
.prw-v{font-size: .72rem; font-weight: 500; color: rgba(255,255,255,.8);}
.prw-a{color: var(--blue-lt); font-size: .8rem;}
.ps-notif{background: rgba(26,86,219,.08); border: 1px solid rgba(26,86,219,.18);
  border-radius: 8px; padding: .5rem .7rem;
  font-size: .44rem; color: rgba(59,130,246,.7); line-height: 1.5;}
.insights{background: var(--sky);}
.ins-head{display: flex; justify-content: space-between; align-items: flex-end; gap: 1.5rem; margin-bottom: 3rem; flex-wrap: wrap;}
.ins-grid{display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem;}
.ic{background: #fff; display: flex; flex-direction: column;
  border: 1px solid var(--rule); overflow: hidden;
  transition: box-shadow .25s, transform .25s;}
.ic:hover{box-shadow: 0 8px 32px rgba(11,37,69,.1); transform: translateY(-2px);}
.ic-img{height: 180px; overflow: hidden; position: relative; background: var(--sky-2);}
.ic-img img{width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .55s var(--ease);}
.ic:hover .ic-img img{transform: scale(1.05);}
.ic-body{padding: 1.5rem; flex: 1; display: flex; flex-direction: column;}
.ic-eye{font-size: .65rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--blue); margin-bottom: .625rem;}
.ic-title{font-size: .9375rem; font-weight: 600; color: var(--ink); line-height: 1.35; margin-bottom: .625rem; flex: 1;}
.ic-date{font-size: .75rem; color: var(--ink-60); margin-top: auto; padding-top: .5rem;}
.contact{background: #fff;}
.ct-grid{display: grid; grid-template-columns: 5fr 7fr; gap: clamp(2.5rem,6vw,6rem); align-items: start;}
.ci-head > * + *{margin-top: 1.1rem;}
.ci-list{list-style: none; margin-top: .5rem;}
.ci-item{display: flex; gap: .875rem; align-items: flex-start; padding: .875rem 0; border-bottom: 1px solid var(--rule);}
.ci-item:first-child{border-top: 1px solid var(--rule);}
.ci-ico{flex-shrink: 0; color: var(--blue); margin-top: .15rem;}
.ci-lbl{font-size: .65rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-30); margin-bottom: .2rem;}
.omnia-page-domov .ci-val{font-size: .9375rem; font-weight: 400; color: var(--ink); line-height: 1.5;}
.ci-val a{color: var(--blue); text-decoration: none;}
.ci-val a:hover{text-decoration: underline;}
.form-wrap{background: var(--sky); border-top: 3px solid var(--blue); padding: 2.5rem;}
.form-title{font-family: var(--serif); font-size: 1.625rem; font-weight: 300; color: var(--ink); margin-bottom: .25rem;}
.form-sub{font-size: .875rem; color: var(--ink-60); margin-bottom: 1.75rem; font-weight: 300;}
.fg{display: flex; flex-direction: column; gap: .375rem; margin-bottom: .875rem;}
.fg label{font-size: .65rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-60);}
.fg input, .fg textarea, .fg select{font-family: var(--sans); font-size: .9375rem; font-weight: 300; color: var(--ink);
  background: #fff; border: 1px solid var(--rule); border-radius: 0;
  padding: .688rem .875rem; outline: none; appearance: none;
  transition: border-color .2s, box-shadow .2s;}
.fg input:focus, .fg textarea:focus, .fg select:focus{border-color: var(--blue); box-shadow: 0 0 0 3px rgba(26,86,219,.1);}
.omnia-page-domov .fg textarea{height: 100px; resize: none;}
.fg-row{display: grid; grid-template-columns: 1fr 1fr; gap: .875rem;}
.btn-submit{display: flex; align-items: center; justify-content: center; gap: .5rem; width: 100%;
  padding: .875rem; background: var(--navy); color: #fff;
  font-family: var(--sans); font-size: .8125rem; font-weight: 600;
  letter-spacing: .05em; text-transform: uppercase; border: none; cursor: pointer;
  margin-top: .5rem; transition: background .2s, transform .15s;}
.btn-submit:hover{background: var(--navy-2); transform: translateY(-1px);}
footer{background: var(--ink); padding: 3.5rem clamp(1.25rem,5vw,3.5rem) 2rem;}
.ft{max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 3rem;
  padding-bottom: 2.5rem; border-bottom: 1px solid rgba(255,255,255,.08); margin-bottom: 1.75rem;}
.ft-logo img{height: 54px; display: block; margin-bottom: 1rem;}
.ft-desc{font-size: .8125rem; font-weight: 300; color: rgba(255,255,255,.35); line-height: 1.75; max-width: 260px;}
.fc-t{font-size: .6rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: rgba(59,130,246,.6); margin-bottom: 1.1rem;}
.flinks{list-style: none; display: flex; flex-direction: column; gap: .5rem;}
.flinks a{font-size: .8125rem; font-weight: 300; color: rgba(255,255,255,.42); text-decoration: none; transition: color .2s;}
.flinks a:hover{color: var(--blue-lt);}
.ft-bot{max-width: 1200px; margin: 0 auto;
  display: flex; justify-content: space-between; flex-wrap: wrap; gap: .75rem;
  font-size: .73rem; color: rgba(255,255,255,.2);}
.ft-bot a{color: rgba(255,255,255,.28); text-decoration: none;}
.ft-bot a:hover{color: var(--blue-lt);}
.r{opacity:0; transform:translateY(20px); transition:opacity .6s var(--ease),transform .6s var(--ease);}
.r.in{opacity:1; transform:translateY(0);}
.r.d1{transition-delay:.08s;}
.r.d2{transition-delay:.16s;}
.r.d3{transition-delay:.24s;}
.r.d4{transition-delay:.32s;}
.nav-burger{display: none; flex-direction: column; justify-content: center;
  gap: 5px; width: 38px; height: 38px; cursor: pointer;
  background: none; border: none; padding: 4px; margin-left: auto; flex-shrink: 0;}
.nav-burger span{display: block; height: 1.5px; width: 22px;
  background: #fff; border-radius: 2px;
  transition: transform .3s var(--ease), opacity .2s, background .35s;}
.nav.scrolled .nav-burger span{background: var(--ink);}
.nav-burger.open span:nth-child(1){transform: translateY(6.5px) rotate(45deg);}
.nav-burger.open span:nth-child(2){opacity: 0;}
.nav-burger.open span:nth-child(3){transform: translateY(-6.5px) rotate(-45deg);}
.mobile-menu{position: fixed; inset: 0; z-index: 190;
  background: var(--navy);
  display: flex; flex-direction: column;
  padding: 90px clamp(1.5rem,6vw,2.5rem) 2.5rem;
  transform: translateX(100%);
  transition: transform .38s var(--ease);
  overflow-y: auto;}
.mobile-menu.open{transform: translateX(0);}
.mm-links{list-style: none; display: flex; flex-direction: column;}
.mm-links a{display: block; padding: 1.1rem 0;
  font-size: 1.375rem; font-weight: 600; letter-spacing: -.02em;
  color: rgba(255,255,255,.65); text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.07);
  transition: color .2s;}
.mm-links a:hover{color: #fff;}
.mm-links a.active{color: var(--blue-lt);}
.mm-footer{margin-top: auto; padding-top: 2.5rem;
  display: flex; flex-direction: column; gap: 1rem;}
.mm-tel{display: flex; align-items: center; gap: .5rem;
  font-size: .9375rem; font-weight: 500; color: rgba(255,255,255,.45);
  text-decoration: none;}
.mm-cta{display: inline-flex; align-items: center; gap: .5rem;
  background: var(--blue); color: #fff;
  font-size: .875rem; font-weight: 600; letter-spacing: .04em;
  text-decoration: none; padding: .875rem 1.5rem;
  width: fit-content; transition: background .2s;}
.mm-cta:hover{background: var(--blue-lt);}
.omnia-page-o-spolocnosti .ci-val{font-size: .9375rem; font-weight: 400; color: var(--ink); line-height: 1.5;}
.omnia-page-o-spolocnosti .fg textarea{height: 100px; resize: none;}
.page-hero{position: relative; height: 72vh; min-height: 540px;
  display: flex; align-items: flex-end; overflow: hidden;
  padding-top: 66px;}
.page-hero-bg{position: absolute; inset: 0;
  background: url('https://images.unsplash.com/photo-1560518883-ce09059eeffa?auto=format&fit=crop&w=1920&q=85') center/cover no-repeat;
  transform: scale(1.04);
  animation: heroZoom 10s cubic-bezier(.4,0,.2,1) forwards;}
.page-hero-overlay{position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(11,37,69,.92) 0%, rgba(11,37,69,.6) 55%, rgba(11,37,69,.15) 100%),
    linear-gradient(to top, rgba(11,37,69,.75) 0%, transparent 55%);}
.page-hero-accent{position: absolute; left: 0; top: 10%; bottom: 10%;
  width: 3px; background: var(--blue-lt); opacity: .55;}
.page-hero-content{position: relative; z-index: 2;
  padding: 0 clamp(1.25rem,5vw,3.5rem) clamp(2.5rem,7vh,5rem);
  animation: fadeUp .75s var(--ease) .05s both;}
.page-breadcrumb{display: flex; align-items: center; gap: .5rem;
  font-size: .7rem; font-weight: 500; letter-spacing: .08em;
  color: rgba(255,255,255,.4); margin-bottom: 1.25rem; text-transform: uppercase;}
.page-breadcrumb a{color: rgba(255,255,255,.4); text-decoration: none; transition: color .2s;}
.page-breadcrumb a:hover{color: rgba(255,255,255,.75);}
.page-breadcrumb span{color: rgba(255,255,255,.2);}
.page-hero h1{font-family: var(--sans);
  font-size: clamp(2.4rem,5.5vw,4.5rem);
  font-weight: 600; line-height: 1.0; letter-spacing: -.03em;
  color: #fff; text-transform: uppercase; margin-bottom: 1rem;}
.page-hero h1 .it{display: block; font-family: var(--serif); font-weight: 300;
  font-style: italic; text-transform: none; letter-spacing: -.01em;
  font-size: .68em; color: var(--sky-2);}
.page-hero-sub{font-size: .9375rem; font-weight: 300; color: rgba(255,255,255,.6);
  max-width: 460px; line-height: 1.75;}
.svc-row{padding: 5rem clamp(1.25rem,5vw,3.5rem);}
.svc-row.bg-gray{background: var(--sky);}
.svc-row.bg-white{background: #fff;}
.svc-row-inner{max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: 1fr 1fr;
  gap: clamp(3rem,7vw,7rem); align-items: center;}
.svc-row-inner.reverse{direction: rtl;}
.svc-row-inner.reverse > *{direction: ltr;}
.svc-img{position: relative; overflow: hidden;}
.svc-img img{width: 100%; height: 520px; object-fit: cover; display: block;
  transition: transform .8s var(--ease);}
.svc-img:hover img{transform: scale(1.03);}
.svc-img::after{content: ''; position: absolute; bottom: 0; left: 0; right: 0;
  height: 4px; background: var(--blue);}
.svc-img .svc-tag{position: absolute; top: 1.5rem; left: 1.5rem;
  background: var(--navy); color: rgba(255,255,255,.55);
  font-size: .625rem; font-weight: 600; letter-spacing: .2em;
  text-transform: uppercase; padding: .45rem .875rem;
  z-index: 2;}
.svc-text{display: flex; flex-direction: column; gap: 1.25rem;}
.svc-text .svc-number{font-family: var(--serif); font-size: 4rem; font-weight: 300;
  color: var(--rule); line-height: 1; letter-spacing: -.04em;}
.svc-text h2{font-family: var(--serif); font-size: clamp(1.9rem,3.5vw,2.9rem);
  font-weight: 300; line-height: 1.08; letter-spacing: -.02em; color: var(--ink);}
.svc-text h2 em{font-style: italic; color: var(--navy-2);}
.svc-text p{font-size: .9375rem; font-weight: 300; line-height: 1.8; color: var(--ink-60);
  max-width: 480px;}
.svc-feats{list-style: none; display: flex; flex-direction: column; gap: .5rem; margin-top: .25rem;}
.svc-feats li{display: flex; align-items: flex-start; gap: .875rem;
  font-size: .875rem; font-weight: 300; color: var(--ink-60); line-height: 1.5;}
.svc-feats li::before{content: ''; flex-shrink: 0; margin-top: .5em;
  width: 6px; height: 6px; border-radius: 50%; background: var(--blue);}
.ostatne-grid{display: grid; grid-template-columns: repeat(3, 1fr);
  gap: 1px; background: var(--rule); border: 1px solid var(--rule);
  margin-top: 2.5rem;}
.ostatne-item{background: #fff; padding: 1.75rem 1.5rem;
  position: relative; overflow: hidden;
  transition: background .25s;}
.ostatne-item::after{content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: var(--blue); transform: scaleX(0); transform-origin: left;
  transition: transform .3s var(--ease);}
.ostatne-item:hover{background: var(--sky);}
.ostatne-item:hover::after{transform: scaleX(1);}
.oi-icon{width: 36px; height: 36px; border: 1px solid var(--rule);
  display: flex; align-items: center; justify-content: center;
  color: var(--navy-2); margin-bottom: .875rem;
  transition: border-color .25s, color .25s;}
.ostatne-item:hover .oi-icon{border-color: var(--blue); color: var(--blue);}
.oi-title{font-size: .9rem; font-weight: 600; color: var(--ink); margin-bottom: .35rem; line-height: 1.3;}
.oi-desc{font-size: .8rem; font-weight: 300; color: var(--ink-60); line-height: 1.65;}
.omnia-page-preco-omnia .ci-val{font-size: .9375rem; font-weight: 400; color: var(--ink); line-height: 1.5;}
.omnia-page-preco-omnia .fg textarea{height: 100px; resize: none;}
.omnia-page-nas-tim .ci-val{font-size: .9375rem; font-weight: 400; color: var(--ink); line-height: 1.5;}
.omnia-page-nas-tim .fg textarea{height: 100px; resize: none;}
.omnia-page-nas-tim .team-grid{display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px; background: var(--rule); border: 1px solid var(--rule);
  margin-top: 2.5rem;}
.omnia-page-nas-tim .team-card{background: #fff; padding: 2rem;
  position: relative; min-height: 245px;
  display: flex; flex-direction: column;
  transition: background .25s;}
.omnia-page-nas-tim .team-card::before{content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--blue); transform: scaleX(0); transform-origin: left;
  transition: transform .3s var(--ease);}
.omnia-page-nas-tim .team-card:hover{background: var(--sky);}
.team-card:hover::before{transform: scaleX(1);}
.omnia-page-nas-tim .team-role{font-size: .675rem; font-weight: 600; letter-spacing: .12em;
  text-transform: uppercase; color: var(--blue); line-height: 1.55;
  min-height: 2.1em; margin-bottom: 1rem;}
.omnia-page-nas-tim .team-name{font-family: var(--serif); font-size: 1.55rem; font-weight: 500;
  color: var(--ink); line-height: 1.25; margin-bottom: 1.5rem;}
.omnia-page-nas-tim .team-contacts{margin-top: auto; display: flex; flex-direction: column; gap: .65rem;}
.team-contact{display: inline-flex; align-items: center; gap: .65rem; width: fit-content;
  font-size: .825rem; color: var(--ink-60); text-decoration: none;
  transition: color .2s;}
.team-contact:hover{color: var(--blue);}
.team-contact svg{flex-shrink: 0; color: var(--blue);}
.emergency-bar{margin-top: 1.5rem; padding: 1.5rem 2rem; background: var(--navy);
  display: flex; align-items: center; justify-content: space-between;
  gap: 1.5rem; flex-wrap: wrap;}
.emergency-label{font-size: .7rem; font-weight: 600; letter-spacing: .12em;
  text-transform: uppercase; color: var(--sky-2);}
.emergency-title{font-size: 1.05rem; font-weight: 600; color: #fff; margin-top: .25rem;}
.emergency-phone{display: inline-flex; align-items: center; gap: .65rem;
  font-size: 1.125rem; font-weight: 600; color: #fff; text-decoration: none;}
.emergency-phone:hover{color: var(--blue-lt);}
.omnia-page-spravovane-nehnutelnosti .ci-val{font-size: .9375rem; font-weight: 400; color: var(--ink); line-height: 1.5;}
.omnia-page-spravovane-nehnutelnosti .fg textarea{height: 100px; resize: none;}
.omnia-page-cennik .ci-val{font-size: .9375rem; font-weight: 400; color: var(--ink); line-height: 1.5;}
.omnia-page-cennik .fg textarea{height: 100px; resize: none;}
.price-table{width: 100%; border-collapse: collapse; background: #fff; box-shadow: 0 18px 40px rgba(11,37,69,.08);}
.price-table th{text-align: left; font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-60); padding: 1.1rem 1.25rem; border-bottom: 2px solid var(--navy);}
.price-table td{padding: 1rem 1.25rem; font-size: .9rem; border-bottom: 1px solid var(--rule); color: var(--ink);}
.price-table tr:last-child td{border-bottom: none;}
.price-table td:first-child{font-weight: 600;}
.price-note{font-size: .8rem; color: var(--ink-60); margin-top: 1rem; max-width: 640px;}
.price-download{display:flex; align-items:center; justify-content:space-between; gap:2rem; background:#fff; border:1px solid var(--rule); border-left:3px solid var(--blue); padding:clamp(1.5rem,4vw,2.5rem); box-shadow:0 18px 40px rgba(11,37,69,.08);}
.price-download h3{font-size:1.25rem; color:var(--ink); margin-bottom:.5rem;}
.price-download p{color:var(--ink-60); font-size:.9rem; line-height:1.7; max-width:620px;}
.omnia-page-neiba .ci-val{font-size: .9375rem; font-weight: 400; color: var(--ink); line-height: 1.5;}
.omnia-page-neiba .fg textarea{height: 100px; resize: none;}
.neiba-hero{background: var(--navy);
  position: relative; overflow: hidden;
  padding: 8rem clamp(1.25rem,5vw,3.5rem) 5.5rem;
  display: grid; grid-template-columns: 1fr 420px;
  gap: 4rem; align-items: center;
  min-height: 600px;}
.neiba-hero::before{content: '';
  position: absolute; right: -120px; bottom: -120px;
  width: 480px; height: 480px; border-radius: 50%;
  background: rgba(26,86,219,.12); pointer-events: none;}
.neiba-hero::after{content: '';
  position: absolute; left: 0; top: 0; bottom: 0;
  width: 3px; background: var(--blue-lt); opacity: .5;}
.neiba-hero-content{position: relative; z-index: 2;}
.neiba-logo-wrap{display: flex; align-items: center; gap: 1rem; margin-bottom: 2rem;}
.neiba-logo-wrap img{height: 52px; width: auto;}
.neiba-logo-sep{width: 1px; height: 36px; background: rgba(255,255,255,.15);}
.neiba-logo-by{font-size: .7rem; font-weight: 500; letter-spacing: .1em;
  text-transform: uppercase; color: rgba(255,255,255,.35);
  line-height: 1.4;}
.neiba-hero-visual{position: relative; z-index: 2;
  display: flex; justify-content: center; align-items: flex-end;
  padding-top: 1rem;}
.neiba-phone-wrap{position: relative;
  filter: drop-shadow(0 32px 64px rgba(0,0,0,.5));}
.neiba-phone-wrap img{width: 220px; height: auto; display: block;
  border-radius: 28px;
  border: 6px solid rgba(255,255,255,.08);}
.neiba-badge{position: absolute; bottom: -16px; left: -32px;
  background: var(--blue); color: #fff;
  font-size: .7rem; font-weight: 600; letter-spacing: .06em;
  padding: .5rem .875rem; white-space: nowrap;
  box-shadow: 0 8px 24px rgba(26,86,219,.4);}
.neiba-store-links{display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 2rem;}
.store-btn{display: inline-flex; align-items: center; gap: .65rem;
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.15);
  color: #fff; text-decoration: none;
  font-size: .8rem; font-weight: 500;
  padding: .625rem 1.125rem;
  transition: background .2s, border-color .2s;}
.store-btn:hover{background: rgba(255,255,255,.14); border-color: rgba(255,255,255,.3);}
.features-section{background: var(--sky); padding: 5rem clamp(1.25rem,5vw,3.5rem);}
.feat-grid{display: grid; grid-template-columns: repeat(3,1fr);
  gap: 1px; background: var(--rule); border: 1px solid var(--rule);
  margin-top: 3rem;}
.feat-card{background: #fff; padding: 1.75rem 1.5rem;
  position: relative; overflow: hidden;
  transition: background .25s;}
.feat-card::after{content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: var(--blue); transform: scaleX(0); transform-origin: left;
  transition: transform .3s var(--ease);}
.feat-card:hover{background: var(--sky);}
.feat-card:hover::after{transform: scaleX(1);}
.feat-icon{width: 36px; height: 36px; border: 1px solid var(--rule);
  display: flex; align-items: center; justify-content: center;
  color: var(--navy-2); margin-bottom: .875rem;
  transition: border-color .25s, color .25s;}
.feat-card:hover .feat-icon{border-color: var(--blue); color: var(--blue);}
.feat-title{font-size: .9rem; font-weight: 600; color: var(--ink); margin-bottom: .35rem;}
.feat-desc{font-size: .8rem; font-weight: 300; color: var(--ink-60); line-height: 1.65;}
.phone-section{padding: 5rem clamp(1.25rem,5vw,3.5rem);}
.phone-section.bg-white{background: #fff;}
.phone-section.bg-gray{background: var(--sky);}
.phone-inner{max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: 380px 1fr;
  gap: clamp(3rem,7vw,7rem); align-items: center;}
.phone-inner.reverse{grid-template-columns: 1fr 380px;}
.phone-img-wrap{display: flex; justify-content: center; position: relative;}
.phone-img-wrap img{width: 260px; height: auto; border-radius: 28px;
  box-shadow: 0 24px 64px rgba(11,37,69,.18);
  border: 1px solid var(--rule);}
.benefits-list{list-style: none; display: flex; flex-direction: column; gap: .65rem;}
.benefits-list li{display: flex; align-items: flex-start; gap: .875rem;
  font-size: .9375rem; font-weight: 300; color: var(--ink-60); line-height: 1.5;}
.neiba-quote{background: var(--navy); padding: 4.5rem clamp(1.25rem,5vw,3.5rem);
  text-align: center; position: relative; overflow: hidden;}
.neiba-quote::before{content: ''; position: absolute; left: 50%; top: -100px; transform: translateX(-50%);
  width: 500px; height: 500px; border-radius: 50%;
  background: rgba(26,86,219,.08); pointer-events: none;}
.neiba-quote p{font-family: var(--serif); font-size: clamp(1.4rem,2.8vw,2.1rem);
  font-weight: 300; line-height: 1.4; color: #fff;
  max-width: 820px; margin: 0 auto; font-style: italic;
  position: relative; z-index: 1;}
.omnia-page-dokumenty .ci-val{font-size: .9375rem; font-weight: 400; color: var(--ink); line-height: 1.5;}
.omnia-page-dokumenty .fg textarea{height: 100px; resize: none;}
.docs-section{background: var(--sky);
  padding: 5rem clamp(1.25rem,5vw,3.5rem) 6rem;}
.docs-inner{max-width: 1200px; margin: 0 auto;}
.docs-head{margin-bottom: 3.5rem;}
.docs-grid{display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;}
.doc-card{background: #fff;
  border: 1px solid var(--rule);
  padding: 2rem;
  display: flex; flex-direction: column; gap: 1rem;
  position: relative; overflow: hidden;
  transition: box-shadow .25s, transform .25s;}
.doc-card::before{content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: var(--blue); transform: scaleX(0); transform-origin: left;
  transition: transform .3s var(--ease);}
.doc-card:hover{box-shadow: 0 8px 32px rgba(11,37,69,.1); transform: translateY(-2px);}
.doc-card:hover::before{transform: scaleX(1);}
.doc-card-top{display: flex; align-items: center; justify-content: space-between;}
.doc-type{font-size: .6rem; font-weight: 700; letter-spacing: .14em;
  color: var(--blue); background: var(--sky-2);
  padding: .25rem .6rem;}
.doc-tag{font-size: .65rem; font-weight: 600; letter-spacing: .1em;
  text-transform: uppercase; color: var(--ink-60);}
.doc-icon{color: var(--navy-2);}
.doc-title{font-size: 1.0625rem; font-weight: 600; color: var(--ink);
  line-height: 1.35;}
.doc-desc{font-size: .875rem; font-weight: 300; color: var(--ink-60);
  line-height: 1.7; flex: 1;}
.doc-btn{display: inline-flex; align-items: center; gap: .5rem;
  background: var(--navy); color: #fff;
  font-size: .8rem; font-weight: 600; letter-spacing: .04em;
  text-decoration: none; padding: .75rem 1.25rem;
  width: fit-content; margin-top: .25rem;
  transition: background .2s, transform .15s;}
.doc-btn:hover{background: var(--blue); transform: translateY(-1px);}
.docs-info{background: #fff; border: 1px solid var(--rule);
  border-left: 3px solid var(--blue);
  padding: 1.25rem 1.5rem;
  display: flex; gap: 1rem; align-items: flex-start;
  margin-top: 2.5rem;
  max-width: 1200px; margin: 2.5rem auto 0;}
.docs-info-icon{color: var(--blue); flex-shrink: 0; margin-top: .15rem;}
.docs-info p{font-size: .875rem; font-weight: 300; color: var(--ink-60); line-height: 1.7;}
.docs-info strong{font-weight: 600; color: var(--ink);}
.omnia-page-nase-sluzby .ci-val{font-size: .9375rem; font-weight: 400; color: var(--ink); line-height: 1.5;}
.omnia-page-nase-sluzby .fg textarea{height: 100px; resize: none;}
.omnia-page-zmena-spravcu .ci-val{font-size: .9375rem; font-weight: 400; color: var(--ink); line-height: 1.5;}
.omnia-page-zmena-spravcu .fg textarea{height: 100px; resize: none;}
.myth-grid{display: flex; flex-direction: column; gap: 0;
  border: 1px solid var(--rule);}
.myth-item{background: #fff; padding: 2rem 2rem 2rem 1.75rem;
  border-bottom: 1px solid var(--rule);
  display: grid; grid-template-columns: auto 1fr; gap: 1.5rem;
  position: relative; overflow: hidden;
  transition: background .25s;}
.myth-item:last-child{border-bottom: none;}
.myth-item::before{content: ''; position: absolute; left: 0; top: 0; bottom: 0;
  width: 3px; background: var(--blue); transform: scaleY(0); transform-origin: top;
  transition: transform .3s var(--ease);}
.myth-item:hover{background: var(--sky);}
.myth-item:hover::before{transform: scaleY(1);}
.myth-icon{width: 40px; height: 40px; border-radius: 50%;
  background: var(--sky-2); display: flex; align-items: center; justify-content: center;
  color: var(--blue); flex-shrink: 0; margin-top: .2rem;
  transition: background .25s, color .25s;}
.myth-item:hover .myth-icon{background: var(--blue); color: #fff;}
.myth-q{font-size: 1rem; font-weight: 600; color: var(--ink); margin-bottom: .5rem; line-height: 1.3;}
.myth-a{font-size: .9rem; font-weight: 300; color: var(--ink-60); line-height: 1.75;}
.process-zmena{background: var(--navy); padding: 4.5rem clamp(1.25rem,5vw,3.5rem);
  position: relative; overflow: hidden;}
.process-zmena::before{content: ''; position: absolute; right: -80px; top: -80px;
  width: 360px; height: 360px; border-radius: 50%;
  background: rgba(26,86,219,.1); pointer-events: none;}
.pz-inner{max-width: 1200px; margin: 0 auto;}
.pz-head{margin-bottom: 3.5rem;}
.pz-grid{display: grid; grid-template-columns: repeat(4,1fr);
  gap: 0; position: relative;}
.pz-grid::before{content: ''; position: absolute; top: 24px; left: 12%; right: 12%;
  height: 1px; background: rgba(255,255,255,.12);}
.pz-step{display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 1rem;}
.pz-c{width: 48px; height: 48px; border-radius: 50%;
  border: 1.5px solid rgba(59,130,246,.5); background: var(--navy);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--serif); font-size: 1.125rem; font-weight: 300; color: var(--blue-lt);
  position: relative; z-index: 1; margin-bottom: 1.25rem;
  transition: background .2s, color .2s, border-color .2s;}
.pz-step:hover .pz-c{background: var(--blue); color: #fff; border-color: var(--blue);}
.pz-t{font-size: .875rem; font-weight: 600; color: #fff; margin-bottom: .35rem; line-height: 1.25;}
.pz-d{font-size: .75rem; font-weight: 300; color: rgba(255,255,255,.45); line-height: 1.55;}
.highlight-box{background: var(--navy); padding: 3.5rem clamp(1.25rem,5vw,3.5rem);
  text-align: center;}
.highlight-box p{font-family: var(--serif); font-size: clamp(1.4rem,3vw,2.2rem);
  font-weight: 300; line-height: 1.3; color: #fff;
  max-width: 820px; margin: 0 auto; font-style: italic;}
.omnia-page-ako-zmenit-spravcu .ci-val{font-size: .9375rem; font-weight: 400; color: var(--ink); line-height: 1.5;}
.omnia-page-ako-zmenit-spravcu .fg textarea{height: 100px; resize: none;}
.omnia-page-najcastejsie-otazky .ci-val{font-size: .9375rem; font-weight: 400; color: var(--ink); line-height: 1.5;}
.omnia-page-najcastejsie-otazky .fg textarea{height: 100px; resize: none;}
.faq-list{max-width: 860px; margin: 0 auto;}
.faq-item{background: #fff; border: 1px solid var(--rule); margin-bottom: .75rem;}
.faq-item summary{cursor: pointer; list-style: none; padding: 1.15rem 1.5rem; font-size: .95rem; font-weight: 600; color: var(--navy); display: flex; justify-content: space-between; align-items: center; gap: 1rem;}
.faq-item summary::-webkit-details-marker{display: none;}
.faq-item summary::after{content: "+"; font-size: 1.25rem; font-weight: 400; color: var(--blue); flex-shrink: 0; transition: transform .2s;}
.faq-item[open] summary::after{transform: rotate(45deg);}
.faq-item .faq-a{padding: 0 1.5rem 1.25rem; font-size: .875rem; line-height: 1.8; color: var(--ink-60);}
.omnia-page-kontakt .ci-val{font-size: .9375rem; font-weight: 400; color: var(--ink); line-height: 1.5;}
.omnia-page-kontakt .fg textarea{height: 100px; resize: none;}
.contact-main{background: #fff;
  padding: 5.5rem clamp(1.25rem,5vw,3.5rem);}
.contact-grid{max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: 5fr 7fr;
  gap: clamp(3rem,6vw,6rem); align-items: start;}
.omnia-page-kontakt .ci-val{font-size: .9375rem; font-weight: 400; color: var(--ink); line-height: 1.6;}
.hotline-box{background: var(--navy); padding: 1.25rem 1.5rem;
  display: flex; align-items: center; gap: 1rem;
  margin-bottom: 1.75rem;}
.hotline-icon{color: var(--blue-lt); flex-shrink: 0;}
.hotline-label{font-size: .6rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.4); margin-bottom: .15rem;}
.hotline-num{font-size: 1.25rem; font-weight: 600; color: #fff; letter-spacing: -.01em;}
.hotline-num a{color: inherit; text-decoration: none;}
.hotline-num a:hover{color: var(--blue-lt);}
.omnia-page-kontakt .fg textarea{height: 130px; resize: none;}
.team-section{background: var(--sky); padding: 5.5rem clamp(1.25rem,5vw,3.5rem);}
.omnia-page-kontakt .team-grid{max-width: 1200px; margin: 3rem auto 0;
  display: grid; grid-template-columns: repeat(5,1fr); gap: 1.25rem;}
.omnia-page-kontakt .team-card{background: #fff; border: 1px solid var(--rule);
  padding: 1.75rem 1.5rem;
  display: flex; flex-direction: column; gap: .5rem;
  position: relative; overflow: hidden;
  transition: box-shadow .25s, transform .25s;}
.omnia-page-kontakt .team-card::before{content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: var(--blue); transform: scaleX(0); transform-origin: left;
  transition: transform .3s var(--ease);}
.omnia-page-kontakt .team-card:hover{box-shadow: 0 8px 32px rgba(11,37,69,.1); transform: translateY(-2px);}
.team-avatar{width: 44px; height: 44px; border-radius: 50%;
  background: var(--navy); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: .75rem; font-weight: 700; letter-spacing: .04em;
  margin-bottom: .5rem;}
.omnia-page-kontakt .team-name{font-size: .875rem; font-weight: 600; color: var(--ink); line-height: 1.3;}
.omnia-page-kontakt .team-role{font-size: .75rem; font-weight: 300; color: var(--ink-60); line-height: 1.4; flex: 1;}
.omnia-page-kontakt .team-contacts{display: flex; flex-direction: column; gap: .3rem; margin-top: .5rem;}
.team-link{display: flex; align-items: center; gap: .4rem;
  font-size: .72rem; color: var(--blue); text-decoration: none;
  transition: color .2s;}
.team-link:hover{color: var(--navy);}
.location-section{background: #fff; padding: 5.5rem clamp(1.25rem,5vw,3.5rem) 0;}
.location-inner{max-width: 1200px; margin: 0 auto;}
.location-img{width: 100%; height: 420px; object-fit: cover; display: block;
  margin-top: 3rem;
  border: 1px solid var(--rule);}
.map-embed{width: 100%; height: 420px; border: none; display: block;
  margin-top: 3rem; filter: grayscale(.15);}
.location-grid{display: grid; grid-template-columns: 1fr 1fr; gap: 3rem;
  margin-top: 3rem;}
.loc-block{padding-bottom: 3rem;}
.loc-title{font-size: .6rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--blue); margin-bottom: .875rem;}
.loc-line{font-size: .9375rem; font-weight: 300; color: var(--ink-60); line-height: 1.9;}
.loc-line strong{font-weight: 600; color: var(--ink);}
.omnia-page-reklamacny-poriadok .ci-val{font-size: .9375rem; font-weight: 400; color: var(--ink); line-height: 1.5;}
.omnia-page-reklamacny-poriadok .fg textarea{height: 100px; resize: none;}
.legal-wrap{background: #fff;
  padding: 5.5rem clamp(1.25rem,5vw,3.5rem);}
.legal-inner{max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: 260px 1fr;
  gap: 5rem; align-items: start;}
.legal-toc{position: sticky; top: 90px;}
.toc-label{font-size: .6rem; font-weight: 700; letter-spacing: .18em;
  text-transform: uppercase; color: var(--blue);
  margin-bottom: 1rem;}
.toc-list{list-style: none; display: flex; flex-direction: column; gap: 0;}
.toc-list a{display: block; padding: .6rem .75rem;
  font-size: .8125rem; font-weight: 400; color: var(--ink-60);
  text-decoration: none; border-left: 2px solid var(--rule);
  transition: color .2s, border-color .2s, background .2s;
  line-height: 1.4;}
.toc-list a:hover,
.toc-list a.active{color: var(--blue); border-color: var(--blue);
  background: var(--sky);}
.toc-updated{margin-top: 2rem; padding: 1rem;
  background: var(--sky); border-left: 2px solid var(--rule);
  font-size: .75rem; color: var(--ink-60); line-height: 1.6;}
.toc-updated strong{color: var(--ink);}
.legal-content{min-width: 0;}
.legal-content .doc-intro{background: var(--sky); border-left: 3px solid var(--blue);
  padding: 1.5rem 1.75rem; margin-bottom: 3rem;
  font-size: .9375rem; font-weight: 300; color: var(--ink-60); line-height: 1.8;}
.legal-section{margin-bottom: 3rem; scroll-margin-top: 90px;}
.legal-section:last-child{margin-bottom: 0;}
.section-num{font-family: var(--serif); font-size: .75rem; font-weight: 300;
  letter-spacing: .1em; color: var(--blue); margin-bottom: .4rem;
  text-transform: uppercase;}
.section-title{font-size: 1.1875rem; font-weight: 600; color: var(--ink);
  margin-bottom: 1.25rem; line-height: 1.3;
  padding-bottom: .875rem; border-bottom: 1px solid var(--rule);}
.legal-p{font-size: .9375rem; font-weight: 300; color: var(--ink-60);
  line-height: 1.85; margin-bottom: 1rem;}
.legal-p:last-child{margin-bottom: 0;}
.legal-p strong{font-weight: 600; color: var(--ink);}
.def-list{display: flex; flex-direction: column; gap: 0; margin: 1rem 0;}
.def-item{display: grid; grid-template-columns: 1fr 3fr; gap: 1rem;
  padding: .875rem 0; border-bottom: 1px solid var(--rule);
  font-size: .9rem;}
.def-item:first-child{border-top: 1px solid var(--rule);}
.def-term{font-weight: 600; color: var(--ink); line-height: 1.4;}
.def-desc{font-weight: 300; color: var(--ink-60); line-height: 1.7;}
.contact-box{background: var(--sky); border: 1px solid var(--rule);
  padding: 1.25rem 1.5rem; margin: 1.25rem 0;
  display: flex; flex-direction: column; gap: .4rem;}
.contact-box p{font-size: .875rem; font-weight: 300; color: var(--ink-60); line-height: 1.7; margin: 0;}
.contact-box strong{font-weight: 600; color: var(--ink);}
.contact-box a{color: var(--blue); text-decoration: none;}
.req-list{list-style: none; display: flex; flex-direction: column; gap: .5rem; margin: 1rem 0;}
.req-list li{display: flex; gap: .75rem; align-items: flex-start;
  font-size: .9rem; font-weight: 300; color: var(--ink-60); line-height: 1.65;}
.req-list li::before{content: ''; flex-shrink: 0; margin-top: .55em;
  width: 5px; height: 5px; border-radius: 50%; background: var(--blue);}
.excl-list{list-style: none; display: flex; flex-direction: column; gap: .4rem; margin: 1rem 0;}
.excl-list li{display: flex; gap: .75rem; align-items: flex-start;
  font-size: .875rem; font-weight: 300; color: var(--ink-60); line-height: 1.65;}
.excl-list li::before{content: ''; flex-shrink: 0; margin-top: .52em;
  width: 5px; height: 5px; border-radius: 50%; background: var(--ink-30);}
.deadline-box{background: var(--navy); color: #fff;
  padding: 1.25rem 1.5rem; margin: 1.25rem 0;
  display: flex; align-items: center; gap: 1rem;}
.deadline-num{font-family: var(--serif); font-size: 3rem; font-weight: 300;
  color: var(--blue-lt); line-height: 1; flex-shrink: 0;}
.deadline-text{font-size: .875rem; font-weight: 300; color: rgba(255,255,255,.7); line-height: 1.6;}
.deadline-text strong{font-weight: 600; color: #fff;}
@media (max-width: 900px){
.hero-logo{display: none;}
}
@media (max-width:960px){
.nav-links{display:none;}
.nav-tel, .nav-sep{display:none;}
.nav-burger{display:flex;}
.stats{grid-template-columns:repeat(2,1fr);}
.stat{border-bottom:1px solid rgba(255,255,255,.07);}
.needs-panel{grid-template-columns:1fr;}
.about-grid, .ct-grid{grid-template-columns:1fr;}
.about-img img{height:320px;}
.svc-head{grid-template-columns:1fr;}
.svc-grid{grid-template-columns:1fr;}
.process-grid{grid-template-columns:repeat(2,1fr); gap:2rem;}
.process-grid::before{display:none;}
.app-section{grid-template-columns:1fr;}
.app-visual{display:none;}
.ins-grid{grid-template-columns:1fr;}
.cta-breaker{flex-direction:column;}
.ft{grid-template-columns:1fr; gap:2rem;}
.omnia-page-domov .fg-row{grid-template-columns:1fr;}
.omnia-page-o-spolocnosti .fg-row{grid-template-columns:1fr;}
.omnia-page-preco-omnia .fg-row{grid-template-columns:1fr;}
.omnia-page-nas-tim .fg-row{grid-template-columns:1fr;}
.omnia-page-spravovane-nehnutelnosti .fg-row{grid-template-columns:1fr;}
.omnia-page-cennik .fg-row{grid-template-columns:1fr;}
.omnia-page-neiba .fg-row{grid-template-columns:1fr;}
.neiba-hero{grid-template-columns: 1fr; min-height: auto;}
.neiba-hero-visual{display: none;}
.feat-grid{grid-template-columns: 1fr;}
.phone-inner, .phone-inner.reverse{grid-template-columns: 1fr;}
.phone-img-wrap{order: -1;}
.phone-img-wrap img{width: 200px;}
.omnia-page-dokumenty .fg-row{grid-template-columns:1fr;}
.docs-grid{grid-template-columns: 1fr;}
.omnia-page-nase-sluzby .fg-row{grid-template-columns:1fr;}
.omnia-page-zmena-spravcu .fg-row{grid-template-columns:1fr;}
.pz-grid{grid-template-columns: repeat(2,1fr); gap: 2.5rem;}
.pz-grid::before{display:none;}
.myth-item{grid-template-columns: 1fr;}
.omnia-page-ako-zmenit-spravcu .fg-row{grid-template-columns:1fr;}
.omnia-page-najcastejsie-otazky .fg-row{grid-template-columns:1fr;}
.omnia-page-kontakt .fg-row{grid-template-columns:1fr;}
.contact-grid{grid-template-columns: 1fr;}
.team-grid{grid-template-columns: repeat(2,1fr);}
.omnia-page-kontakt .fg-row{grid-template-columns: 1fr;}
.location-grid{grid-template-columns: 1fr;}
.omnia-page-reklamacny-poriadok .fg-row{grid-template-columns:1fr;}
.legal-inner{grid-template-columns: 1fr;}
.legal-toc{position: static;}
}
@media (max-width:600px){
.hero h1{font-size:2.6rem;}
.process-grid{grid-template-columns:1fr;}
.hero-btns{flex-direction:column;}
.price-download{align-items:flex-start; flex-direction:column;}
.pz-grid{grid-template-columns: 1fr;}
.team-grid{grid-template-columns: 1fr;}
}
@media (max-width: 960px){
.svc-row-inner{grid-template-columns: 1fr;}
.svc-row-inner.reverse{direction: ltr;}
.svc-img img{height: 320px;}
.ostatne-grid{grid-template-columns: 1fr;}
.team-grid{grid-template-columns: 1fr;}
}

/* ---- OMNIA CMS additions ---- */
.om-html{display:contents;}
.om-narrow{max-width:860px;margin:0 auto;}
.svc-row-inner.om-reverse{direction:rtl;}
.svc-row-inner.om-reverse > *{direction:ltr;}
.om-faq{border-bottom:1px solid var(--rule);padding:1.1rem 0;}
.om-faq summary{cursor:pointer;font-weight:600;color:var(--navy);list-style:none;}
.om-faq summary::after{content:"+";float:right;color:var(--blue);}
.om-faq[open] summary::after{content:"–";}
.om-faq p{margin-top:.75rem;color:var(--ink-60);font-size:.95rem;}
.om-docs{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;}
.om-doc{display:flex;flex-direction:column;gap:.35rem;background:#fff;border:1px solid var(--rule);padding:1.4rem;text-decoration:none;color:var(--ink);transition:border-color .2s;}
.om-doc:hover{border-color:var(--blue);}
.om-doc-t{font-weight:600;color:var(--navy);}
.om-doc-d{font-size:.85rem;color:var(--ink-60);}
.om-doc-a{font-size:.8rem;color:var(--blue);margin-top:.5rem;font-weight:600;}
.om-cta{background:var(--navy);color:#fff;padding:clamp(3.5rem,7vw,5.5rem) clamp(1.25rem,5vw,3.5rem);}
.om-cta h2{font-size:clamp(1.7rem,3vw,2.4rem);font-weight:600;margin-bottom:1rem;}
.om-cta p{color:rgba(255,255,255,.65);margin-bottom:1.75rem;}
.om-form-note{margin-top:.85rem;font-size:.875rem;}
.om-form-note[data-state="ok"]{color:#16a34a;}
.om-form-note[data-state="err"]{color:#dc2626;}
/* blog */
.om-blog{padding:clamp(3rem,6vw,5rem) clamp(1.25rem,5vw,3.5rem);background:#fff;}
.om-blog-inner{max-width:1200px;margin:0 auto;}
.om-cats{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.25rem;}
.om-cats a{font-size:.8rem;font-weight:600;padding:.45rem .95rem;border:1px solid var(--rule);color:var(--ink-60);text-decoration:none;}
.om-cats a.on,.om-cats a:hover{border-color:var(--blue);color:var(--blue);}
.om-posts{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.75rem;}
.om-post{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);border:1px solid var(--rule);background:#fff;transition:box-shadow .2s;}
.om-post:hover{box-shadow:0 10px 30px rgba(11,37,69,.08);}
.om-post-img{aspect-ratio:16/10;background:var(--sky) center/cover no-repeat;}
.om-post-body{padding:1.4rem;display:flex;flex-direction:column;gap:.5rem;}
.om-post-meta{font-size:.75rem;color:var(--blue);font-weight:600;letter-spacing:.03em;}
.om-post-t{font-size:1.15rem;font-weight:600;color:var(--navy);line-height:1.35;}
.om-post-x{font-size:.9rem;color:var(--ink-60);}
.om-empty{color:var(--ink-60);}
.om-article{max-width:760px;margin:0 auto;}
.om-article-cover{width:100%;aspect-ratio:16/8;object-fit:cover;margin-bottom:2rem;}
.om-prose{font-size:1.02rem;line-height:1.8;color:var(--ink);}
.om-prose p,.om-prose ul,.om-prose ol,.om-prose blockquote{margin:0 0 1.2rem;}
.om-prose h2{font-size:1.6rem;font-weight:600;color:var(--navy);margin:2.2rem 0 1rem;}
.om-prose h3{font-size:1.25rem;font-weight:600;color:var(--navy);margin:1.8rem 0 .8rem;}
.om-prose ul,.om-prose ol{padding-left:1.4rem;}
.om-prose a{color:var(--blue);}
.om-prose img{max-width:100%;height:auto;margin:1rem 0;}
.om-prose blockquote{border-left:3px solid var(--blue);padding-left:1rem;color:var(--ink-60);}
/* nav fit with extra menu items */
.nav{gap:1.5rem;}
.nav-links > li > a{white-space:nowrap;padding:0 .7rem;}
@media (max-width:1340px){ .nav .nav-tel, .nav .nav-sep{display:none;} }
@media (max-width:1100px){ .nav .nav-links{display:none;} .nav .nav-burger{display:flex;} .nav .nav-right{margin-left:auto;} }
@media (max-width:600px){ .nav .nav-right{display:none;} }
