:root {
  --ink: #101820;
  --navy: #0b2f55;
  --navy-dark: #071f39;
  --navy-soft: #e9f0f7;
  --navy-pale: #f3f6fa;
  --white: #ffffff;
  --surface: #f5f5f7;
  --muted: #66717d;
  --line: rgba(16, 24, 32, 0.10);
  --dark-surface: #111c28;
  --radius-sm: 14px;
  --radius-md: 24px;
  --radius-lg: 36px;
  --shadow: 0 24px 70px rgba(11, 47, 85, 0.10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--white);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; }
svg { display: block; }
:focus-visible { outline: 3px solid rgba(11,47,85,.35); outline-offset: 4px; }
.container { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.section { padding: 132px 0; }
.eyebrow {
  margin: 0 0 16px;
  color: var(--navy);
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { overflow-wrap: break-word; }
h1 {
  max-width: 980px;
  margin-bottom: 28px;
  color: var(--ink);
  font-size: clamp(3.7rem, 7.8vw, 7.2rem);
  font-weight: 750;
  line-height: .95;
  letter-spacing: -.066em;
}
h2 {
  margin-bottom: 20px;
  color: var(--ink);
  font-size: clamp(2.55rem, 4.7vw, 4.75rem);
  font-weight: 720;
  line-height: 1;
  letter-spacing: -.052em;
}
h3 {
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 1.3rem;
  line-height: 1.2;
  letter-spacing: -.025em;
}
.gradient-text { color: var(--navy); }
.section-intro {
  max-width: 620px;
  margin-bottom: 0;
  color: var(--muted);
  font-size: 1.15rem;
  line-height: 1.58;
}
.btn {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 23px;
  border: 1px solid var(--navy);
  border-radius: 999px;
  color: var(--white);
  background: var(--navy);
  font-size: .87rem;
  font-weight: 700;
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}
.btn:hover { border-color: var(--navy-dark); background: var(--navy-dark); transform: translateY(-1px); }
.btn-outline { color: var(--ink); border-color: var(--line); background: transparent; }
.btn-outline:hover { color: var(--ink); border-color: rgba(16,24,32,.18); background: var(--surface); }

.header {
  position: fixed;
  z-index: 100;
  inset: 0 0 auto;
  color: var(--ink);
  border-bottom: 1px solid rgba(16, 24, 32, .07);
  background: rgba(255,255,255,.82);
  backdrop-filter: saturate(180%) blur(20px);
}
.scroll-progress { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: linear-gradient(90deg,#0b2f55,#5e8fbd); transform: scaleX(0); transform-origin: left center; will-change: transform; }
.nav { min-height: 70px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.logo { display: inline-flex; align-items: center; gap: 11px; color: var(--ink); font-size: .9rem; font-weight: 850; letter-spacing: -.01em; white-space: nowrap; }
.logo-mark { width: 32px; aspect-ratio: 1; display: grid; place-items: center; color: var(--white); background: var(--navy); border-radius: 9px; }
.logo small { display: block; color: #7d8791; font-size: .51rem; font-weight: 700; letter-spacing: .15em; }
.nav-links { display: flex; align-items: center; gap: 24px; font-size: .79rem; font-weight: 650; }
.nav-links > a:not(.btn) { color: #39434d; white-space: nowrap; }
.nav-links > a:not(.btn):hover { color: var(--navy); }
.menu-btn { display: none; width: 44px; height: 44px; place-items: center; color: var(--ink); border: 1px solid var(--line); border-radius: 12px; background: var(--white); cursor: pointer; }

.hero {
  position: relative;
  min-height: 900px;
  display: flex;
  align-items: center;
  padding: 160px 0 100px;
  background:
    linear-gradient(rgba(11,47,85,.028) 1px,transparent 1px),
    linear-gradient(90deg,rgba(11,47,85,.028) 1px,transparent 1px),
    radial-gradient(circle at 84% 43%, rgba(11,47,85,.12), transparent 19%),
    linear-gradient(180deg, var(--white), #fbfcfe);
  background-size: 72px 72px,72px 72px,auto,auto;
  overflow: hidden;
}
.hero-copy { position: relative; z-index: 2; max-width: 960px; }
.hero-copy > * { animation: heroIn .75s cubic-bezier(.2,.7,.2,1) both; }
.hero-copy > h1 { animation-delay: .08s; }
.hero-copy > p:not(.eyebrow) { animation-delay: .16s; }
.hero-actions { animation-delay: .24s; }
.hero-stats { animation-delay: .32s; }
.hero-copy > p:not(.eyebrow) { max-width: 730px; margin-bottom: 0; color: var(--muted); font-size: clamp(1.12rem, 2vw, 1.42rem); line-height: 1.58; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 38px; }
.hero-stats { display: flex; flex-wrap: wrap; gap: 68px; margin-top: 82px; padding-top: 30px; border-top: 1px solid var(--line); }
.stat strong { display: block; color: var(--navy); font-size: 1.65rem; line-height: 1.2; letter-spacing: -.03em; }
.stat span { color: #7a8590; font-size: .84rem; }
.tech-orbit { position: absolute; right: -80px; bottom: 52px; width: 500px; aspect-ratio: 1; border-radius: 50%; opacity: .82; pointer-events: none; }
.orbit-ring { position: absolute; inset: 0; border: 1px solid rgba(11,47,85,.12); border-radius: 50%; }
.ring-one { inset: 10%; animation: orbitSpin 18s linear infinite; }
.ring-two { inset: 25%; border-style: dashed; animation: orbitSpin 13s linear infinite reverse; }
.ring-three { inset: 40%; animation: radarPulse 3.4s ease-out infinite; }
.orbit-core { position: absolute; z-index: 3; top: 50%; left: 50%; width: 88px; aspect-ratio: 1; display: grid; place-items: center; color: var(--navy); border: 1px solid rgba(11,47,85,.16); border-radius: 28px; background: rgba(255,255,255,.82); box-shadow: 0 24px 70px rgba(11,47,85,.14); transform: translate(-50%,-50%); backdrop-filter: blur(14px); animation: coreFloat 4s ease-in-out infinite; }
.orbit-core svg { width: 42px; }
.orbit-node { position: absolute; z-index: 4; width: 11px; aspect-ratio: 1; border: 3px solid #fff; border-radius: 50%; background: var(--navy); box-shadow: 0 0 0 6px rgba(11,47,85,.1),0 0 24px rgba(11,47,85,.25); }
.node-one { top: 13%; left: 48%; animation: nodePulse 2.8s ease-in-out infinite; }
.node-two { right: 12%; bottom: 28%; animation: nodePulse 2.8s .7s ease-in-out infinite; }
.node-three { left: 18%; bottom: 18%; animation: nodePulse 2.8s 1.4s ease-in-out infinite; }
.scan-beam { position: absolute; inset: 5%; border-radius: 50%; background: conic-gradient(from 0deg,transparent 0 80%,rgba(57,112,163,.16) 96%,transparent 100%); animation: orbitSpin 5.5s linear infinite; }

.trust-bar { position: relative; border-block: 1px solid var(--line); background: #fbfcfe; overflow: hidden; }
.trust-bar::after { content:""; position:absolute; inset:0; background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.9) 48%,transparent 76%); transform:translateX(-120%); animation:trustSweep 7s ease-in-out infinite; pointer-events:none; }
.trust-items { min-height: 108px; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; gap: 22px; }
.trust-item { display: flex; align-items: center; gap: 11px; color: #4c5864; font-size: .83rem; font-weight: 650; }
.check { width: 26px; height: 26px; display: grid; place-items: center; flex: 0 0 auto; color: var(--navy); border: 1px solid rgba(11,47,85,.2); border-radius: 50%; background: var(--white); font-size: .75rem; }

.services { background: var(--surface); }
.services-head { display: grid; grid-template-columns: 1.15fr .85fr; align-items: end; gap: 72px; margin-bottom: 58px; }
.services-grid { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 22px; }
.card {
  --pointer-x: -200px;
  --pointer-y: -200px;
  position: relative;
  min-height: 360px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 36px;
  border-radius: var(--radius-md);
  background: radial-gradient(circle 220px at var(--pointer-x) var(--pointer-y),rgba(71,126,177,.14),transparent 62%),var(--white);
  box-shadow: 0 1px 0 rgba(16,24,32,.03);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease;
}
.card { grid-column: span 2; }
.card:nth-child(4), .card:nth-child(5) { grid-column: span 3; }
.card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.card-icon { position: absolute; top: 32px; left: 34px; width: 54px; height: 54px; display: grid; place-items: center; color: var(--navy); border-radius: 15px; background: var(--navy-soft); }
.card-icon svg { width: 27px; height: 27px; }
.card:hover .card-icon { transform: scale(1.06); }
.card-icon { transition: transform .3s ease; }
.card-number { position: absolute; top: 31px; right: 34px; color: #c8cdd3; font-size: 2.4rem; font-weight: 750; line-height: 1; }
.card p { max-width: 510px; margin-bottom: 0; color: var(--muted); }
.card-link { margin-top: 18px; color: var(--navy); font-size: .78rem; font-weight: 800; }

.about { background: var(--white); }
.about-grid { display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 92px; }
.about-points { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; margin-top: 34px; }
.about-point { padding: 21px; border-radius: var(--radius-sm); background: var(--surface); }
.about-point strong { display: block; margin-bottom: 4px; color: var(--navy); font-size: .93rem; }
.about-point span { color: var(--muted); font-size: .84rem; }
.about-visual { position: relative; min-height: 520px; border-radius: var(--radius-lg); background: linear-gradient(145deg, #f4f6f8, #e4ebf3); overflow: hidden; }
.about-badge { position: absolute; top: 45%; left: 50%; width: 230px; aspect-ratio: 1; display: grid; place-items: center; color: var(--navy); border: 1px solid rgba(11,47,85,.16); border-radius: 50%; background: rgba(255,255,255,.4); box-shadow: 0 28px 70px rgba(11,47,85,.09); transform: translate(-50%,-50%); animation: badgeBreathe 5s ease-in-out infinite; }
.about-badge svg { width: 98px; height: 98px; }
.about-note { position: absolute; left: 32px; right: 32px; bottom: 32px; padding: 19px 21px; color: #44515d; border-radius: var(--radius-sm); background: rgba(255,255,255,.82); box-shadow: 0 12px 36px rgba(11,47,85,.08); backdrop-filter: blur(10px); font-size: .86rem; }
.about-note strong { color: var(--navy); }

#folyamat { background: #fbfcfe; }
.process-grid { display: grid; grid-template-columns: .92fr 1.08fr; align-items: center; gap: 92px; }
.process-panel { position: relative; min-height: 570px; border-radius: var(--radius-lg); background: linear-gradient(145deg, var(--navy-soft), #f6f8fa); overflow: hidden; }
.process-panel::before { content:""; position:absolute; top:50%; left:50%; width:240px; aspect-ratio:1; border:1px solid rgba(11,47,85,.18); border-radius:50%; box-shadow:0 0 80px rgba(11,47,85,.07); transform:translate(-50%,-50%); }
.shield { position:absolute; top:50%; left:50%; color:var(--navy); transform:translate(-50%,-50%); animation: shieldBreathe 3.6s ease-in-out infinite; }
.shield svg { width:92px; height:92px; }
.floating-label { position:absolute; padding:10px 14px; color:#3e4a56; border-radius:10px; background:rgba(255,255,255,.88); box-shadow:0 10px 32px rgba(11,47,85,.08); font-size:.73rem; }
.label-1 { top:17%; left:9%; }.label-2 { top:23%; right:8%; }.label-3 { bottom:17%; left:12%; }.label-4 { bottom:20%; right:9%; }
.label-1, .label-4 { animation: labelFloat 4.5s ease-in-out infinite; }
.label-2, .label-3 { animation: labelFloat 4.5s 1.2s ease-in-out infinite reverse; }
.steps { margin-top: 34px; }
.step { display: grid; grid-template-columns: 48px 1fr; gap: 18px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.step:last-child { border-bottom: 0; }
.step-num { width: 46px; height: 46px; display: grid; place-items: center; color: var(--navy); border: 1px solid rgba(11,47,85,.18); border-radius: 13px; background: var(--white); font-size: .82rem; font-weight: 800; }
.step h3 { margin-bottom: 5px; font-size: 1.15rem; }
.step p { margin-bottom: 0; color: var(--muted); font-size: .9rem; }

.references { color: var(--white); background: var(--dark-surface); }
.references h2, .references h3 { color: var(--white); }
.references .eyebrow { color: #9dbbd6; }
.references .section-intro { color: #aeb9c4; }
.reference-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 20px; margin-top: 52px; }
.reference-card { --pointer-x:-200px; --pointer-y:-200px; min-height: 340px; display: flex; flex-direction: column; padding: 30px; border: 1px solid rgba(255,255,255,.08); border-radius: var(--radius-md); background: radial-gradient(circle 220px at var(--pointer-x) var(--pointer-y),rgba(157,187,214,.14),transparent 65%),#182635; transition: transform .3s ease,border-color .3s ease; }
.reference-card:hover { border-color: rgba(157,187,214,.25); transform: translateY(-5px); }
.reference-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 32px; }
.reference-icon { width: 48px; height: 48px; display: grid; place-items: center; color: #9dbbd6; border-radius: 14px; background: rgba(157,187,214,.10); }
.reference-icon svg { width: 24px; height: 24px; }
.reference-tag { color: #9dbbd6; font-size: .66rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.reference-card p { color: #aeb9c4; font-size: .9rem; }
.reference-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 20px; }
.reference-meta span { padding: 6px 9px; color: #d8e0e7; border-radius: 7px; background: rgba(255,255,255,.07); font-size: .69rem; }

.blog-section { background: var(--surface); }
.blog-heading { display: grid; grid-template-columns: 1.1fr .9fr; align-items: end; gap: 72px; margin-bottom: 56px; }
.blog-grid { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 20px; }
.blog-card { --pointer-x:-200px; --pointer-y:-200px; grid-column: span 2; min-height: 315px; display: flex; flex-direction: column; padding: 30px; border-radius: var(--radius-md); background: radial-gradient(circle 200px at var(--pointer-x) var(--pointer-y),rgba(71,126,177,.12),transparent 65%),var(--white); transition: transform .25s ease, box-shadow .25s ease; }
.blog-card.blog-wide { grid-column: span 3; }
.blog-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.blog-card time { color: #7a8590; font-size: .75rem; }
.blog-card h3 { margin-top: 26px; font-size: 1.5rem; }
.blog-card p { color: var(--muted); font-size: .9rem; }
.blog-card span { margin-top: auto; padding-top: 20px; color: var(--navy); font-size: .83rem; font-weight: 750; }

#gyik { background: var(--white); }
.faq-grid { display: grid; grid-template-columns: .82fr 1.18fr; align-items: start; gap: 90px; }
.faq-list { border-top: 1px solid var(--line); }
details { border-bottom: 1px solid var(--line); }
summary { position: relative; padding: 23px 48px 23px 0; color: var(--ink); list-style: none; font-size: 1rem; font-weight: 700; cursor: pointer; }
summary::-webkit-details-marker { display: none; }
summary::after { content: "+"; position: absolute; top: 18px; right: 2px; width: 31px; height: 31px; display: grid; place-items: center; color: var(--navy); border: 1px solid var(--line); border-radius: 9px; }
details[open] summary::after { content: "−"; }
details p { padding: 0 48px 23px 0; margin-bottom: 0; color: var(--muted); font-size: .91rem; }

#kapcsolat { padding-top: 110px; background: var(--white); }
.quote-heading { max-width: 860px; margin-bottom: 52px; }
.quote-form { max-width: 880px; min-height: 520px; margin-inline: auto; padding: 42px 52px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fbfcfe; box-shadow: 0 24px 70px rgba(11,47,85,.08); }
.quote-form[hidden] { display: none; }
.wizard-progress { display: flex; align-items: center; gap: 16px; margin-bottom: 54px; }
.progress-track { height: 4px; flex: 1; border-radius: 999px; background: #e1e6eb; overflow: hidden; }
.progress-track span { width: 11%; height: 100%; display: block; border-radius: inherit; background: var(--navy); transition: width .35s ease; }
.wizard-progress > span { min-width: 40px; color: #7b8690; font-size: .75rem; font-weight: 700; text-align: right; }
.form-step { display: none; animation: stepIn .32s ease both; }
.form-step.active { display: block; }
.form-step h3 { max-width: 680px; margin-bottom: 28px; font-size: clamp(1.8rem,4vw,2.8rem); letter-spacing: -.04em; }
.step-kicker { display: block; margin-bottom: 9px; color: var(--navy); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.choice-card { position: relative; min-height: 78px; display: flex; align-items: center; padding: 18px 20px; border: 1px solid rgba(16,24,32,.11); border-radius: 16px; background: var(--white); cursor: pointer; transition: border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease; }
.choice-card:hover { border-color: rgba(11,47,85,.32); transform: translateY(-1px); }
.choice-card.selected { border-color: var(--navy); background: var(--navy-soft); box-shadow: 0 0 0 2px rgba(11,47,85,.08); }
.choice-card input { position: absolute; opacity: 0; pointer-events: none; }
.choice-card > span { color: #263542; font-size: .92rem; font-weight: 750; }
.choice-card small { display: block; margin-top: 3px; color: #7b8690; font-size: .72rem; font-weight: 500; }
.wizard-back { margin-top: 26px; padding: 10px 0; color: #6f7b86; border: 0; background: transparent; font-size: .82rem; font-weight: 700; cursor: pointer; }
.wizard-back:hover { color: var(--navy); }
.wizard-actions { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 26px; }
.wizard-actions .wizard-back { margin-top: 0; }
.wizard-input { display: flex; flex-direction: column; gap: 8px; }
.wizard-input > span { color: #44515d; font-size: .8rem; font-weight: 700; }
.wizard-input input, .wizard-input select, .wizard-input textarea { width: 100%; min-height: 56px; padding: 14px 16px; color: var(--ink); border: 1px solid rgba(16,24,32,.14); border-radius: 14px; outline: 0; background: var(--white); font: inherit; transition: border-color .2s ease,box-shadow .2s ease; }
.wizard-input select { appearance: none; padding-right: 46px; background-image: linear-gradient(45deg,transparent 50%,#66737e 50%),linear-gradient(135deg,#66737e 50%,transparent 50%); background-position: calc(100% - 21px) 24px,calc(100% - 15px) 24px; background-size: 6px 6px,6px 6px; background-repeat: no-repeat; cursor: pointer; }
.wizard-input textarea { min-height: 112px; resize: vertical; }
.wizard-input input:focus, .wizard-input select:focus, .wizard-input textarea:focus { border-color: var(--navy); box-shadow: 0 0 0 3px rgba(11,47,85,.1); }
.final-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.final-fields .full { grid-column: 1 / -1; }
@keyframes stepIn { from { opacity: 0; transform: translateX(12px); } to { opacity: 1; transform: none; } }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 22px; }
.form-field { display: flex; flex-direction: column; gap: 9px; }
.form-field-wide { grid-column: 1 / -1; }
.form-field > span { color: #384550; font-size: .84rem; font-weight: 700; }
.form-field input, .form-field select, .form-field textarea {
  width: 100%;
  min-height: 52px;
  padding: 12px 14px;
  color: var(--ink);
  border: 1px solid rgba(16,24,32,.14);
  border-radius: 12px;
  outline: none;
  background: var(--white);
  font: inherit;
  font-size: .92rem;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.form-field textarea { min-height: 120px; resize: vertical; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color: var(--navy); box-shadow: 0 0 0 3px rgba(11,47,85,.10); }
.form-field input::placeholder, .form-field textarea::placeholder { color: #949ca4; }
.privacy-check { display: flex; align-items: flex-start; gap: 10px; margin: 24px 0; color: var(--muted); font-size: .8rem; }
.privacy-check input { margin-top: 3px; accent-color: var(--navy); }
.privacy-check a { color: var(--navy); text-decoration: underline; text-underline-offset: 2px; }
.quote-submit { min-width: 250px; }
.quote-submit:disabled { opacity: .65; cursor: wait; transform: none; }
.spam-field { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-error { min-height: 22px; margin-top: 14px; color: #a52a2a; font-size: .82rem; font-weight: 650; text-align: right; }
.quote-result { display: none; padding: 46px; border-radius: var(--radius-lg); background: var(--navy-soft); }
.quote-result.show { display: block; }
.quote-result h3 { max-width: 720px; color: var(--navy); font-size: clamp(1.8rem,4vw,2.8rem); }
.quote-result ul { max-width: 850px; margin: 28px 0; padding-left: 22px; }
.quote-result li { margin-bottom: 11px; color: #455461; }
.result-note { max-width: 850px; margin: 28px 0; padding-top: 24px; color: var(--muted); border-top: 1px solid rgba(11,47,85,.12); font-size: .83rem; }
.submission-status { width: fit-content; margin-top: 4px; padding: 10px 14px; color: #fff; border-radius: 999px; background: var(--navy); font-size: .78rem; font-weight: 800; }
.text-button { margin-left: 14px; padding: 10px; color: var(--navy); border: 0; background: transparent; font-weight: 700; cursor: pointer; }
.direct-contact { position: relative; display: grid; grid-template-columns: minmax(240px,.8fr) minmax(420px,1.2fr); align-items: center; gap: 40px; margin-top: 34px; padding: 34px; overflow: hidden; color: var(--muted); border: 1px solid rgba(11,47,85,.11); border-radius: 24px; background: linear-gradient(135deg,rgba(255,255,255,.96),rgba(244,248,252,.92)); box-shadow: 0 18px 55px rgba(11,47,85,.08); }
.direct-contact::after { content:""; position:absolute; width:220px; height:220px; right:-120px; top:-140px; border-radius:50%; background:rgba(19,67,112,.1); filter:blur(2px); pointer-events:none; animation:contactGlow 7s ease-in-out infinite alternate; }
.contact-intro { position:relative; z-index:1; }
.contact-eyebrow { display:block; margin-bottom:10px; color:#587089; font-size:.68rem; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.contact-intro strong { display:block; max-width:390px; color:var(--navy); font-size:clamp(1.25rem,2vw,1.7rem); line-height:1.15; letter-spacing:-.025em; }
.contact-intro p { max-width:430px; margin:12px 0 0; font-size:.82rem; line-height:1.65; }
.contact-options { position:relative; z-index:1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.contact-method { display:flex; align-items:center; gap:13px; min-width:0; padding:17px; color:var(--navy); border:1px solid rgba(11,47,85,.1); border-radius:17px; background:rgba(255,255,255,.88); box-shadow:0 8px 24px rgba(11,47,85,.05); transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.contact-method:hover { transform:translateY(-3px); border-color:rgba(11,47,85,.24); box-shadow:0 15px 34px rgba(11,47,85,.11); }
.contact-icon { flex:0 0 42px; display:grid; place-items:center; width:42px; height:42px; color:#fff; border-radius:13px; background:linear-gradient(145deg,#123f6c,#071f38); box-shadow:0 9px 20px rgba(11,47,85,.2); }
.contact-icon svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.contact-method > span:last-child { display:flex; min-width:0; flex-direction:column; }
.contact-method small { margin-bottom:3px; color:#788694; font-size:.66rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.contact-method b { overflow:hidden; color:var(--navy); font-size:.83rem; text-overflow:ellipsis; white-space:nowrap; }
.contact-method em { margin-top:4px; color:#647383; font-size:.68rem; font-style:normal; }
@keyframes contactGlow { from { transform:translate3d(0,0,0) scale(.9); opacity:.55; } to { transform:translate3d(-28px,24px,0) scale(1.12); opacity:.9; } }

footer { padding: 44px 0; color: var(--muted); border-top: 1px solid var(--line); background: var(--surface); font-size: .81rem; }
.footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 34px; }
.footer-links { display: flex; gap: 20px; }
.footer-links a:hover { color: var(--navy); }

.cookie-banner { position: fixed; z-index: 200; left: 20px; right: 20px; bottom: 20px; max-width: 760px; margin-inline: auto; display: none; align-items: center; gap: 24px; padding: 22px; color: var(--white); border-radius: 18px; background: rgba(17,28,40,.96); box-shadow: 0 18px 60px rgba(0,0,0,.24); backdrop-filter: blur(18px); }
.cookie-banner.show { display: flex; }
.cookie-banner p { margin-bottom: 0; color: #d2dae2; font-size: .83rem; }
.cookie-banner strong { color: var(--white); }
.cookie-banner p a { color: #aac4dc !important; }
.cookie-actions { display: flex; flex: 0 0 auto; gap: 8px; }
.cookie-actions .btn { min-height: 42px; padding: 0 15px; font-size: .76rem; }
.cookie-actions .btn-outline { color: var(--white); border-color: rgba(255,255,255,.2); background: transparent; }
.cookie-actions .btn-outline:hover { color: var(--white); background: rgba(255,255,255,.08); }

.reveal { opacity: 0; transform: translateY(22px) scale(.992); transition: opacity .7s var(--reveal-delay,0ms) ease, transform .7s var(--reveal-delay,0ms) cubic-bezier(.2,.7,.2,1); }
.reveal.visible { opacity: 1; transform: none; }
@keyframes heroIn { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes radarPulse { 0% { opacity: .25; transform: scale(.7); } 70%,100% { opacity: 0; transform: scale(2.6); } }
@keyframes labelFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes orbitSpin { to { transform: rotate(360deg); } }
@keyframes nodePulse { 0%,100% { transform: scale(.9); opacity:.65; } 50% { transform: scale(1.2); opacity:1; } }
@keyframes coreFloat { 0%,100% { transform:translate(-50%,-50%) translateY(0); } 50% { transform:translate(-50%,-50%) translateY(-8px); } }
@keyframes trustSweep { 0%,20% { transform:translateX(-120%); } 55%,100% { transform:translateX(120%); } }
@keyframes badgeBreathe { 0%,100% { transform:translate(-50%,-50%) scale(1); box-shadow:0 28px 70px rgba(11,47,85,.09); } 50% { transform:translate(-50%,-50%) scale(1.035); box-shadow:0 34px 85px rgba(11,47,85,.16); } }
@keyframes shieldBreathe { 0%,100% { transform:translate(-50%,-50%) scale(1); } 50% { transform:translate(-50%,-50%) scale(1.07); } }

@media (max-width: 980px) {
  .nav-links { gap: 16px; }
  .nav-links > a:not(.btn) { display: none; }
  .services-head, .blog-heading { grid-template-columns: 1fr; gap: 24px; }
  .about-grid, .process-grid, .faq-grid { gap: 58px; }
  .card { grid-column: span 3; }
  .card:nth-child(5) { grid-column: 2 / span 4; }
}
@media (max-width: 820px) {
  .section { padding: 102px 0; }
  .menu-btn { display: grid; }
  .nav-links {
    position: absolute;
    top: 62px;
    left: 20px;
    right: 20px;
    display: none;
    align-items: stretch;
    flex-direction: column;
    gap: 0;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: rgba(255,255,255,.98);
    box-shadow: var(--shadow);
  }
  .nav-links.open { display: flex; }
  .nav-links > a:not(.btn) { display: block; padding: 12px; }
  .nav-links .btn { margin-top: 8px; }
  .trust-items { grid-template-columns: repeat(2,1fr); padding: 24px 0; }
  .about-grid, .process-grid, .faq-grid { grid-template-columns: 1fr; }
  .reference-grid { grid-template-columns: 1fr; }
  .reference-card { min-height: 280px; }
  .blog-card, .blog-card.blog-wide { grid-column: span 3; }
  .process-panel { min-height: 480px; }
  .quote-form { padding: 32px; }
}
@media (max-width: 560px) {
  html, body { width: 100%; max-width: 100%; overflow-x: clip; }
  body * { min-width: 0; }
  .container { width: calc(100% - 28px); max-width: 100%; }
  .section { padding: 72px 0; }
  h1 { max-width: 100%; font-size: 2.35rem; line-height: 1; hyphens: manual; overflow-wrap: anywhere; }
  h2 { font-size: 2.25rem; line-height: 1.02; }
  .hero { min-height: auto; padding: 120px 0 68px; }
  .hero-copy { width: 100%; text-align: center; }
  .hero .eyebrow { text-align: center; }
  .hero h1 { max-width: 350px; margin-inline: auto; font-size: 2.35rem; }
  .hero-copy > p:not(.eyebrow) { font-size: 1.04rem; }
  .hero-actions .btn { width: 100%; }
  .hero-stats { display: grid; grid-template-columns: 1fr; gap: 18px; margin-top: 48px; padding-top: 24px; }
  .stat { display: block; text-align: center; }
  .stat strong { font-size: 1.35rem; }
  .stat span { display: block; margin-top: 3px; text-align: center; }
  .tech-orbit { display: none; }
  .trust-items { grid-template-columns: 1fr; gap: 14px; }
  .trust-item { justify-content: center; font-size: .8rem; text-align: center; }
  .services-grid { grid-template-columns: 1fr; }
  .card, .card:nth-child(4), .card:nth-child(5) { grid-column: auto; }
  .services-head, .blog-heading { margin-bottom: 38px; }
  .services-head, .blog-heading, .quote-heading { text-align: center; }
  .services-head .section-intro, .blog-heading .section-intro, .quote-heading .section-intro { margin-inline: auto; }
  .card { min-height: 290px; padding: 25px; border-radius: 20px; }
  .card-icon { top: 26px; left: 27px; }
  .card-number { top: 27px; right: 27px; }
  .about-points { grid-template-columns: 1fr; }
  .about-grid > div:first-child { text-align: center; }
  .about-point { text-align: left; }
  .about-visual { min-height: 380px; border-radius: 24px; }
  .about-badge { width: 190px; }
  .about-badge svg { width: 78px; height: 78px; }
  .about-note { left: 22px; right: 22px; bottom: 22px; }
  .process-panel { display: none; }
  .process-grid { gap: 0; }
  .step { grid-template-columns: 42px 1fr; gap: 14px; }
  .step-num { width: 40px; height: 40px; }
  .blog-grid { grid-template-columns: 1fr; }
  .blog-card, .blog-card.blog-wide { grid-column: auto; min-height: 260px; padding: 24px; border-radius: 20px; }
  .reference-card { min-height: 250px; padding: 24px; border-radius: 20px; }
  .references > .container > div:first-child { text-align: center; }
  .references .section-intro { margin-inline: auto; }
  #kapcsolat { padding-top: 72px; }
  .quote-heading { margin-bottom: 36px; }
  .quote-heading h2 { font-size: 2.15rem; }
  .quote-form { min-height: 0; padding: 24px 16px; border-radius: 20px; }
  .logo small { display: none; }
  .header .container { width: calc(100% - 24px); }
  .nav { min-height: 64px; gap: 8px; }
  .nav .logo { flex: 0 1 auto; }
  .nav .logo > span:last-child { max-width: 125px; overflow: hidden; font-size: .75rem; }
  .menu-btn { display: grid; flex: 0 0 44px; margin-left: auto; }
  .nav-links { top: 58px; left: 14px; right: 14px; }
  .wizard-progress { margin-bottom: 38px; }
  .choice-grid { grid-template-columns: 1fr; }
  .choice-card { min-height: 62px; padding: 14px 15px; border-radius: 13px; }
  .form-step h3 { margin-bottom: 22px; font-size: 1.65rem; line-height: 1.08; }
  .final-fields { grid-template-columns: 1fr; }
  .final-fields .full { grid-column: auto; }
  .wizard-actions { align-items: stretch; flex-direction: column-reverse; }
  .wizard-actions .btn { width: 100%; }
  .wizard-actions .wizard-back { text-align: left; }
  .form-grid { grid-template-columns: 1fr; gap: 18px; }
  .form-field-wide { grid-column: auto; }
  .quote-submit { width: 100%; min-width: 0; }
  .quote-result { padding: 30px 20px; border-radius: var(--radius-md); }
  .quote-result .btn { width: 100%; }
  .text-button { width: 100%; margin: 12px 0 0; }
  .direct-contact { grid-template-columns:1fr; gap:22px; padding:24px 20px; }
  .contact-options { grid-template-columns:1fr; width:100%; }
  .contact-method { width:100%; }
  .footer-inner { align-items: flex-start; flex-direction: column; gap: 22px; }
  .footer-links { flex-wrap: wrap; }
  .cookie-banner { left: 10px; right: 10px; bottom: 10px; max-height: calc(100vh - 20px); align-items: stretch; flex-direction: column; padding: 18px; overflow-y: auto; }
  .cookie-actions { width: 100%; flex-direction: column; }
  .cookie-actions .btn { width: 100%; min-width: 0; flex: none; padding-inline: 10px; }
}
@media (max-width: 370px) {
  .hero h1 { font-size: 2.15rem; }
  h2, .quote-heading h2 { font-size: 2rem; }
  .logo-mark { width: 29px; }
  .nav .logo > span:last-child { max-width: 110px; font-size: .7rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
.nav-links .language-switch{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border:1px solid rgba(11,47,85,.14);border-radius:999px;color:var(--navy);background:rgba(11,47,85,.04);font-size:.7rem;font-weight:850;letter-spacing:.04em}.nav-links .language-switch span{color:#697682;font-weight:650;letter-spacing:0}.nav-links .language-switch:hover{border-color:rgba(11,47,85,.28);background:rgba(11,47,85,.08)}@media(max-width:980px){.nav-links .language-switch{display:none}}@media(max-width:820px){.nav-links.open .language-switch{display:flex;justify-content:center;margin-top:6px}}

.trust-metrics .trust-item{display:flex;align-items:center;gap:12px}.trust-metrics .trust-item>span:last-child{display:flex;flex-direction:column}.trust-metrics strong{color:var(--navy);font-size:.78rem}.trust-metrics small{margin-top:2px;color:#72808d;font-size:.65rem}.metric-icon{display:grid;place-items:center;width:34px;height:34px;color:#fff;border-radius:11px;background:var(--navy);font-size:.62rem;font-weight:850;box-shadow:0 8px 18px rgba(11,47,85,.18)}
.planner-section{background:linear-gradient(180deg,#f8fafc,#eef3f7)}.planner-heading{max-width:740px;margin-bottom:38px}.planner-shell{display:grid;grid-template-columns:1.25fr .75fr;min-height:550px;overflow:hidden;border:1px solid rgba(11,47,85,.12);border-radius:30px;background:#fff;box-shadow:0 28px 80px rgba(11,47,85,.1)}.property-map{position:relative;min-height:550px;overflow:hidden;background:linear-gradient(145deg,#e9f0f5,#f8fafc)}.map-grid{position:absolute;inset:0;opacity:.32;background-image:linear-gradient(rgba(11,47,85,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(11,47,85,.1) 1px,transparent 1px);background-size:34px 34px}.building-shape{position:absolute;inset:20% 19%;display:grid;place-items:center;color:#718092;border:2px solid rgba(11,47,85,.22);border-radius:22px;background:rgba(255,255,255,.75);box-shadow:0 22px 50px rgba(11,47,85,.09);font-size:.72rem;font-weight:850;letter-spacing:.16em}.door-shape{position:absolute;bottom:-2px;left:44%;width:54px;height:28px;border:2px solid rgba(11,47,85,.3);border-bottom:0;border-radius:10px 10px 0 0}.map-point{position:absolute;z-index:3;display:flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--navy);font:inherit;cursor:pointer}.map-point span{display:grid;place-items:center;width:38px;height:38px;color:#fff;border:3px solid rgba(255,255,255,.9);border-radius:50%;background:#123f6c;box-shadow:0 0 0 7px rgba(18,63,108,.1),0 12px 28px rgba(11,47,85,.23);transition:.25s ease}.map-point small{padding:6px 9px;border-radius:8px;background:rgba(255,255,255,.9);font-size:.67rem;font-weight:750;box-shadow:0 5px 18px rgba(11,47,85,.08)}.map-point:hover span,.map-point[aria-pressed=true] span{transform:scale(1.13);background:#071f38;box-shadow:0 0 0 10px rgba(18,63,108,.14),0 14px 30px rgba(11,47,85,.28)}.map-point[aria-pressed=true] span{font-size:0}.map-point[aria-pressed=true] span::after{content:"✓";font-size:.9rem}.p1{left:46%;bottom:13%}.p2{left:8%;bottom:17%}.p3{right:8%;bottom:25%}.p4{right:7%;top:18%}.p5{left:43%;top:37%}.map-scan{position:absolute;z-index:2;left:0;right:0;height:2px;top:15%;background:linear-gradient(90deg,transparent,#1d5c91,transparent);box-shadow:0 0 18px #1d5c91;opacity:.6;animation:mapScan 5s ease-in-out infinite}.planner-console{display:flex;flex-direction:column;justify-content:center;padding:42px;color:#dbe7f1;background:linear-gradient(150deg,#0b2f55,#071c33)}.planner-console h3{margin:18px 0 12px;color:#fff;font-size:1.45rem}.planner-console p{color:#afc0cf;font-size:.82rem;line-height:1.65}.console-status{display:flex;align-items:center;gap:8px;color:#a8c5dc;font-size:.65rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.console-status i{width:7px;height:7px;border-radius:50%;background:#72d6a0;box-shadow:0 0 0 6px rgba(114,214,160,.1);animation:statusPulse 1.8s ease-out infinite}.planner-summary{display:flex;flex-wrap:wrap;gap:7px;min-height:74px;margin:24px 0 18px;padding:15px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.05)}.planner-summary span{height:fit-content;padding:6px 9px;color:#dbe7f1;border-radius:8px;background:rgba(255,255,255,.09);font-size:.68rem}.planner-count{display:flex;align-items:baseline;gap:8px;margin-bottom:22px}.planner-count strong{color:#fff;font-size:2.1rem}.planner-count span{color:#93a9bb;font-size:.73rem}.planner-apply:disabled{opacity:.38;cursor:not-allowed;transform:none}.process-timeline{position:relative}.process-timeline::before{content:"";position:absolute;left:22px;top:18px;bottom:18px;width:1px;background:linear-gradient(#123f6c,#8da4b8)}.process-timeline .step{position:relative}.process-timeline .step-num{z-index:1;transition:transform .35s ease,box-shadow .35s ease}.process-timeline .step.visible .step-num,.process-timeline .step:hover .step-num{transform:scale(1.08);box-shadow:0 0 0 8px rgba(11,47,85,.08)}.callback-panel{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px;margin-top:34px;padding:36px;border-radius:24px;color:#dbe7f1;background:linear-gradient(145deg,#0b2f55,#071c33);box-shadow:0 24px 60px rgba(11,47,85,.16)}.callback-copy h3{margin:10px 0;color:#fff;font-size:1.55rem}.callback-copy p{color:#b6c5d2;font-size:.82rem;line-height:1.65}.callback-copy .contact-eyebrow{color:#9db6ca}.callback-form{display:grid;grid-template-columns:1fr 1fr;gap:13px}.callback-form label{display:flex;flex-direction:column;gap:6px;color:#b8c9d7;font-size:.68rem;font-weight:700}.callback-form input,.callback-form select{width:100%;padding:13px 14px;color:#fff;border:1px solid rgba(255,255,255,.14);border-radius:11px;outline:0;background:rgba(255,255,255,.07);font:inherit}.callback-form select option{color:#111}.callback-form input:focus,.callback-form select:focus{border-color:rgba(255,255,255,.42)}.callback-consent{grid-column:1/-1;flex-direction:row!important;align-items:center}.callback-consent input{width:auto}.callback-consent a{color:#fff;text-decoration:underline}.callback-form .btn{width:fit-content}.callback-form .form-error{grid-column:1/-1;margin:0;color:#dbe7f1}.callback-form .form-error.success{color:#83e1aa}@keyframes mapScan{0%,100%{top:12%;opacity:0}20%,80%{opacity:.65}50%{top:88%}}@keyframes statusPulse{0%{box-shadow:0 0 0 0 rgba(114,214,160,.35)}100%{box-shadow:0 0 0 10px rgba(114,214,160,0)}}
@media(max-width:980px){.planner-shell,.callback-panel{grid-template-columns:1fr}.planner-console{padding:32px}.callback-form{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.trust-metrics .trust-items{grid-template-columns:1fr 1fr}.planner-shell{border-radius:22px}.property-map{min-height:430px}.building-shape{inset:23% 15%}.map-point small{display:none}.planner-console{padding:26px 20px}.callback-panel{padding:26px 20px}.callback-form{grid-template-columns:1fr}.callback-consent{grid-column:auto}.callback-form .btn{width:100%}}@media(prefers-reduced-motion:reduce){.map-scan,.console-status i,.direct-contact::after{animation:none!important}.contact-method,.map-point span{transition:none}}

.configurator{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);overflow:hidden;border:1px solid rgba(11,47,85,.11);border-radius:30px;background:#fff;box-shadow:0 28px 80px rgba(11,47,85,.1)}.config-questions{padding:40px}.config-group+ .config-group{margin-top:32px;padding-top:30px;border-top:1px solid rgba(11,47,85,.09)}.config-title{display:flex;align-items:center;gap:13px;margin-bottom:17px}.config-title>span{display:grid;place-items:center;width:35px;height:35px;color:#fff;border-radius:11px;background:var(--navy);font-size:.65rem;font-weight:850}.config-title>div{display:flex;flex-direction:column}.config-title strong{color:var(--navy);font-size:.91rem}.config-title small{margin-top:3px;color:#778490;font-size:.67rem}.config-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.config-options.compact{grid-template-columns:repeat(3,minmax(0,1fr))}.config-options button{min-height:66px;padding:13px 15px;text-align:left;color:#334c62;border:1px solid rgba(11,47,85,.12);border-radius:14px;background:#f8fafc;font:inherit;cursor:pointer;transition:.22s ease}.config-options button b,.config-options button small{display:block}.config-options button b{color:var(--navy);font-size:.78rem}.config-options button small{margin-top:4px;color:#768593;font-size:.65rem}.config-options button:hover{transform:translateY(-2px);border-color:rgba(11,47,85,.26);background:#fff;box-shadow:0 10px 24px rgba(11,47,85,.07)}.config-options button.selected{color:#fff;border-color:var(--navy);background:var(--navy);box-shadow:0 11px 26px rgba(11,47,85,.18)}.config-options button.selected b,.config-options button.selected small{color:#fff}.config-result{position:relative;display:flex;min-height:610px;flex-direction:column;justify-content:center;padding:42px;overflow:hidden;color:#dce8f1;background:linear-gradient(150deg,#0b2f55,#061a30)}.config-result::after{content:"";position:absolute;width:260px;height:260px;right:-150px;top:-140px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 38px rgba(255,255,255,.025),0 0 0 76px rgba(255,255,255,.018)}.result-visual{position:relative;display:grid;place-items:center;width:82px;height:82px;margin:30px 0 24px;color:#fff;border-radius:25px;background:rgba(255,255,255,.08)}.result-visual svg{z-index:1;width:37px;height:37px;fill:none;stroke:currentColor;stroke-width:1.2}.result-ring{position:absolute;inset:-7px;border:1px solid rgba(125,183,226,.36);border-radius:30px;animation:resultBreathe 3s ease-in-out infinite}.config-result h3{min-height:58px;margin:0 0 12px;color:#fff;font-size:1.5rem;line-height:1.18}.config-result>p{min-height:66px;color:#aebfce;font-size:.8rem;line-height:1.65}.config-selection{display:flex;min-height:76px;align-content:flex-start;flex-wrap:wrap;gap:7px;margin:21px 0}.config-selection span{height:fit-content;padding:7px 9px;color:#d9e8f4;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:rgba(255,255,255,.06);font-size:.66rem}.config-readiness{margin:0 0 22px}.config-readiness>span{display:block;height:4px;margin-bottom:8px;overflow:hidden;border-radius:3px;background:rgba(255,255,255,.1)}.config-readiness i{display:block;width:0;height:100%;border-radius:3px;background:#81c5f4;transition:width .35s ease}.config-readiness small{color:#91a8ba;font-size:.65rem}.config-result .btn{width:100%}@keyframes resultBreathe{50%{transform:scale(1.06);opacity:.55}}
.callback-panel{position:relative;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);align-items:center;gap:44px;margin-top:40px;padding:42px;overflow:hidden;color:var(--muted);border:1px solid rgba(11,47,85,.11);background:linear-gradient(135deg,#fff,#f3f7fa);box-shadow:0 22px 65px rgba(11,47,85,.09)}.callback-panel::before{content:"";position:absolute;width:180px;height:180px;left:-100px;bottom:-110px;border-radius:50%;background:rgba(11,47,85,.06)}.callback-copy{position:relative}.callback-copy h3{margin:14px 0 12px;color:var(--navy);font-size:1.55rem;line-height:1.15}.callback-copy p{color:#687886}.callback-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;color:#34536d;border:1px solid rgba(11,47,85,.1);border-radius:999px;background:#fff;font-size:.63rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.callback-badge i{width:7px;height:7px;border-radius:50%;background:#2a9560;box-shadow:0 0 0 5px rgba(42,149,96,.1)}.callback-promises{display:flex;flex-direction:column;gap:7px;margin-top:20px;color:#526b80;font-size:.69rem;font-weight:700}.callback-form{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:24px;border:1px solid rgba(11,47,85,.1);border-radius:20px;background:rgba(255,255,255,.92);box-shadow:0 13px 34px rgba(11,47,85,.07)}.callback-form label{color:#52687b}.callback-form input,.callback-form select{color:var(--navy);border-color:rgba(11,47,85,.13);background:#f7f9fb}.callback-form input::placeholder{color:#9aa6b0}.callback-form input:focus,.callback-form select:focus{border-color:rgba(11,47,85,.38);box-shadow:0 0 0 3px rgba(11,47,85,.06)}.callback-consent a{color:var(--navy)}.callback-form .form-error{color:#b44141}.callback-form .form-error.success{color:#23764d}
@media(max-width:980px){.configurator{grid-template-columns:1fr}.config-result{min-height:auto}.callback-panel{grid-template-columns:1fr}.callback-form{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.configurator{border-radius:22px}.config-questions,.config-result{padding:25px 20px}.config-options,.config-options.compact{grid-template-columns:1fr 1fr}.config-options button{min-height:58px}.config-result h3,.config-result>p{min-height:0}.callback-panel{padding:25px 20px}.callback-form{grid-template-columns:1fr;padding:18px}.callback-promises{margin-bottom:4px}}@media(max-width:430px){.config-options,.config-options.compact{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.result-ring{animation:none}}
.configurator:has(.config-result.quote-open){grid-template-columns:1fr}.configurator:has(.config-result.quote-open) .config-questions{display:none}.config-result.quote-open{min-height:auto;justify-content:flex-start;padding:42px;background:linear-gradient(180deg,#f7f9fb,#eef3f7)}.config-result.quote-open>.console-status,.config-result.quote-open>.result-visual,.config-result.quote-open>h3,.config-result.quote-open>p,.config-result.quote-open>.config-selection,.config-result.quote-open>.config-readiness{display:none}.config-result.quote-open .quote-form{width:100%;margin:0;color:var(--text);animation:configFormIn .4s ease}.config-result.quote-open .quote-result{width:100%;color:var(--text)}.config-result.quote-open .quote-form .btn{width:auto}.config-result.quote-open .wizard-actions .btn{min-width:150px}.contact-section{padding-top:42px}@keyframes configFormIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media(max-width:700px){.config-result.quote-open{padding:20px 12px}.config-result.quote-open .quote-form{padding:26px 18px}.config-result.quote-open .quote-form .btn{width:100%}}

.planner-heading{margin-inline:auto;text-align:center}.planner-heading .section-intro{margin-inline:auto}.config-result{align-items:center;text-align:center}.config-result .console-status{justify-content:center}.config-selection{justify-content:center}.config-readiness{width:100%;max-width:390px}.config-result.quote-open{align-items:stretch;text-align:left}.config-result.quote-open .quote-form{max-width:960px;margin-inline:auto;color:var(--ink);border-color:rgba(11,47,85,.12);background:#fff;box-shadow:0 22px 65px rgba(11,47,85,.1)}.config-result.quote-open .form-step{text-align:center}.config-result.quote-open .form-step h3{max-width:760px;margin-right:auto;margin-left:auto;color:var(--ink);text-align:center}.config-result.quote-open .step-kicker{color:var(--navy);text-align:center}.config-result.quote-open .choice-grid{max-width:780px;margin-inline:auto}.config-result.quote-open .choice-card{justify-content:center;text-align:center;background:#fff}.config-result.quote-open .choice-card>span,.config-result.quote-open .choice-card b{color:#263542}.config-result.quote-open .choice-card small{color:#6c7b88}.config-result.quote-open .choice-card.selected{border-color:var(--navy);background:var(--navy-soft)}.config-result.quote-open .wizard-progress>span{color:#667582}.config-result.quote-open .wizard-input{text-align:left}.config-result.quote-open .wizard-input>span{color:#34495b}.config-result.quote-open .wizard-input input,.config-result.quote-open .wizard-input select,.config-result.quote-open .wizard-input textarea{color:var(--ink);border-color:rgba(11,47,85,.17);background:#fff}.config-result.quote-open .privacy-check{justify-content:center;color:#5d6d7a;text-align:left}.config-result.quote-open .privacy-check a{color:var(--navy)}.config-result.quote-open .wizard-actions{max-width:780px;margin-right:auto;margin-left:auto}.config-result.quote-open .wizard-back{color:#5f7180}.config-result.quote-open .form-error{color:#a52a2a}.config-result.quote-open .quote-result{max-width:960px;margin-inline:auto;text-align:center;background:#eaf1f7}.config-result.quote-open .quote-result h3{margin-inline:auto;color:var(--navy)}.config-result.quote-open .quote-result ul{display:inline-block;text-align:left}.config-result.quote-open .result-note{margin-right:auto;margin-left:auto;color:#586a78}.config-result.quote-open .submission-status{margin-right:auto;margin-left:auto}.direct-contact{max-width:1080px;margin-right:auto;margin-left:auto}.contact-intro strong,.contact-intro p{display:block}.footer-inner>div:nth-child(2){text-align:center}
@media(max-width:700px){.planner-heading{text-align:center}.config-result{align-items:stretch}.config-result:not(.quote-open){text-align:center}.config-result:not(.quote-open) .result-visual{margin-right:auto;margin-left:auto}.config-result.quote-open .choice-card{text-align:left;justify-content:flex-start}.config-result.quote-open .form-step h3{font-size:1.55rem}.config-result.quote-open .wizard-back{text-align:center}.direct-contact{text-align:left}.footer-inner>div:nth-child(2){text-align:left}}
@media(max-width:600px){.trust-metrics .trust-items{grid-template-columns:1fr}.trust-metrics .trust-item{justify-content:flex-start;max-width:270px;width:100%;margin-inline:auto;text-align:left}.planner-heading h2{font-size:2rem;line-height:1.04}.planner-heading .section-intro{max-width:33rem}.config-title{align-items:flex-start}.config-title>span{flex:0 0 35px}.config-result.quote-open .wizard-progress{gap:10px}.config-result.quote-open .wizard-progress>span{min-width:34px}.config-result.quote-open .privacy-check{justify-content:flex-start}.config-result.quote-open .quote-result{text-align:center}}

/* Folyamatos ajánlatkérési folyamat */
.planner-section{background:#f4f7fa}
.planner-heading{max-width:820px;margin-bottom:42px}
.configurator:has(.config-result.quote-open){max-width:960px;margin-inline:auto;border-radius:24px;box-shadow:0 22px 65px rgba(11,47,85,.09)}
.config-result.quote-open{padding:0;background:#fff}
.config-result.quote-open .quote-form{min-height:540px;padding:42px 54px;border:0;border-radius:24px;box-shadow:none}
.config-result.quote-open .wizard-progress{margin-bottom:44px}
.config-result.quote-open .form-step{max-width:800px;margin-inline:auto}
.config-result.quote-open .form-step h3{margin-bottom:28px;font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.18}
.config-result.quote-open .choice-grid{gap:12px}
.config-result.quote-open .choice-card{min-height:72px;border-radius:12px}
.config-result.quote-open .choice-card:hover{transform:none;border-color:rgba(11,47,85,.35);box-shadow:none}
.config-result.quote-open .choice-card.selected{border-color:var(--navy);background:#edf3f8;box-shadow:inset 3px 0 0 var(--navy)}
.config-result.quote-open .wizard-back{min-height:44px;padding-inline:8px}

@media(max-width:700px){
  .planner-section{padding-top:72px;padding-bottom:72px}
  .planner-heading{margin-bottom:28px;padding-inline:4px}
  .planner-heading h2{font-size:clamp(1.85rem,9vw,2.35rem);line-height:1.08}
  .planner-heading .section-intro{font-size:.92rem;line-height:1.65}
  .configurator:has(.config-result.quote-open){width:calc(100% + 8px);margin-left:-4px;border-radius:18px}
  .config-result.quote-open{padding:0}
  .config-result.quote-open .quote-form{min-height:0;padding:24px 16px 20px;border-radius:18px}
  .config-result.quote-open .wizard-progress{position:sticky;z-index:3;top:68px;margin:-8px 0 30px;padding:10px 0;background:#fff}
  .config-result.quote-open .wizard-progress>span{font-size:.7rem}
  .config-result.quote-open .form-step h3{margin-bottom:22px;font-size:1.55rem;line-height:1.2}
  .config-result.quote-open .step-kicker{display:block;margin-bottom:9px;font-size:.68rem}
  .config-result.quote-open .choice-grid{grid-template-columns:1fr;gap:9px}
  .config-result.quote-open .choice-card{min-height:60px;padding:13px 14px;justify-content:flex-start;text-align:left}
  .config-result.quote-open .choice-card span{width:100%}
  .config-result.quote-open .choice-card small{margin-top:3px}
  .config-result.quote-open .wizard-input input,
  .config-result.quote-open .wizard-input select,
  .config-result.quote-open .wizard-input textarea{min-height:52px;font-size:16px}
  .config-result.quote-open .final-fields{grid-template-columns:1fr}
  .config-result.quote-open .wizard-actions{gap:10px;margin-top:22px}
  .config-result.quote-open .wizard-actions .btn{min-height:52px}
  .config-result.quote-open .wizard-back{min-height:44px;text-align:center}
  .config-result.quote-open .privacy-check{align-items:flex-start;font-size:.76rem;line-height:1.45}
}


/* Tudástár lapozó – az eredeti főoldali kártyarácshoz */
.blog-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:38px}
.blog-pagination button{min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 13px;border:1px solid var(--line);border-radius:999px;color:var(--navy);background:var(--white);font:inherit;font-size:.84rem;font-weight:800;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.blog-pagination button:hover,.blog-pagination button[aria-current="page"]{color:var(--white);border-color:var(--navy);background:var(--navy);transform:translateY(-1px)}
.blog-pagination .page-next{width:auto;padding:0 18px}
.blog-card[data-blog-page]:not(.is-active),.blog-card[hidden]{display:none!important}
@media(max-width:600px){.blog-pagination{margin-top:28px;gap:7px}.blog-pagination button{min-width:39px;height:39px;padding-inline:11px}.blog-pagination .page-next{flex-basis:100%;width:max-content;margin-top:3px}}
