/* ============================================================
   NLG-System Design System v2
   Brand colors: #212A60 (NLG dark blue) · #1967AF (NLG blue)
   Mode: Light/Dark hybrid sections
   ============================================================ */

/* ── Saját kiszolgálású betűtípusok ───────────────────────────
   Nincs külső Google Fonts kérés (gyorsabb, és a látogató IP-je
   sem kerül a Google-höz). Az Inter VARIÁBILIS: egyetlen fájl
   fedi a 400–900 vastagságot, így 2 kérés 10 helyett.
   A latin-ext a magyar ő/ű miatt kell.
   ──────────────────────────────────────────────────────────── */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('fonts/inter-var-latin-ext.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('fonts/inter-var-latin.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/barlow-condensed-latin-ext-700.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('fonts/barlow-condensed-latin-700.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('fonts/barlow-condensed-latin-ext-800.woff2') format('woff2');
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('fonts/barlow-condensed-latin-800.woff2') format('woff2');
  unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root {
  /* ── NLG Brand Colors ── */
  --nlg-dark:      #212A60;   /* NLG sötétkék (L, G, SYSTEM) */
  --nlg-blue:      #1967AF;   /* NLG kék (N betű) */
  --nlg-blue-mid:  #1A54A0;
  --nlg-blue-light:#2680D0;
  --nlg-blue-hover:#1478C8;

  /* ── Light sections ── */
  --light-bg:      #FFFFFF;
  --light-bg-alt:  #F4F6FB;
  --light-bg-card: #EAEEF7;
  --light-border:  #D0D8ED;
  --light-text:    #1A2040;
  --light-text-sub:#4A5578;
  --light-text-dim:#8A96B8;

  /* ── Dark sections ── */
  --dark-bg:       #0F1530;
  --dark-bg-mid:   #172048;
  --dark-bg-card:  #1E2A58;
  --dark-border:   rgba(255,255,255,0.1);
  --dark-text:     #E8EDF8;
  --dark-text-sub: #9AA8CC;

  /* ── Accent / Status ── */
  --accent:        #1967AF;
  --accent-hover:  #1478C8;
  --accent-light:  #4A90D9;
  --accent-glow:   rgba(25,103,175,0.15);
  --accent-glow-h: rgba(25,103,175,0.25);
  --green:         #16A34A;
  --green-bg:      #F0FDF4;
  --green-border:  #BBF7D0;
  --green-text:    #15803D;
  --orange:        #EA580C;
  --orange-bg:     #FFF7ED;
  --orange-border: #FED7AA;
  --orange-text:   #C2410C;
  --purple:        #7C3AED;
  --purple-bg:     #F5F3FF;
  --purple-border: #DDD6FE;
  --purple-text:   #6D28D9;
  --red:           #DC2626;

  /* ── Shadows ── */
  --shadow-sm:  0 1px 3px rgba(33,42,96,0.08), 0 1px 2px rgba(33,42,96,0.05);
  --shadow-md:  0 4px 16px rgba(33,42,96,0.12), 0 2px 4px rgba(33,42,96,0.06);
  --shadow-lg:  0 8px 32px rgba(33,42,96,0.16), 0 4px 8px rgba(33,42,96,0.08);
  --shadow-xl:  0 20px 60px rgba(33,42,96,0.2);

  /* ── Radii & Transitions ── */
  --r-sm:  6px;
  --r-md:  10px;
  --r-lg:  16px;
  --r-xl:  24px;
  --r-full: 9999px;
  --t:     0.2s ease;
}

/* ── RESET ── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: var(--light-bg);
  color: var(--light-text);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  line-height: 1.6;
}
img { max-width:100%; display:block; }
a { color:inherit; }


@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.6;transform:scale(1.3)} }
@keyframes fadeUp { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:translateY(0)} }

/* ══════════════════════════════════════════════
   NAVIGATION
══════════════════════════════════════════════ */
#main-nav {
  position: sticky; top: 0; z-index: 200;
  height: 68px;
  background: var(--nlg-dark);
  border-bottom: 1px solid rgba(255,255,255,0.08);
  backdrop-filter: blur(16px);
  display: flex; align-items: center;
  padding: 0 2rem; gap: 1.5rem;
  box-shadow: 0 2px 16px rgba(15,21,48,0.35);
}
.nav-logo-link { text-decoration:none; flex-shrink:0; display:flex; align-items:center; }
.nav-logo-link img { height:32px; width:auto; }
.nav-links { display:flex; list-style:none; gap:.15rem; flex:1; }
.nav-links a {
  display:block; padding:.4rem .85rem;
  font-size:.875rem; font-weight:500;
  color:rgba(255,255,255,0.75);
  text-decoration:none; border-radius:var(--r-sm);
  transition:color var(--t), background var(--t);
  white-space:nowrap;
}
.nav-links a:hover { color:#fff; background:rgba(255,255,255,0.1); }
.nav-links a.active { color:#fff; background:rgba(25,103,175,0.45); font-weight:600; }
.nav-right { display:flex; align-items:center; gap:.75rem; flex-shrink:0; }
.nav-badge {
  font-size:.78rem; font-weight:500; color:rgba(255,255,255,0.6);
  text-decoration:none; padding:.35rem .85rem;
  border:1px solid rgba(255,255,255,0.18); border-radius:var(--r-full);
  transition:color var(--t), border-color var(--t);
}
.nav-badge:hover { color:#fff; border-color:rgba(255,255,255,0.6); }
.nav-cta {
  background: var(--nlg-blue); color: #fff;
  padding:.45rem 1.25rem; border-radius:var(--r-sm);
  font-weight:700; font-size:.875rem;
  text-decoration:none;
  transition:background var(--t), transform var(--t), box-shadow var(--t);
  box-shadow: 0 2px 8px rgba(25,103,175,0.4);
}
.nav-cta:hover { background:var(--nlg-blue-hover); transform:translateY(-1px); box-shadow:0 4px 16px rgba(25,103,175,0.5); }
.nav-hamburger {
  display:none; flex-direction:column; gap:5px;
  cursor:pointer; padding:8px; background:none; border:none; flex-shrink:0;
}
.nav-hamburger span { display:block; width:22px; height:2px; background:#fff; border-radius:2px; transition:all .3s; }
.nav-hamburger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.nav-hamburger.open span:nth-child(2) { opacity:0; }
.nav-hamburger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

@media (max-width:960px) {
  .nav-links {
    display:none; position:fixed;
    top:68px; left:0; right:0;
    background:var(--nlg-dark);
    flex-direction:column; padding:1rem;
    border-bottom:1px solid rgba(255,255,255,0.1);
    z-index:199; gap:.25rem;
  }
  .nav-links.open { display:flex; }
  .nav-links a { padding:.75rem 1rem; }
  .nav-hamburger { display:flex; }
  .nav-badge { display:none; }
}
@media(max-width:480px) {
  #main-nav { padding:0 1rem; }
  .nav-cta { padding:.4rem .85rem; font-size:.8rem; }
}

/* ══════════════════════════════════════════════
   BUTTONS
══════════════════════════════════════════════ */
.btn {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.875rem 1.875rem; border-radius:var(--r-sm);
  font-family:inherit; font-weight:700; font-size:.975rem;
  text-decoration:none; border:none; cursor:pointer;
  transition:all var(--t); white-space:nowrap; line-height:1;
}
.btn:hover { transform:translateY(-1px); }
.btn-primary {
  background:var(--nlg-blue); color:#fff;
  box-shadow:0 2px 8px rgba(25,103,175,0.35);
}
.btn-primary:hover {
  background:var(--nlg-blue-hover);
  box-shadow:0 6px 20px rgba(25,103,175,0.45);
}
.btn-secondary-light {
  background:transparent; color:var(--nlg-dark);
  border:1.5px solid var(--light-border);
}
.btn-secondary-light:hover {
  border-color:var(--nlg-blue); color:var(--nlg-blue);
  background:rgba(25,103,175,0.05);
}
.btn-secondary-dark {
  background:transparent; color:#fff;
  border:1.5px solid rgba(255,255,255,0.25);
}
.btn-secondary-dark:hover {
  border-color:rgba(255,255,255,0.6); background:rgba(255,255,255,0.08);
}
.btn-outline-primary {
  background:transparent; color:var(--nlg-blue);
  border:1.5px solid var(--nlg-blue);
}
.btn-outline-primary:hover {
  background:var(--nlg-blue); color:#fff;
  box-shadow:0 4px 12px rgba(25,103,175,0.35);
}
.btn-sm { padding:.55rem 1.25rem; font-size:.875rem; }
.btn-block { width:100%; justify-content:center; }

/* ══════════════════════════════════════════════
   SECTION WRAPPERS – LIGHT / DARK
══════════════════════════════════════════════ */
/* Light */
.sec-light { background:var(--light-bg); padding:5rem 2rem; }
.sec-light-alt { background:var(--light-bg-alt); padding:5rem 2rem; }

/* Dark */
.sec-dark {
  background:var(--dark-bg);
  padding:5rem 2rem;
  color:var(--dark-text);
}
.sec-dark-mid {
  background:var(--dark-bg-mid);
  padding:5rem 2rem;
  color:var(--dark-text);
}

/* NLG kék sáv */
.sec-brand {
  background:var(--nlg-dark);
  padding:5rem 2rem;
  color:#fff;
}

.sec-inner { max-width:1100px; margin:0 auto; }
.sec-narrow { max-width:820px; margin:0 auto; }

/* ══════════════════════════════════════════════
   HERO – DARK
══════════════════════════════════════════════ */
.hero {
  background: linear-gradient(150deg, var(--nlg-dark) 0%, var(--dark-bg) 100%);
  padding:6rem 2rem 5rem; position:relative; overflow:hidden; color:#fff;
}
.hero::before {
  content:''; position:absolute; top:-20%; right:-10%;
  width:700px; height:700px;
  background:radial-gradient(circle, rgba(25,103,175,0.18) 0%, transparent 65%);
  pointer-events:none; z-index:0;
}
.hero::after {
  content:''; position:absolute; bottom:-10%; left:-5%;
  width:500px; height:500px;
  background:radial-gradient(circle, rgba(33,42,96,0.4) 0%, transparent 65%);
  pointer-events:none; z-index:0;
}
.hero-inner { position:relative; max-width:1100px; margin:0 auto; z-index:2; }

/* Háttérkép overlay – ha van background-image az inline style-ban */
.hero[style*="background-image"] {
  background-size: cover !important;
  background-position: center !important;
}
.hero[style*="background-image"]::before {
  content: '';
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  background: linear-gradient(
    150deg,
    rgba(8, 17, 31, 0.92) 0%,
    rgba(33, 42, 96, 0.80) 50%,
    rgba(8, 17, 31, 0.88) 100%
  );
  z-index: 1;
  pointer-events: none;
}
.hero[style*="background-image"] > * { position:relative; z-index:2; }

/* Page Hero – aloldalak */
.page-hero {
  background:linear-gradient(150deg, var(--nlg-dark) 0%, var(--dark-bg) 100%);
  padding:4.5rem 2rem 4rem; position:relative; overflow:hidden; color:#fff;
}
.page-hero::before {
  content:''; position:absolute; top:-30%; right:-5%;
  width:600px; height:600px;
  background:radial-gradient(circle, rgba(25,103,175,0.15) 0%, transparent 65%);
  pointer-events:none; z-index:0;
}
.page-hero-inner { max-width:1100px; margin:0 auto; position:relative; z-index:2; }
.page-hero-actions { display:flex; gap:1rem; flex-wrap:wrap; margin-top:2rem; }

/* Háttérkép overlay page-hero-ra */
.page-hero[style*="background-image"] {
  background-size: cover !important;
  background-position: center !important;
}
.page-hero[style*="background-image"]::before {
  content: '';
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  background: linear-gradient(
    150deg,
    rgba(8, 17, 31, 0.92) 0%,
    rgba(33, 42, 96, 0.80) 50%,
    rgba(8, 17, 31, 0.88) 100%
  );
  z-index: 1;
  pointer-events: none;
}
.page-hero[style*="background-image"] > * { position:relative; z-index:2; }
  background:radial-gradient(circle, rgba(25,103,175,0.15) 0%, transparent 65%);
  pointer-events:none;
}
.page-hero-inner { max-width:1100px; margin:0 auto; position:relative; z-index:2; }
.page-hero-actions { display:flex; gap:1rem; flex-wrap:wrap; margin-top:2rem; }

/* ══════════════════════════════════════════════
   TYPOGRAPHY
══════════════════════════════════════════════ */
.section-label {
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.35rem 1rem; border-radius:var(--r-full);
  font-size:.75rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  margin-bottom:1.25rem;
}
/* Dark section label */
.sec-dark .section-label, .sec-dark-mid .section-label,
.sec-brand .section-label, .page-hero .section-label, .hero .section-label {
  background:rgba(25,103,175,0.2);
  border:1px solid rgba(25,103,175,0.4);
  color:rgba(255,255,255,0.9);
}
/* Light section label */
.sec-light .section-label, .sec-light-alt .section-label {
  background:rgba(25,103,175,0.08);
  border:1px solid rgba(25,103,175,0.2);
  color:var(--nlg-blue);
}
.section-label .pulse-dot {
  width:7px; height:7px; border-radius:50%;
  background:var(--green); animation:pulse 2s infinite;
}
.section-label.green {
  background:var(--green-bg); border-color:var(--green-border); color:var(--green-text);
}
.section-label.orange {
  background:var(--orange-bg); border-color:var(--orange-border); color:var(--orange-text);
}
.section-label.purple {
  background:var(--purple-bg); border-color:var(--purple-border); color:var(--purple-text);
}

h1.hero-title {
  font-family:'Barlow Condensed', sans-serif;
  font-size:clamp(2.6rem,6vw,5rem); font-weight:800;
  line-height:1.04; letter-spacing:-.01em; margin-bottom:1.25rem;
}
h1.hero-title em { font-style:normal; color:rgba(255,255,255,0.75); }
h1.hero-title .accent { font-style:normal; color:var(--nlg-blue-light); }
h1.hero-title .hot { font-style:normal; color:#FFA940; }

h2.section-title {
  font-family:'Barlow Condensed', sans-serif;
  font-size:clamp(1.8rem,3vw,2.6rem); font-weight:700;
  line-height:1.1; margin-bottom:.6rem;
}
/* Light */
.sec-light h2.section-title, .sec-light-alt h2.section-title {
  color:var(--nlg-dark);
}
.sec-light h2.section-title span, .sec-light-alt h2.section-title span {
  color:var(--nlg-blue);
}
/* Dark */
.sec-dark h2.section-title, .sec-dark-mid h2.section-title,
.sec-brand h2.section-title, .page-hero h2.section-title {
  color:#fff;
}
.sec-dark h2.section-title span, .sec-dark-mid h2.section-title span,
.page-hero h2.section-title span {
  color:var(--accent-light);
}

p.section-sub {
  font-size:1rem; line-height:1.7; max-width:680px; margin-bottom:2.5rem;
}
.sec-light p.section-sub, .sec-light-alt p.section-sub { color:var(--light-text-sub); }
.sec-dark p.section-sub, .sec-dark-mid p.section-sub, .sec-brand p.section-sub { color:var(--dark-text-sub); }

/* ══════════════════════════════════════════════
   STATS BAR – DARK
══════════════════════════════════════════════ */
.stats-bar {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  background:var(--dark-bg-mid);
  border-top:1px solid rgba(255,255,255,0.07);
  border-bottom:1px solid rgba(255,255,255,0.07);
}
.stats-bar .stat {
  padding:1.75rem 1.25rem; text-align:center;
  border-right:1px solid rgba(255,255,255,0.07);
}
.stats-bar .stat:last-child { border-right:none; }
.stat-num {
  font-family:'Barlow Condensed', sans-serif;
  font-size:2.1rem; font-weight:800; color:var(--accent-light);
  line-height:1; margin-bottom:.3rem;
}
.stat-label { font-size:.72rem; color:var(--dark-text-sub); font-weight:500; text-transform:uppercase; letter-spacing:.07em; }
@media(max-width:640px) {
  .stats-bar { grid-template-columns:repeat(3,1fr); }
  .stats-bar .stat { border-right:none; border-bottom:1px solid rgba(255,255,255,0.07); }
}

/* ══════════════════════════════════════════════
   PROOF BANNER – LIGHT (brand kék)
══════════════════════════════════════════════ */
.proof-banner {
  background:var(--light-bg-alt);
  border-top:3px solid var(--nlg-blue);
  border-bottom:1px solid var(--light-border);
  padding:3rem 2rem; text-align:center;
}
.proof-banner h2 {
  font-family:'Barlow Condensed', sans-serif;
  font-size:clamp(1.4rem,3vw,2rem); font-weight:700;
  color:var(--nlg-dark); margin-bottom:.75rem;
}
.proof-banner h2 span { color:var(--nlg-blue); }
.proof-banner p { color:var(--light-text-sub); font-size:.97rem; max-width:760px; margin:0 auto; line-height:1.7; }
.proof-list {
  display:flex; justify-content:center; flex-wrap:wrap; gap:1.5rem; margin-top:2rem;
}
.proof-item {
  display:flex; align-items:center; gap:.5rem;
  font-size:.875rem; font-weight:600; color:var(--nlg-dark);
}
.proof-item::before { content:'✓'; color:var(--green-text); font-weight:900; font-size:.9rem; }

/* ══════════════════════════════════════════════
   CHIPS
══════════════════════════════════════════════ */
.hero-chips { display:flex; flex-wrap:wrap; gap:.6rem; margin-bottom:2.75rem; }
.chip {
  padding:.3rem .95rem; border-radius:var(--r-full);
  font-size:.8rem; font-weight:600;
  display:inline-flex; align-items:center; gap:.4rem;
}
/* Dark chip */
.hero .chip, .page-hero .chip {
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,255,255,0.15);
  color:rgba(255,255,255,0.85);
}
.hero .chip.hot, .page-hero .chip.hot {
  background:rgba(234,88,12,0.15);
  border-color:rgba(234,88,12,0.35); color:#FFA940;
}
.hero .chip.green, .page-hero .chip.green {
  background:rgba(22,163,74,0.15);
  border-color:rgba(22,163,74,0.3); color:#6EE7A0;
}

/* ══════════════════════════════════════════════
   FEATURE CARDS – LIGHT
══════════════════════════════════════════════ */
.feature-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:1.25rem; }
.feature-card {
  background:#fff; border:1px solid var(--light-border);
  border-radius:var(--r-lg); padding:1.75rem;
  box-shadow:var(--shadow-sm);
  transition:border-color var(--t), box-shadow var(--t), transform var(--t);
}
.feature-card:hover {
  border-color:var(--nlg-blue); box-shadow:var(--shadow-md); transform:translateY(-2px);
}
.feature-icon {
  width:46px; height:46px; border-radius:var(--r-md);
  background:rgba(25,103,175,0.08);
  display:flex; align-items:center; justify-content:center;
  font-size:1.35rem; margin-bottom:1rem;
  border:1px solid rgba(25,103,175,0.15);
}
.feature-card h3 { font-size:1rem; font-weight:700; color:var(--nlg-dark); margin-bottom:.45rem; }
.feature-card p { font-size:.855rem; color:var(--light-text-sub); line-height:1.65; }
.feature-tag {
  display:inline-block; margin-top:.65rem; padding:.2rem .65rem;
  border-radius:var(--r-full); font-size:.7rem; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase;
  background:var(--green-bg); border:1px solid var(--green-border); color:var(--green-text);
}
.feature-tag.blue {
  background:rgba(25,103,175,0.08); border-color:rgba(25,103,175,0.2); color:var(--nlg-blue);
}
.feature-tag.orange {
  background:var(--orange-bg); border-color:var(--orange-border); color:var(--orange-text);
}

/* ══════════════════════════════════════════════
   FEATURE CARDS – DARK version
══════════════════════════════════════════════ */
.feature-card-dark {
  background:var(--dark-bg-card); border:1px solid rgba(255,255,255,0.08);
  border-radius:var(--r-lg); padding:1.75rem;
  transition:border-color var(--t), transform var(--t);
}
.feature-card-dark:hover { border-color:rgba(25,103,175,0.5); transform:translateY(-2px); }
.feature-card-dark h3 { font-size:1rem; font-weight:700; color:#fff; margin-bottom:.45rem; }
.feature-card-dark p { font-size:.855rem; color:var(--dark-text-sub); line-height:1.65; }
.feature-card-dark .feature-icon { background:rgba(25,103,175,0.15); border-color:rgba(25,103,175,0.25); }

/* ══════════════════════════════════════════════
   PRICING – LIGHT background
══════════════════════════════════════════════ */
.pricing-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1.25rem; }
.price-card {
  background:#fff; border:1.5px solid var(--light-border);
  border-radius:var(--r-lg); padding:1.875rem 1.625rem;
  position:relative; display:flex; flex-direction:column;
  box-shadow:var(--shadow-sm);
  transition:border-color var(--t), box-shadow var(--t), transform var(--t);
}
.price-card:hover {
  border-color:var(--nlg-blue); box-shadow:var(--shadow-md); transform:translateY(-3px);
}
.price-card.featured {
  border-color:var(--nlg-blue); border-width:2px;
  background:linear-gradient(160deg, rgba(25,103,175,0.04), #fff);
  box-shadow:0 8px 32px rgba(25,103,175,0.2);
}
.price-card .badge {
  position:absolute; top:-12px; left:50%; transform:translateX(-50%);
  background:var(--nlg-blue); color:#fff;
  font-size:.68rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase;
  padding:.22rem .9rem; border-radius:var(--r-full); white-space:nowrap;
  box-shadow:0 2px 8px rgba(25,103,175,0.4);
}
.price-name { font-size:.78rem; font-weight:700; color:var(--light-text-dim); text-transform:uppercase; letter-spacing:.08em; margin-bottom:.6rem; }
.price-amount {
  font-family:'Barlow Condensed', sans-serif;
  font-size:2.8rem; font-weight:800; line-height:1;
  color:var(--nlg-dark); margin-bottom:.15rem;
}
.price-amount sup { font-size:1rem; font-weight:600; vertical-align:top; margin-top:.4rem; }
.price-period { font-size:.75rem; color:var(--light-text-dim); margin-bottom:.6rem; }
.price-note {
  font-size:.78rem; color:var(--light-text-sub); margin-bottom:1.25rem;
  padding:.55rem .75rem; background:var(--light-bg-alt); border-radius:var(--r-sm);
  border-left:3px solid var(--nlg-blue);
}
.price-specs { list-style:none; margin-bottom:1.75rem; flex:1; }
.price-specs li {
  font-size:.875rem; color:var(--light-text-sub); padding:.35rem 0;
  border-bottom:1px solid var(--light-bg-alt);
  display:flex; align-items:flex-start; gap:.6rem;
}
.price-specs li::before { content:'✓'; color:var(--nlg-blue); font-weight:700; font-size:.8rem; flex-shrink:0; }
.price-specs li strong { color:var(--nlg-dark); font-weight:700; }
.price-specs li.highlight { color:var(--nlg-blue); font-weight:600; }
.pricing-footer { text-align:center; margin-top:1.5rem; font-size:.82rem; color:var(--light-text-dim); }
.pricing-footer a { color:var(--nlg-blue); text-decoration:none; font-weight:600; }

/* ══════════════════════════════════════════════
   COMPARISON TABLE – LIGHT
══════════════════════════════════════════════ */
.table-wrap { overflow-x:auto; margin-top:2.5rem; border-radius:var(--r-lg); border:1px solid var(--light-border); box-shadow:var(--shadow-sm); }
.comp-table { width:100%; border-collapse:collapse; font-size:.83rem; }
.comp-table th {
  background:var(--nlg-dark); color:#fff;
  font-weight:700; padding:.85rem 1.1rem;
  text-align:left; white-space:nowrap;
  border-bottom:2px solid var(--nlg-blue);
}
.comp-table th:first-child { width:200px; color:rgba(255,255,255,0.7); font-weight:500; }
.comp-table td {
  padding:.65rem 1.1rem; border-bottom:1px solid var(--light-bg-alt);
  color:var(--light-text-sub); vertical-align:middle;
}
.comp-table td:first-child { color:var(--light-text-dim); font-size:.79rem; font-weight:600; }
.comp-table tr:last-child td { border-bottom:none; }
.comp-table tr:hover td { background:rgba(25,103,175,0.03); }
.comp-table .sep td { background:var(--light-bg-alt); color:var(--nlg-blue); font-weight:700; font-size:.74rem; letter-spacing:.07em; text-transform:uppercase; padding:.45rem 1.1rem; }
.comp-table .check { color:var(--green-text); font-size:1rem; font-weight:700; }
.comp-table .pricecell { font-family:'Barlow Condensed',sans-serif; font-size:1.15rem; font-weight:700; color:var(--nlg-dark); }
.comp-table .plusprice { color:var(--orange-text); font-weight:600; }

/* ══════════════════════════════════════════════
   USE CASE ACCORDION – LIGHT
══════════════════════════════════════════════ */
.uc-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(310px,1fr)); gap:1rem; }
.uc-card {
  background:#fff; border:1.5px solid var(--light-border);
  border-radius:var(--r-lg); overflow:hidden; cursor:pointer;
  box-shadow:var(--shadow-sm);
  transition:border-color var(--t), box-shadow var(--t), transform var(--t);
}
.uc-card:hover { border-color:var(--nlg-blue); box-shadow:var(--shadow-md); transform:translateY(-2px); }
.uc-card.featured-uc {
  border-color:var(--nlg-blue);
  background:linear-gradient(135deg, rgba(25,103,175,0.04), #fff);
}

/* ── UC card dark szekción belül ── */
.sec-dark .uc-card, .sec-dark-mid .uc-card {
  background: var(--dark-bg-card);
  border-color: rgba(255,255,255,0.09);
  box-shadow: none;
}
.sec-dark .uc-card:hover, .sec-dark-mid .uc-card:hover {
  border-color: var(--nlg-blue);
  background: rgba(25,103,175,0.12);
}
.sec-dark .uc-card.featured-uc, .sec-dark-mid .uc-card.featured-uc {
  border-color: var(--nlg-blue);
  background: linear-gradient(135deg, rgba(25,103,175,0.2), var(--dark-bg-card));
}

.uc-head { display:flex; align-items:center; gap:1rem; padding:1.25rem 1.5rem; }
.uc-icon {
  width:46px; height:46px; border-radius:var(--r-md);
  display:flex; align-items:center; justify-content:center; font-size:1.35rem;
  flex-shrink:0; background:rgba(25,103,175,0.08); border:1px solid rgba(25,103,175,0.15);
}
.sec-dark .uc-icon, .sec-dark-mid .uc-icon {
  background: rgba(25,103,175,0.15);
  border-color: rgba(25,103,175,0.25);
}
.uc-head-text h3 { font-size:.975rem; font-weight:700; color:var(--nlg-dark); margin-bottom:.1rem; }
.uc-head-text .tagline { font-size:.76rem; color:var(--light-text-dim); }
.sec-dark .uc-head-text h3, .sec-dark-mid .uc-head-text h3 { color:#fff; }
.sec-dark .uc-head-text .tagline, .sec-dark-mid .uc-head-text .tagline { color:var(--dark-text-sub); }
.featured-uc .uc-head-text .tagline { color:var(--nlg-blue); }
.uc-toggle {
  margin-left:auto; width:24px; height:24px; border-radius:50%;
  background:var(--light-bg-alt); border:1px solid var(--light-border);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; font-size:.6rem; color:var(--nlg-blue);
  transition:transform .3s, background var(--t);
}
.sec-dark .uc-toggle, .sec-dark-mid .uc-toggle {
  background: rgba(255,255,255,0.07);
  border-color: rgba(255,255,255,0.12);
  color: var(--accent-light);
}
.uc-card.open .uc-toggle { transform:rotate(180deg); background:rgba(25,103,175,0.1); }
.uc-body {
  max-height:0; overflow:hidden;
  transition:max-height .38s ease, padding .3s;
  padding:0 1.5rem; font-size:.855rem;
  color:var(--light-text-sub); line-height:1.7;
  border-top:0px solid var(--light-border);
}
.sec-dark .uc-body, .sec-dark-mid .uc-body { color:var(--dark-text-sub); border-color:rgba(255,255,255,0.07); }
.uc-card.open .uc-body {
  max-height:300px; padding:.9rem 1.5rem 1.4rem; border-top-width:1px;
}
.uc-body ul { list-style:none; margin-top:.5rem; }
.uc-body ul li {
  padding:.2rem 0; display:flex; align-items:flex-start; gap:.5rem;
}
.uc-body ul li::before {
  content:'→'; color:var(--nlg-blue); font-size:.75rem; margin-top:.2rem; flex-shrink:0;
}
.new-badge {
  display:inline-block;
  background:var(--nlg-blue); color:#fff;
  font-size:.62rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  padding:.12rem .55rem; border-radius:var(--r-full); margin-left:.45rem; vertical-align:middle;
}

/* ══════════════════════════════════════════════
   TECH / TERMINAL – DARK
══════════════════════════════════════════════ */
.tech-grid-2 { display:block; }
@media(max-width:640px) { .tech-points { grid-template-columns:1fr; } }
.tech-points { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:1.75rem 3rem; }
.tech-point { display:flex; gap:1rem; margin-bottom:0; }
.tech-point-icon {
  width:36px; height:36px; border-radius:var(--r-md);
  background:rgba(25,103,175,0.2); border:1px solid rgba(25,103,175,0.3);
  display:flex; align-items:center; justify-content:center; font-size:1rem; flex-shrink:0;
}
.tech-point h3, .tech-point h4 { font-size:.95rem; font-weight:700; color:#fff; margin-bottom:.2rem; }
.tech-point p { font-size:.84rem; color:var(--dark-text-sub); line-height:1.6; }
.terminal {
  background:#0A0F1E; border:1px solid rgba(25,103,175,0.3);
  border-radius:var(--r-lg); overflow:hidden;
  font-family:'Courier New', monospace; font-size:.79rem; line-height:1.9;
}
.terminal-bar {
  background:rgba(25,103,175,0.15); padding:.55rem 1rem;
  display:flex; align-items:center; gap:.5rem;
  border-bottom:1px solid rgba(25,103,175,0.2);
}
.terminal-dot { width:10px; height:10px; border-radius:50%; }
.terminal-dot.red { background:#FF5F57; }
.terminal-dot.yellow { background:#FEBC2E; }
.terminal-dot.green { background:#28C840; }
.terminal-title { font-size:.72rem; color:var(--dark-text-sub); margin-left:.5rem; font-family:'Inter',sans-serif; }
.terminal-body { padding:1.25rem 1.5rem; color:var(--dark-text-sub); }
.t-comment { color:#3A5A7A; } .t-key { color:#7AADDE; } .t-val { color:#7EC8A0; }
.t-warn { color:#E8C080; } .t-hot { color:#FFA940; } .t-ok { color:#4ADE80; }

/* ══════════════════════════════════════════════
   EPYC SECTION – DARK + orange accent
══════════════════════════════════════════════ */
.epyc-section {
  background:linear-gradient(140deg, #1A1230 0%, var(--dark-bg) 100%);
  padding:5rem 2rem; color:#fff;
  border-top:1px solid rgba(234,88,12,0.15);
  border-bottom:1px solid rgba(234,88,12,0.1);
  position:relative; overflow:hidden;
}
.epyc-section::before {
  content:''; position:absolute; top:-20%; right:-5%;
  width:600px; height:600px;
  background:radial-gradient(circle, rgba(234,88,12,0.08) 0%, transparent 65%);
  pointer-events:none;
}
.epyc-grid { display:grid; grid-template-columns:1fr 1fr; gap:3.5rem; align-items:center; }
@media(max-width:820px) { .epyc-grid { grid-template-columns:1fr; gap:2rem; } }
.epyc-stats { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.epyc-stat {
  background:rgba(234,88,12,0.08); border:1px solid rgba(234,88,12,0.2);
  border-radius:var(--r-lg); padding:1.1rem 1.25rem;
}
.epyc-stat .val {
  font-family:'Barlow Condensed',sans-serif; font-size:1.7rem; font-weight:800;
  color:#FFA940; line-height:1; margin-bottom:.25rem;
}
.epyc-stat .lbl { font-size:.75rem; color:var(--dark-text-sub); font-weight:500; }

/* ══════════════════════════════════════════════
   VIRTUOZZO – DARK
══════════════════════════════════════════════ */
.vz-grid { display:grid; grid-template-columns:1fr 1.15fr; gap:3.5rem; align-items:start; }
@media(max-width:820px) { .vz-grid { grid-template-columns:1fr; } }
.vz-logo-row { display:flex; align-items:center; gap:1rem; margin-bottom:1.25rem; }
.vz-logo-box {
  background:linear-gradient(135deg, #C44, #A00);
  border-radius:var(--r-md); width:52px; height:52px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.vz-logo-text { font-family:'Barlow Condensed',sans-serif; font-size:1.75rem; font-weight:800; color:#fff; }
.vz-logo-text span { color:#E05555; }
.vz-chips { display:flex; flex-wrap:wrap; gap:.6rem; margin-bottom:1.25rem; }
.vz-chip {
  background:rgba(224,85,85,0.1); border:1px solid rgba(224,85,85,0.22);
  border-radius:var(--r-full); padding:.28rem .8rem;
  font-size:.75rem; font-weight:600; color:#E08888;
}
.vz-desc { color:var(--dark-text-sub); font-size:.95rem; line-height:1.75; margin-bottom:1rem; }
.vz-quote {
  background:rgba(224,85,85,0.06); border-left:3px solid #E05555;
  border-radius:0 var(--r-sm) var(--r-sm) 0; padding:1.1rem 1.4rem; margin-bottom:1.5rem;
}
.vz-quote blockquote { font-size:.9rem; font-style:italic; color:var(--dark-text-sub); line-height:1.7; margin-bottom:.5rem; }
.vz-quote cite { font-size:.75rem; color:#7A8AA8; font-style:normal; }
.vz-link {
  color:#E08888; font-size:.84rem; font-weight:600;
  text-decoration:none; border-bottom:1px solid rgba(224,85,85,0.3); padding-bottom:1px;
  transition:color var(--t);
}
.vz-link:hover { color:#fff; }
.vz-benefits { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; }
.vz-benefit {
  background:rgba(8,12,28,0.6); border:1px solid rgba(255,255,255,0.07);
  border-radius:var(--r-lg); padding:1.1rem 1.25rem;
  transition:border-color var(--t);
}
.vz-benefit:hover { border-color:rgba(224,85,85,0.3); }
.vz-benefit-icon { font-size:1.2rem; margin-bottom:.4rem; }
.vz-benefit h3, .vz-benefit h4 { font-size:.875rem; font-weight:700; color:#fff; margin-bottom:.25rem; }
.vz-benefit p { font-size:.79rem; color:var(--dark-text-sub); line-height:1.55; }

/* ══════════════════════════════════════════════
   PLESK SECTION
══════════════════════════════════════════════ */
.plesk-grid { display:grid; grid-template-columns:1fr 1.15fr; gap:3.5rem; align-items:start; margin-top:2.5rem; }
@media(max-width:820px) { .plesk-grid { grid-template-columns:1fr; gap:2rem; } }
.plesk-logo-row { display:flex; align-items:center; gap:1rem; margin-bottom:1.25rem; }
.plesk-logo-box {
  background:linear-gradient(135deg, #52B0E7, #1A7BBF);
  border-radius:var(--r-md); width:52px; height:52px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.plesk-logo-text { font-family:'Barlow Condensed',sans-serif; font-size:1.75rem; font-weight:800; }
.plesk-logo-text span { color:#52B0E7; }
/* Light section Plesk */
.sec-light .plesk-logo-text, .sec-light-alt .plesk-logo-text { color:var(--nlg-dark); }
/* Dark section Plesk */
.sec-dark .plesk-logo-text, .sec-dark-mid .plesk-logo-text { color:#fff; }
.plesk-world {
  display:inline-flex; align-items:center; gap:.4rem;
  background:rgba(82,176,231,0.1); border:1px solid rgba(82,176,231,0.25);
  border-radius:var(--r-full); padding:.3rem .9rem;
  font-size:.75rem; color:#52B0E7; font-weight:600; margin-bottom:1.25rem;
}
.plesk-desc { font-size:.93rem; line-height:1.75; margin-bottom:1rem; }
.sec-light .plesk-desc, .sec-light-alt .plesk-desc { color:var(--light-text-sub); }
.sec-dark .plesk-desc, .sec-dark-mid .plesk-desc { color:var(--dark-text-sub); }
.plesk-editions { display:flex; flex-direction:column; gap:.6rem; margin-bottom:1.75rem; }
.plesk-edition {
  display:flex; align-items:center; justify-content:space-between;
  border-radius:var(--r-sm); padding:.75rem 1.1rem;
}
.sec-light .plesk-edition, .sec-light-alt .plesk-edition {
  background:var(--light-bg-alt); border:1px solid var(--light-border);
}
.sec-dark .plesk-edition, .sec-dark-mid .plesk-edition {
  background:rgba(8,12,28,0.5); border:1px solid rgba(255,255,255,0.08);
}
.plesk-edition .ed-name { font-size:.875rem; font-weight:700; }
.plesk-edition .ed-detail { font-size:.78rem; }
.sec-light .plesk-edition .ed-detail { color:var(--light-text-dim); }
.sec-dark .plesk-edition .ed-detail { color:var(--dark-text-sub); }
.plesk-edition .ed-price { font-family:'Barlow Condensed',sans-serif; font-size:1.1rem; font-weight:700; color:#52B0E7; white-space:nowrap; }
.plesk-feats { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; }
.plesk-feat { border-radius:var(--r-lg); padding:1.1rem 1.2rem; transition:border-color var(--t); }
.sec-light .plesk-feat, .sec-light-alt .plesk-feat {
  background:#fff; border:1px solid var(--light-border); box-shadow:var(--shadow-sm);
}
.sec-dark .plesk-feat, .sec-dark-mid .plesk-feat {
  background:var(--dark-bg-card); border:1px solid rgba(255,255,255,0.08);
}
.plesk-feat:hover { border-color:rgba(82,176,231,0.4); }
.plesk-feat-icon { font-size:1.2rem; margin-bottom:.35rem; }
.plesk-feat h3, .plesk-feat h4 { font-size:.875rem; font-weight:700; margin-bottom:.2rem; }
.sec-light .plesk-feat h3, .sec-light .plesk-feat h4 { color:var(--nlg-dark); }
.sec-dark .plesk-feat h3, .sec-dark-mid .plesk-feat h3, .sec-dark .plesk-feat h4, .sec-dark-mid .plesk-feat h4 { color:#fff; }
.plesk-feat p { font-size:.79rem; line-height:1.55; }
.sec-light .plesk-feat p { color:var(--light-text-sub); }
.sec-dark .plesk-feat p, .sec-dark-mid .plesk-feat p { color:var(--dark-text-sub); }

/* ══════════════════════════════════════════════
   OS CHIPS
══════════════════════════════════════════════ */
.os-grid { display:flex; flex-wrap:wrap; gap:.65rem; margin-top:1.5rem; }
.os-chip {
  border-radius:var(--r-sm); padding:.55rem 1.1rem;
  font-size:.855rem; font-weight:500;
  display:flex; align-items:center; gap:.5rem; transition:all var(--t);
}
.sec-light .os-chip, .sec-light-alt .os-chip {
  background:#fff; border:1px solid var(--light-border); color:var(--light-text-sub);
  box-shadow:var(--shadow-sm);
}
.sec-light .os-chip:hover, .sec-light-alt .os-chip:hover {
  border-color:var(--nlg-blue); color:var(--nlg-dark);
}
.sec-dark .os-chip, .sec-dark-mid .os-chip {
  background:var(--dark-bg-card); border:1px solid rgba(255,255,255,0.1); color:var(--dark-text-sub);
}
.sec-dark .os-chip:hover { border-color:var(--accent-light); color:#fff; }
.os-chip .dot { width:6px; height:6px; border-radius:50%; background:var(--nlg-blue); flex-shrink:0; }
.os-chip .dot.win { background:#00ADEF; }

/* ══════════════════════════════════════════════
   DOMAIN SEARCH
══════════════════════════════════════════════ */
.domain-search-wrap {
  background:var(--nlg-dark); padding:4rem 2rem; color:#fff;
}
.domain-search-box {
  display:flex; border-radius:var(--r-sm);
  overflow:hidden; max-width:680px; margin:0 auto;
  box-shadow:0 4px 24px rgba(0,0,0,0.3);
  border:1px solid rgba(255,255,255,0.15);
}
.domain-search-box input {
  flex:1; background:rgba(255,255,255,0.08); border:none; outline:none;
  padding:.95rem 1.25rem; color:#fff; font-size:1rem; font-family:inherit;
}
.domain-search-box input::placeholder { color:rgba(255,255,255,0.4); }
.domain-tld {
  background:rgba(255,255,255,0.12); border:none;
  border-left:1px solid rgba(255,255,255,0.15);
  border-right:1px solid rgba(255,255,255,0.15);
  color:#fff; padding:0 1.1rem; font-size:.9rem; font-family:inherit;
  font-weight:600; outline:none; cursor:pointer;
}
.domain-search-box button {
  background:var(--nlg-blue); color:#fff; border:none;
  padding:.95rem 1.75rem; font-weight:700; font-size:.95rem;
  cursor:pointer; font-family:inherit; transition:background var(--t);
}
.domain-search-box button:hover { background:var(--nlg-blue-hover); }
.domain-result {
  max-width:680px; margin:1.1rem auto 0; padding:.85rem 1.25rem;
  border-radius:var(--r-sm); font-size:.9rem; font-weight:600; display:none;
}
.domain-result.checking { background:rgba(25,103,175,0.15); border:1px solid rgba(25,103,175,0.3); color:rgba(255,255,255,.8); display:block; }
.domain-result.free { background:rgba(22,163,74,0.15); border:1px solid rgba(22,163,74,0.3); color:#6EE7A0; display:block; }
.domain-result.taken { background:rgba(220,38,38,0.15); border:1px solid rgba(220,38,38,0.3); color:#FCA5A5; display:block; }

/* ══════════════════════════════════════════════
   INFO PANEL
══════════════════════════════════════════════ */
.info-panel {
  border-radius:var(--r-sm); padding:1.1rem 1.4rem;
  font-size:.875rem; line-height:1.7;
  display:flex; gap:.75rem; align-items:flex-start;
}
.sec-light .info-panel, .sec-light-alt .info-panel {
  background:rgba(25,103,175,0.06); border:1px solid rgba(25,103,175,0.15);
  color:var(--light-text-sub);
}
.sec-dark .info-panel, .sec-dark-mid .info-panel {
  background:rgba(25,103,175,0.12); border:1px solid rgba(25,103,175,0.25);
  color:var(--dark-text-sub);
}
.info-panel strong { color:var(--nlg-blue); }
.info-panel a { color:var(--nlg-blue); text-decoration:none; font-weight:600; }

/* ══════════════════════════════════════════════
   WHO IS IT FOR – LIGHT
══════════════════════════════════════════════ */
.who-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:.75rem; }
.who-item {
  background:#fff; border:1px solid var(--light-border);
  border-radius:var(--r-sm); padding:.9rem 1.1rem;
  font-size:.875rem; font-weight:500; color:var(--light-text-sub);
  display:flex; align-items:center; gap:.65rem;
  box-shadow:var(--shadow-sm); transition:border-color var(--t), color var(--t);
}
.who-item:hover { border-color:var(--nlg-blue); color:var(--nlg-dark); }
.who-item .check { color:var(--green-text); font-weight:900; flex-shrink:0; }

/* ══════════════════════════════════════════════
   CTA SECTION – DARK
══════════════════════════════════════════════ */
.cta-section { padding:5.5rem 2rem; text-align:center; background:var(--nlg-dark); color:#fff; }
.cta-section h2 {
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(2rem,4vw,3rem); font-weight:800; margin-bottom:1rem;
}
/* Light CTA */
.sec-light .cta-section h2, .sec-light-alt .cta-section h2 { color:var(--nlg-dark); }
.sec-light .cta-section h2 span, .sec-light-alt .cta-section h2 span { color:var(--nlg-blue); }
.sec-light .cta-section p, .sec-light-alt .cta-section p { color:var(--light-text-sub); }
/* Dark CTA */
.sec-dark .cta-section h2, .sec-dark-mid .cta-section h2 { color:#fff; }
.sec-dark .cta-section h2 span { color:var(--accent-light); }
.sec-dark .cta-section p { color:var(--dark-text-sub); }
.cta-section p { font-size:1.05rem; line-height:1.7; max-width:600px; margin:0 auto 2.5rem; }
.contact-cards { display:flex; flex-wrap:wrap; gap:1.1rem; justify-content:center; margin-bottom:2.5rem; }
.contact-card {
  border-radius:var(--r-lg); padding:1.5rem 1.875rem; min-width:190px;
  text-decoration:none; color:inherit;
  transition:border-color var(--t), box-shadow var(--t), transform var(--t);
  display:flex; flex-direction:column; align-items:center; gap:.35rem;
}
.sec-light .contact-card, .sec-light-alt .contact-card {
  background:#fff; border:1px solid var(--light-border); box-shadow:var(--shadow-sm); color:var(--nlg-dark);
}
.sec-light .contact-card:hover { border-color:var(--nlg-blue); box-shadow:var(--shadow-md); transform:translateY(-2px); }
.sec-dark .contact-card, .sec-dark-mid .contact-card {
  background:var(--dark-bg-card); border:1px solid rgba(255,255,255,0.1); color:#fff;
}
.sec-dark .contact-card:hover { border-color:var(--accent-light); transform:translateY(-2px); }
.contact-card .cc-icon { font-size:1.5rem; margin-bottom:.3rem; }
.contact-card .cc-label { font-size:.7rem; font-weight:600; text-transform:uppercase; letter-spacing:.07em; }
.sec-light .contact-card .cc-label { color:var(--light-text-dim); }
.sec-dark .contact-card .cc-label { color:var(--dark-text-sub); }
.contact-card .cc-val { font-size:.975rem; font-weight:700; }

/* ══════════════════════════════════════════════
   CONTACT FORM
══════════════════════════════════════════════ */
.contact-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:3rem; }
@media(max-width:768px) { .contact-form-grid { grid-template-columns:1fr; } }
.form-group { display:flex; flex-direction:column; gap:.4rem; margin-bottom:1.1rem; }
.form-group label { font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.sec-light .form-group label { color:var(--light-text-dim); }
.form-input, .form-select, .form-textarea {
  border-radius:var(--r-sm); padding:.8rem 1.1rem;
  font-size:.95rem; font-family:inherit; outline:none;
  transition:border-color var(--t), box-shadow var(--t); width:100%;
}
.sec-light .form-input, .sec-light .form-select, .sec-light .form-textarea {
  background:#fff; border:1.5px solid var(--light-border); color:var(--nlg-dark);
}
.sec-light .form-input:focus, .sec-light .form-select:focus, .sec-light .form-textarea:focus {
  border-color:var(--nlg-blue); box-shadow:0 0 0 3px rgba(25,103,175,0.12);
}
.form-input::placeholder, .form-textarea::placeholder { color:var(--light-text-dim); }
.form-select { cursor:pointer; }
.form-textarea { resize:vertical; min-height:140px; line-height:1.6; }
.form-result { padding:.85rem 1.1rem; border-radius:var(--r-sm); font-size:.9rem; font-weight:600; margin-top:.75rem; display:none; }
.form-result.success { background:var(--green-bg); border:1px solid var(--green-border); color:var(--green-text); display:block; }
.form-result.error { background:#FEF2F2; border:1px solid #FCA5A5; color:var(--red); display:block; }

/* ══════════════════════════════════════════════
   RESPONSIVE UTILITIES
══════════════════════════════════════════════ */
.responsive-2col { display:grid; grid-template-columns:1fr 1fr; gap:3.5rem; align-items:start; }
@media(max-width:820px) { .responsive-2col { grid-template-columns:1fr; gap:2rem; } }
.divider-light { border:none; border-top:1px solid var(--light-border); margin:0; }
.divider-dark { border:none; border-top:1px solid rgba(255,255,255,0.07); margin:0; }
.mt-sm { margin-top:.75rem; } .mt-md { margin-top:1.5rem; } .mt-lg { margin-top:2.5rem; }
.mb-sm { margin-bottom:.75rem; } .mb-md { margin-bottom:1.5rem; } .mb-lg { margin-bottom:2.5rem; }
.text-nlg-dark { color:var(--nlg-dark); } .text-nlg-blue { color:var(--nlg-blue); }
.text-muted-light { color:var(--light-text-dim); } .text-muted-dark { color:var(--dark-text-sub); }

/* ══════════════════════════════════════════════
   FOOTER – DARK
══════════════════════════════════════════════ */
footer {
  background:var(--nlg-dark); color:#fff;
  border-top:3px solid var(--nlg-blue);
  padding:4rem 2rem 2rem;
}
.footer-inner {
  max-width:1100px; margin:0 auto;
  display:grid; grid-template-columns:2fr 1fr 1fr 1fr;
  gap:3rem; margin-bottom:3rem;
}
@media(max-width:900px) { .footer-inner { grid-template-columns:1fr 1fr; } }
@media(max-width:500px) { .footer-inner { grid-template-columns:1fr; } }
.footer-logo-link { display:inline-block; margin-bottom:.85rem; }
.footer-logo-link img { height:32px; width:auto; }
.footer-brand p { font-size:.84rem; color:rgba(255,255,255,0.6); line-height:1.7; max-width:260px; margin-bottom:1.1rem; }
.footer-contact-mini { display:flex; flex-direction:column; gap:.5rem; }
.footer-contact-mini a {
  display:flex; align-items:center; gap:.5rem;
  font-size:.84rem; color:rgba(255,255,255,0.65); text-decoration:none;
  transition:color var(--t);
}
.footer-contact-mini a:hover { color:#fff; }
.footer-col h2, .footer-col h4 {
  font-size:.75rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase;
  color:rgba(255,255,255,0.6); margin-bottom:1.1rem;
}
.footer-col ul { list-style:none; }
.footer-col ul li { margin-bottom:.55rem; }
.footer-col ul li a {
  font-size:.865rem; color:rgba(255,255,255,0.65); text-decoration:none;
  transition:color var(--t);
}
.footer-col ul li a:hover { color:#fff; }
.footer-note { margin-top:1rem; font-size:.78rem; color:rgba(255,255,255,0.65); line-height:1.6; }
.footer-bottom {
  max-width:1100px; margin:0 auto;
  border-top:1px solid rgba(255,255,255,0.1);
  padding-top:1.5rem;
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:.75rem; font-size:.79rem; color:rgba(255,255,255,0.65);
}
.footer-bottom-links { display:flex; gap:1.5rem; align-items:center; flex-wrap:wrap; }
.footer-bottom-links a,
.footer-bottom-links .footer-linkbtn { color:rgba(255,255,255,0.6); text-decoration:none; transition:color var(--t); }
.footer-bottom-links a:hover,
.footer-bottom-links .footer-linkbtn:hover { color:#fff; }
/* A süti-beállítás gomb: funkcióban gomb, kinézetben lábléc-link */
.footer-bottom-links .footer-linkbtn {
  background:none; border:0; padding:0; margin:0;
  font:inherit; cursor:pointer;
}

/* ── CTA section always dark ── */
.cta-section {
  background: var(--nlg-dark) !important;
  color: #fff;
}
.cta-section h2 { color: #fff; }
.cta-section h2 span { color: var(--accent-light); }
.cta-section p { color: var(--dark-text-sub); }
.cta-section .contact-card {
  background: rgba(255,255,255,0.07);
  border: 1px solid rgba(255,255,255,0.12);
  color: #fff;
}
.cta-section .contact-card:hover {
  border-color: var(--accent-light);
  transform: translateY(-2px);
}
.cta-section .contact-card .cc-label { color: var(--dark-text-sub); }

/* ── Proof banner link color ── */
.proof-banner a { color: var(--nlg-blue); text-decoration: none; font-weight: 600; }

/* ── Sec dark/light context for inline styles ── */
.sec-dark, .sec-dark-mid, .sec-brand {
  color: var(--dark-text);
}
.sec-light, .sec-light-alt {
  color: var(--light-text);
}

/* ── Page hero subtext ── */
.page-hero .hero-sub, .hero .hero-sub {
  color: rgba(255,255,255,0.75);
  font-size: 1.1rem;
  max-width: 620px;
  line-height: 1.7;
  margin-bottom: 2rem;
}

/* ── Dark section text overrides ── */
.sec-dark h2, .sec-dark-mid h2, .sec-dark h3, .sec-dark-mid h3,
.sec-dark h4, .sec-dark-mid h4 { color: #fff; }
.sec-dark p, .sec-dark-mid p { color: var(--dark-text-sub); }
.sec-light h2, .sec-light h3, .sec-light h4 { color: var(--nlg-dark); }
.sec-light p, .sec-light-alt p { color: var(--light-text-sub); }
.sec-light-alt h2, .sec-light-alt h3, .sec-light-alt h4 { color: var(--nlg-dark); }

/* ── Section padding consistency ── */
.sec-light, .sec-light-alt, .sec-dark, .sec-dark-mid, .sec-brand {
  padding: 5rem 2rem;
}

/* ── Inline SVG logo ── */
.nav-logo-link svg, .footer-logo-link svg {
  height: 34px;
  width: auto;
  display: block;
}
.nav-logo-link { display:flex; align-items:center; text-decoration:none; flex-shrink:0; }
.footer-logo-link { display:inline-flex; align-items:center; text-decoration:none; margin-bottom:.85rem; }

/* ── Hero háttérkép mobil fix ── */
@media (max-width: 768px) {
  .hero[style*="background-image"],
  .page-hero[style*="background-image"] {
    background-attachment: scroll !important;
    background-size: cover !important;
    background-position: center center !important;
  }
}

/* ── Reszponzív grid utility osztályok ── */
/* 3 oszlopos grid: desktopön 3 col, mobilon 1 col */
.grid-3col {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 640px) {
  .grid-3col {
    grid-template-columns: 1fr;
  }
}

/* 4 oszlopos stat grid: desktopön 4 col, mobilon 2×2 */
.grid-4col {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 640px) {
  .grid-4col {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* 2 oszlopos content grid: desktopön 2 col, mobilon 1 col */
/* (Form gridekre NEM használjuk – azoknál a grid-column:1/-1 logika miatt marad az inline style) */
.grid-2col {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 640px) {
  .grid-2col {
    grid-template-columns: 1fr;
  }
}

/* ══ Morzsamenü (breadcrumb) ══════════════════════════════════════════════
   A sticky nav sötét színének folytatása – nem külön beékelt elem.
   Csak aloldalakon jelenik meg (a főoldalon nincs).
   ════════════════════════════════════════════════════════════════════════ */
.breadcrumb {
  background: var(--nlg-dark);
  border-bottom: 1px solid rgba(255,255,255,0.06);
  padding: .55rem 2rem;
}
.breadcrumb-list {
  list-style: none;
  display: flex; flex-wrap: wrap; align-items: center; gap: .5rem;
  max-width: 1100px; margin: 0 auto; padding: 0;
  font-size: .8rem; line-height: 1.4;
}
.breadcrumb-item { display: inline-flex; align-items: center; gap: .5rem; }
.breadcrumb-item:not(:first-child)::before {
  content: '\203A'; /* › */
  color: rgba(255,255,255,0.3);
  font-size: .95rem; line-height: 1;
}
.breadcrumb-item a {
  color: rgba(255,255,255,0.55);
  text-decoration: none;
  transition: color var(--t);
}
.breadcrumb-item a:hover,
.breadcrumb-item a:focus-visible { color: rgba(255,255,255,0.92); }
.breadcrumb-item [aria-current="page"] {
  color: rgba(255,255,255,0.85);
  font-weight: 500;
}
@media (max-width: 640px) {
  .breadcrumb { padding: .5rem 1rem; }
  .breadcrumb-list { font-size: .75rem; }
}

/* ── GYIK accordion (natív <details>, JS nélkül) ── */
.faq-item summary { list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item .faq-plus { transition: transform .2s ease; }
.faq-item[open] .faq-plus { transform: rotate(45deg); }

/* ── Migráció-kiemelés (borostyán, képes panel) ── */
.mig-panel{
  display:grid; grid-template-columns:0.8fr 1.2fr;
  background:var(--nlg-dark); border:2px solid #FFA940;
  border-radius:var(--r-xl); overflow:hidden;
  box-shadow:0 14px 44px rgba(255,169,64,0.18);
}
.mig-img{ position:relative; min-height:100%; }
.mig-img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.mig-body{ padding:2.5rem; color:#fff; }
.mig-badge{
  display:inline-flex; align-items:center; gap:.5rem;
  background:rgba(255,169,64,0.15); border:1px solid rgba(255,169,64,0.55);
  color:#FFC072; font-size:.72rem; font-weight:800;
  text-transform:uppercase; letter-spacing:.09em;
  padding:.4rem .9rem; border-radius:99px; margin-bottom:1.15rem;
}
.sec-light .mig-title{
  font-family:'Barlow Condensed',sans-serif; font-size:2rem; font-weight:700;
  line-height:1.15; margin-bottom:.85rem; color:#fff;
}
.sec-light .mig-title span{ color:#FFA940; }
.sec-light .mig-text{ color:rgba(255,255,255,0.92); font-size:1rem; line-height:1.7; margin-bottom:1.5rem; }
.mig-cta{ background:#FFA940; color:#212A60; font-weight:800; }
.mig-cta:hover{ background:#FFC072; color:#212A60; }
@media (max-width:760px){
  .mig-panel{ grid-template-columns:1fr; }
  .mig-img{ min-height:200px; }
  .mig-body{ padding:1.75rem; }
}

/* ── Gyorstalpaló: ingyenes-migráció csík ── */
.sec-light .qs-mig-strip{
  display:flex; align-items:center; gap:.85rem; margin-top:0;
  background:rgba(255,169,64,0.14); border:1px solid rgba(255,169,64,0.6);
  border-radius:var(--r-lg); padding:1rem 1.35rem;
  text-decoration:none; color:var(--nlg-dark);
  font-size:.95rem; line-height:1.45;
  transition:background .2s ease, border-color .2s ease;
}
.sec-light .qs-mig-strip:hover{ background:rgba(255,169,64,0.22); border-color:#FFA940; }
.qs-mig-strip strong{ color:#B45309; }
.qs-mig-ico{ font-size:1.3rem; flex-shrink:0; }
.qs-mig-arrow{ margin-left:auto; color:#B45309; font-weight:800; flex-shrink:0; }

/* ── Süti-hozzájárulás banner (nyugis, alsó sáv) ── */
.nlg-cookie{
  position:fixed; left:0; right:0; bottom:0; z-index:9000;
  background:var(--nlg-dark); color:#fff;
  box-shadow:0 -6px 24px rgba(0,0,0,0.22);
  border-top:2px solid #1967AF;
  animation:nlgCkUp .25s ease;
}
@keyframes nlgCkUp{ from{ transform:translateY(100%);} to{ transform:translateY(0);} }
.nlg-cookie-inner{ max-width:1100px; margin:0 auto; padding:1.1rem 1.35rem; }
.nlg-cookie-main{ display:flex; align-items:center; gap:1.25rem; flex-wrap:wrap; }
.nlg-cookie-text{ flex:1; min-width:280px; font-size:.9rem; line-height:1.6; color:rgba(255,255,255,0.82); }
.nlg-cookie-text strong{ color:#fff; }
.nlg-cookie-text a{ color:#7AADDE; text-decoration:underline; }
.nlg-cookie-actions{ display:flex; gap:.6rem; flex-wrap:wrap; align-items:center; }
.nlg-ck-btn{
  font:inherit; font-size:.88rem; font-weight:700; cursor:pointer;
  padding:.6rem 1.15rem; border-radius:8px; border:1.5px solid transparent;
  transition:background .15s ease, border-color .15s ease, color .15s ease; white-space:nowrap;
}
.nlg-ck-primary{ background:#1967AF; color:#fff; }
.nlg-ck-primary:hover{ background:#2a7fce; }
.nlg-ck-ghost{ background:transparent; color:#fff; border-color:rgba(255,255,255,0.3); }
.nlg-ck-ghost:hover{ border-color:rgba(255,255,255,0.65); background:rgba(255,255,255,0.07); }
.nlg-cookie-settings{ margin-top:1rem; border-top:1px solid rgba(255,255,255,0.12); padding-top:1rem; display:flex; flex-direction:column; gap:.6rem; }
.nlg-ck-row{ display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.55rem .1rem; }
.nlg-ck-row span{ display:flex; flex-direction:column; }
.nlg-ck-row small{ color:rgba(255,255,255,0.6); font-size:.8rem; margin-top:.15rem; }
.nlg-ck-row input[type=checkbox]{ width:20px; height:20px; accent-color:#1967AF; flex-shrink:0; cursor:pointer; }
.nlg-ck-disabled{ opacity:.7; }
.nlg-ck-disabled input{ cursor:not-allowed; }
@media(max-width:640px){
  .nlg-cookie-actions{ width:100%; }
  .nlg-ck-btn{ flex:1; text-align:center; }
}
