:root {
  --night: #05060b;
  --night-soft: #0b0d14;
  --deep: #10131d;
  --gold: #d6a64f;
  --gold-light: #ffdf9a;
  --sand: #e8d0a1;
  --text: #fff8e8;
  --muted: rgba(255, 248, 232, 0.72);
  --line: rgba(255, 223, 154, 0.18);
  --glass: rgba(10, 12, 18, 0.66);
  --radius: 24px;
  --container: 1180px;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  color: var(--text);
  font-family: Arial, sans-serif;
  background: var(--night);
  overflow-x: hidden;
}

body::selection {
  background: var(--gold);
  color: #111;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
  display: block;
}

button,
input,
select,
textarea {
  font: inherit;
}

.container {
  width: min(var(--container), calc(100% - 400px));
  margin: 0 auto;
}

/* =========================
   HERO / 3D SCROLL
========================= */

.scroll-showcase {
  position: relative;
  min-height: 420vh;
  background: #07080f;
  isolation: isolate;
}

.scroll-showcase::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
  background:
    linear-gradient(to bottom, rgba(0,0,0,0.04), rgba(0,0,0,0.76));
}

.scene-sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  width: 100%;
  overflow: hidden;
}

.hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(to bottom, rgba(5,7,13,0.48), rgba(5,7,13,0.84)),
    url("./images/dubaj_latkep.jpg") center center / cover no-repeat;
  transform: scale(1.025);
  filter: saturate(1.03) brightness(0.48) contrast(1.12);
}

.hero-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 68% 38%, rgba(255, 212, 125, 0.16), transparent 18%),
    radial-gradient(circle at 46% 78%, rgba(65, 112, 190, 0.18), transparent 30%),
    linear-gradient(to right, rgba(0,0,0,0.55), rgba(0,0,0,0.06), rgba(0,0,0,0.42));
}

#bg-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 3;
  pointer-events: none;
}


.hero-model-stage {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.model-orbit {
  position: absolute;
  right: clamp(20px, 8vw, 130px);
  top: 50%;
  width: min(46vw, 560px);
  aspect-ratio: 1 / 1;
  transform: translateY(-48%);
  border: 1px solid rgba(255, 223, 154, 0.12);
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 223, 154, 0.14), transparent 34%),
    radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.055), transparent 56%);
  box-shadow:
    inset 0 0 90px rgba(255, 223, 154, 0.055),
    0 0 140px rgba(214, 166, 79, 0.12);
  opacity: 0.9;
}

.model-orbit::before,
.model-orbit::after {
  content: "";
  position: absolute;
  inset: 8%;
  border-radius: 50%;
  border: 1px solid rgba(255, 223, 154, 0.08);
}

.model-orbit::after {
  inset: 22%;
  border-color: rgba(255, 223, 154, 0.06);
}

.model-floor-glow {
  position: absolute;
  right: clamp(30px, 10vw, 170px);
  bottom: 8vh;
  width: min(42vw, 520px);
  height: 110px;
  transform: perspective(500px) rotateX(68deg);
  border-radius: 50%;
  background: radial-gradient(ellipse at center, rgba(255, 214, 130, 0.26), rgba(214, 166, 79, 0.08) 38%, transparent 70%);
  filter: blur(4px);
}

.hero-model-badge {
  position: absolute;
  right: clamp(18px, 5vw, 84px);
  bottom: clamp(84px, 12vh, 140px);
  z-index: 5;
  max-width: 230px;
  padding: 14px 16px;
  border: 1px solid rgba(255, 223, 154, 0.18);
  border-radius: 18px;
  background: rgba(5, 6, 11, 0.56);
  backdrop-filter: blur(16px);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.26);
}

.hero-model-badge span,
.hero-model-badge strong {
  display: block;
}

.hero-model-badge span {
  margin-bottom: 5px;
  color: rgba(255, 248, 232, 0.58);
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.hero-model-badge strong {
  color: var(--gold-light);
  font-size: 13px;
  line-height: 1.35;
}

/* =========================
   NAVIGATION
========================= */

.site-nav {
  position: absolute;
  top: 12px;
  left: 50%;
  z-index: 10;
  width: min(1180px, calc(100% - 32px));
  transform: translateX(-50%);
}

.nav-inner {
  position: relative;
  min-height: 36px;
  padding: 0px 12px 0px 18px;
  display: flex;
  align-items: center;
  gap: 22px;
  border: 1px solid rgba(255, 223, 154, 0.2);
  border-radius: 999px;
  background: rgba(4, 5, 9, 0.54);
  backdrop-filter: blur(18px);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.34);
}

.brand-img {
  max-width: 120px;
  object-fit: contain;
}

.brand {
  width: 132px;
  flex: 0 0 auto;
}

.brand img {
  width: 132px;
  height: auto;
  object-fit: contain;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-left: auto;;
}

.nav-links a {
  position: relative;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 248, 232, 0.78);
  transition: color 0.25s ease;
}

.nav-links a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 0;
  height: 1px;
  background: linear-gradient(90deg, var(--gold), var(--gold-light));
  transition: width 0.25s ease;
}

.nav-links a:hover {
  color: var(--gold-light);
}

.nav-links a:hover::after {
  width: 100%;
}

.nav-cta {
  flex: 0 0 auto;
  padding: 13px 20px;
  border-radius: 999px;
  background: linear-gradient(135deg, #b98630, #ffe09a, #b98630);
  color: #140e05;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  box-shadow: 0 14px 34px rgba(214, 166, 79, 0.24);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.nav-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 42px rgba(214, 166, 79, 0.34);
}

.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  margin-left: auto;
  border: 1px solid rgba(255, 223, 154, 0.22);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  cursor: pointer;
}

.nav-toggle span {
  display: block;
  width: 18px;
  height: 2px;
  margin: 4px auto;
  background: var(--gold-light);
  border-radius: 99px;
}

/* =========================
   HERO CONTENT
========================= */

.hero-content {
  position: absolute;
  top: 53%;
  left: max(40px, 6vw);
  margin-top: 40px;
  z-index: 6;
  width: min(650px, calc(100% - 80px));
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid rgba(255, 223, 154, 0.12);
  border-radius: 30px;
  background:
    linear-gradient(135deg, rgba(5, 6, 11, 0.74), rgba(5, 6, 11, 0.38));
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.24);
  backdrop-filter: blur(14px);
  transform: translateY(-50%);
  /* Sima, fokozatos transition a hero szöveg eltűnéséhez */
  transition: opacity 0.72s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.72s cubic-bezier(0.25, 0.46, 0.45, 0.94), visibility 0.72s;
}

.hero-content.is-passed {
  opacity: 0;
  visibility: hidden;
  transform: translateY(-52%);
  pointer-events: none;
}

.eyebrow,
.section-kicker {
  margin: 0 0 16px;
  color: var(--gold-light);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.hero-content h1 {
  margin: 0;
  max-width: 720px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(44px, 6.3vw, 75px);
  line-height: 1;
  font-weight: 500;
  letter-spacing: -0.055em;
  text-wrap: balance;
}

.hero-lead {
  max-width: 610px;
  margin: 24px 0 0;
  color: var(--muted);
  font-size: clamp(15px, 1.3vw, 18px);
  line-height: 1.8;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 14px 22px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
  margin-top: 12px;
}

.btn:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 42px rgba(214, 166, 79, 0.34);
}

.btn-primary {
  background: linear-gradient(135deg, #b98630, #ffe09a, #b98630);
  color: #120d04;
  box-shadow: 30px 18px 44px rgba(214, 166, 79, 0.24);
}

.btn-secondary {
  border-color: rgba(255, 223, 154, 0.26);
  background: rgba(255, 255, 255, 0.05);
  color: var(--text);
  backdrop-filter: blur(12px);
}

.hero-proof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  max-width: 650px;
  margin-top: 30px;
}

.hero-proof div {
  padding: 16px;
  border: 1px solid rgba(255, 223, 154, 0.16);
  border-radius: 18px;
  background: rgba(5, 6, 11, 0.54);
  backdrop-filter: blur(12px);
}

.hero-proof strong,
.hero-proof span {
  display: block;
}

.hero-proof strong {
  color: var(--gold-light);
  font-size: 14px;
}

.hero-proof span {
  margin-top: 4px;
  color: rgba(255, 248, 232, 0.68);
  font-size: 12px;
}

.scroll-hint {
  position: absolute;
  left: 50%;
  bottom: 28px;
  z-index: 7;
  display: flex;
  align-items: center;
  gap: 10px;
  transform: translateX(-50%);
  color: rgba(255, 248, 232, 0.72);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.scroll-hint i {
  color: var(--gold-light);
  animation: hintMove 1.2s infinite alternate ease-in-out;
}

@keyframes hintMove {
  from {
    transform: translateY(-2px);
  }

  to {
    transform: translateY(5px);
  }
}

/* =========================
   SCROLL CARDS
========================= */

.scroll-track {
  position: relative;
  z-index: 6;
}

.step {
  min-height: 100vh;
  width: min(1280px, calc(100% - 32px));
  margin: 0 auto;
  display: flex;
  align-items: center;
}

.step-left {
  justify-content: flex-start;
}

.step-right {
  justify-content: flex-end;
}

.card {
  width: min(430px, 92%);
  padding: 28px;
  border: 1px solid rgba(255, 223, 154, 0.18);
  border-radius: 24px;
  background:
    linear-gradient(145deg, rgba(9, 11, 18, 0.84), rgba(22, 17, 10, 0.58));
  backdrop-filter: blur(16px);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.34);
  opacity: 0;
  /* Sima kézitett transition az animációhoz */
  transition: opacity 0.9s cubic-bezier(0.34, 1.56, 0.64, 1), transform 0.9s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.step-left .card {
  transform: translateX(-90px);
}

.step-right .card {
  transform: translateX(90px);
}

.card.visible {
  opacity: 1;
  transform: translateX(0);
}

.card-tag {
  margin-bottom: 12px;
  color: var(--gold-light);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.card h2 {
  margin: 0 0 14px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1.04;
  font-weight: 500;
}

.card p {
  margin: 0;
  color: rgba(255, 248, 232, 0.74);
  font-size: 15px;
  line-height: 1.8;
}


/* =========================================================
   ARABIAN DAYS – PRÉMIUM ÉLMÉNYVILÁG KÁRTYÁK
   Csak ehhez a blokkhoz nyúl. A meglévő scroll/reveal JS maradhat.
========================================================= */

.ad-journey-section {
  position: relative;
  overflow: hidden;
  padding: clamp(0px, 1vw, 30px) 0 !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(199, 150, 61, 0.16), transparent 34%),
    radial-gradient(circle at 10% 28%, rgba(199, 150, 61, 0.10), transparent 28%),
    linear-gradient(180deg, #05060b 0%, #0b0d14 52%, #05060b 100%) !important;
  color: #fff8e8 !important;
  isolation: isolate;
}

.ad-journey-section::before,
.ad-journey-section::after {
  content: "";
  position: absolute;
  inset: auto;
  width: 100%;
  height: 420px;
  border: 1px solid rgba(214, 166, 79, 0.16);
  border-radius: 42%;
  pointer-events: none;
  opacity: 0.65;
  z-index: -1;
}

.ad-journey-section::before {
  left: -180px;
  top: -180px;
  transform: rotate(28deg);
}

.ad-journey-section::after {
  right: -180px;
  bottom: -180px;
  transform: rotate(-28deg);
}

.ad-journey-head {
  max-width: 940px;
  margin: 0 auto clamp(42px, 5vw, 74px);
  text-align: center;
}

.ad-journey-kicker {
  margin: 0 0 14px;
  color: var(--gold-light) !important;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.42em;
  text-transform: uppercase;
}

.ad-journey-head h2 {
  margin: 0;
  color: var(--gold-light) !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(38px, 6vw, 86px);
  line-height: 0.95;
  font-weight: 500;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  text-wrap: balance;
}

.ad-journey-head p:not(.ad-journey-kicker) {
  width: 100%;
  margin: 20px auto 0;
  color: rgba(255, 248, 232, 0.76) !important;
  font-size: clamp(15px, 1.5vw, 19px);
  line-height: 1.75;
}

.ad-journey-grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(8px, 1vw, 26px);
  align-items: stretch;
}

.ad-journey-grid::before {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  top: 50%;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(214, 166, 79, 0.22),
    rgba(255, 223, 154, 0.54),
    rgba(214, 166, 79, 0.22),
    transparent
  );
  transform: translateY(-50%);
  pointer-events: none;
}

.ad-journey-card {
  position: relative;
  min-height: clamp(60px, 3vw, 70px);
  padding: 1px;
  overflow: hidden;
  border-radius: 34px 34px 12px 34px;
  background:
    linear-gradient(145deg, rgba(255, 223, 154, 0.78), rgba(214, 166, 79, 0.18), rgba(255, 223, 154, 0.46)) !important;
  box-shadow:
    0 26px 70px rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(214, 166, 79, 0.12) !important;
  transform: translateY(var(--lift, 0));
}

.ad-card-01,
.ad-card-03 {
  --lift: -18px;
}

.ad-card-02,
.ad-card-04 {
  --lift: 32px;
}

.ad-journey-card::before {
  content: "";
  position: absolute;
  inset: 1px;
  z-index: 0;
  border-radius: inherit;
  background:
    radial-gradient(circle at 72% 18%, rgba(255, 223, 154, 0.16), transparent 28%),
    radial-gradient(circle at 26% 80%, rgba(214, 166, 79, 0.14), transparent 32%),
    linear-gradient(145deg, rgba(5, 6, 11, 0.98), rgba(11, 13, 20, 0.96)) !important;
}

.ad-journey-card::after {
  content: "";
  position: absolute;
  right: -52px;
  bottom: -48px;
  width: 190px;
  height: 190px;
  border: 1px solid rgba(214, 166, 79, 0.14);
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(255, 223, 154, 0.10), transparent 64%);
  pointer-events: none;
  z-index: 1;
}

.ad-card-content {
  position: relative;
  z-index: 2;
  min-height: inherit;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: clamp(26px, 3vw, 38px);
}

/* .ad-card-number {
  display: block;
  color: var(--gold-light) !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(54px, 5vw, 78px);
  line-height: 0.9;
  font-weight: 500;
  letter-spacing: -0.04em;
} */

.ad-card-number::after {
  content: "";
  display: block;
  width: 54px;
  height: 1px;
  margin: 20px 0 22px;
  background: linear-gradient(90deg, var(--gold-light), transparent);
}

.ad-card-icon {
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  margin-bottom: auto;
  color: var(--gold-light);
}

.ad-card-icon svg {
  width: 64px;
  height: 64px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0.92;
}

.ad-journey-card h3 {
  margin: clamp(34px, 4vw, 62px) 0 14px;
  color: #fff8e8 !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 3.4vw, 54px);
  line-height: 1;
  font-weight: 500;
  letter-spacing: -0.04em;
}

.ad-journey-card p {
  max-width: 260px;
  margin: 0;
  color: rgba(255, 248, 232, 0.78) !important;
  font-size: clamp(14px, 1.1vw, 16px);
  line-height: 1.65;
}

.ad-journey-cta {
  display: flex;
  justify-content: center;
  margin-top: clamp(54px, 7vw, 96px);
}

.ad-journey-btn {
  position: relative;
  min-height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 16px 34px;
  border: 1px solid rgba(255, 223, 154, 0.56);
  border-radius: 999px;
  background: linear-gradient(135deg, #b98630, #ffdf9a, #d6a64f) !important;
  color: #120d04 !important;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  box-shadow: 0 22px 60px rgba(214, 166, 79, 0.26);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.ad-journey-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 28px 76px rgba(214, 166, 79, 0.34);
}

.ad-journey-btn span {
  font-size: 20px;
  line-height: 1;
}

/* Tablet */
@media (max-width: 1048px) {
  .ad-journey-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ad-journey-grid::before {
    display: none;
  }

  .ad-card-01,
  .ad-card-02,
  .ad-card-03,
  .ad-card-04 {
    --lift: 0;
  }

  .ad-journey-card {
    min-height: 360px;
  }
}

/* Mobil */
@media (max-width: 768px) {
  .ad-journey-section {
    padding: 2px 2px !important;
  }

  .ad-journey-grid {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .ad-journey-card {
    min-height: auto;
    border-radius: 28px 28px 10px 28px;
  }

  .ad-card-content {
    min-height: 310px;
    padding: 24px;
  }

  .ad-card-icon {
    margin-bottom: 28px;
  }

  .ad-journey-card h3 {
    margin-top: 18px;
  }

  .ad-journey-card p {
    max-width: 100%;
  }

  .ad-journey-btn {
    width: 100%;
    padding-inline: 20px;
    text-align: center;
  }
}

/* Kis mobil: 390–430px környéke */
@media (max-width: 430px) {
  .ad-journey-head {
    margin-bottom: 8px;
  }

  .ad-journey-head h2 {
    font-size: 34px;
    line-height: 1.02;
  }

  .ad-journey-head p:not(.ad-journey-kicker) {
    font-size: 14px;
  }

  .ad-card-content {
    min-height: 286px;
    padding: 22px;
  }

  .ad-card-number {
    font-size: 48px;
  }

  .ad-journey-card h3 {
    font-size: 34px;
  }
}



/* =========================
   GENERAL SECTIONS
========================= */

.section {
  position: relative;
  padding: 20px 0;
  background:
    radial-gradient(circle at 12% 10%, rgba(214, 166, 79, 0.1), transparent 26%),
    radial-gradient(circle at 88% 20%, rgba(70, 110, 170, 0.12), transparent 30%),
    var(--night);
}

.section:nth-of-type(even) {
  background:
    radial-gradient(circle at 78% 20%, rgba(214, 166, 79, 0.08), transparent 26%),
    linear-gradient(to bottom, #05060b, #090b12);
}

.section-head {
  max-width: 760px;
  margin-bottom: 22px;
  margin-top: 12px;
}

.section-head h2,
.intro-grid h2,
.trust-grid h2,
.contact-grid h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 4.4vw, 62px);
  line-height: 1.02;
  font-weight: 500;
  letter-spacing: -0.04em;
  text-wrap: balance;
}

.section-head p,
.intro-text p,
.trust-grid p,
.contact-grid p {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.8;
}

.intro-grid {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 70px;
  align-items: start;
}

.intro-text {
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.04);
}

.intro-text p:first-child {
  margin-top: 0;
}

.intro-text p:last-child {
  margin-bottom: 0;
}

/* =========================
   EXPERIENCE CARDS
========================= */

.experience-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.experience-card,
.package-card,
.process-item,
.trust-panel,
.lead-form,
.faq-grid details {
  border: 1px solid var(--line);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.025));
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.2);
}

.experience-card {
  min-height: 250px;
  padding: 28px;
  border-radius: 24px;
  transition: transform 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

.experience-card:hover {
  transform: translateY(-5px);
  border-color: rgba(255, 223, 154, 0.34);
  background:
    linear-gradient(145deg, rgba(214, 166, 79, 0.12), rgba(255, 255, 255, 0.035));
}

.card-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin-bottom: 24px;
  border-radius: 16px;
  background: rgba(214, 166, 79, 0.12);
  color: var(--gold-light);
}

.experience-card h3,
.package-card h3,
.process-item h3 {
  margin: 0 0 12px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 27px;
  font-weight: 500;
}

.experience-card p,
.package-card p,
.process-item p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
}

/* =========================
   PACKAGES
========================= */

.package-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.package-card {
  position: relative;
  padding: 30px;
  border-radius: 26px;
  overflow: hidden;
}

.package-card.featured {
  border-color: rgba(255, 223, 154, 0.42);
  background:
    radial-gradient(circle at 50% 0%, rgba(214, 166, 79, 0.22), transparent 38%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.03));
}

.package-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 24px;
  color: var(--gold-light);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.package-card ul {
  display: grid;
  gap: 12px;
  margin: 24px 0;
  padding: 0;
  list-style: none;
}

.package-card li {
  position: relative;
  padding-left: 24px;
  color: var(--deep);
  font-size: 14px;
  line-height: 1.55;
}

.package-card li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--gold-light);
}

.text-link {
  display: inline-flex;
  color: var(--gold-light);
  font-weight: 700;
  border-bottom: 1px solid rgba(255, 223, 154, 0.4);
}

/* =========================
   PROCESS
========================= */

.process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.process-item {
  padding: 26px;
  border-radius: 24px;
}

.process-item span {
  display: inline-flex;
  margin-bottom: 28px;
  color: rgba(255, 223, 154, 0.56);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 42px;
}

/* =========================
   TRUST
========================= */

.trust-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 44px;
  align-items: center;
}

.trust-panel {
  display: grid;
  gap: 18px;
  padding: 28px;
  border-radius: 26px;
}

.trust-panel div {
  padding: 20px;
  border: 1px solid rgba(255, 223, 154, 0.13);
  border-radius: 20px;
  background: rgba(0, 0, 0, 0.18);
}

.trust-panel strong,
.trust-panel span {
  display: block;
}

.trust-panel strong {
  color: var(--gold-light);
  font-size: 18px;
}

.trust-panel span {
  margin-top: 7px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.55;
}

/* =========================
   FAQ
========================= */

.faq-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.faq-grid details {
  padding: 22px;
  border-radius: 20px;
}

.faq-grid summary {
  color: var(--text);
  font-weight: 700;
  cursor: pointer;
}

.faq-grid p {
  margin: 14px 0 0;
  color: var(--muted);
  line-height: 1.7;
}

/* =========================
   CONTACT
========================= */

.contact-section {
  padding-bottom: 120px;
}

.contact-grid {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 42px;
  align-items: start;
}

.contact-highlights {
  display: grid;
  gap: 12px;
  margin-top: 30px;
}

.contact-highlights span {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255, 248, 232, 0.84);
}

.contact-highlights i {
  color: var(--gold-light);
}

.lead-form {
  display: grid;
  gap: 16px;
  padding: 30px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 100% 0%, rgba(214, 166, 79, 0.14), transparent 34%),
    rgba(255, 255, 255, 0.045);
}

.lead-form label {
  display: grid;
  gap: 8px;
  color: rgba(255, 248, 232, 0.86);
  font-size: 14px;
  font-weight: 700;
}

.lead-form input,
.lead-form select,
.lead-form textarea {
  width: 100%;
  padding: 15px 16px;
  border: 1px solid rgba(255, 223, 154, 0.17);
  border-radius: 14px;
  outline: none;
  background: rgba(0, 0, 0, 0.28);
  color: var(--text);
}

.lead-form input::placeholder,
.lead-form textarea::placeholder {
  color: rgba(255, 248, 232, 0.36);
}

.lead-form input:focus,
.lead-form select:focus,
.lead-form textarea:focus {
  border-color: rgba(255, 223, 154, 0.52);
}

.form-note {
  margin: 0;
  color: rgba(255, 248, 232, 0.52);
  font-size: 12px;
  line-height: 1.55;
}

/* =========================
   FOOTER
========================= */

.site-footer {
  padding: 70px 0 0;
  border-top: 1px solid rgba(255, 223, 154, 0.16);
  background:
    radial-gradient(circle at 20% 0%, rgba(214, 166, 79, 0.1), transparent 30%),
    #030407;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.7fr 0.9fr 1fr;
  gap: 34px;
}

.footer-brand img {
  width: 180px;
  margin-bottom: 20px;
}

.footer-brand p,
.site-footer p {
  color: var(--muted);
  line-height: 1.7;
}

.site-footer h3 {
  margin: 0 0 18px;
  color: var(--gold-light);
  font-size: 14px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.site-footer a {
  display: block;
  margin-bottom: 12px;
  color: rgba(255, 248, 232, 0.72);
  transition: color 0.25s ease;
}

.site-footer a:hover {
  color: var(--gold-light);
}

.socials {
  display: flex;
  gap: 12px;
  margin-top: 8px;
  justify-content: flex-end;
  margin-right: 40px;
}

.socials a {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  margin: 0;
  border: 1px solid rgba(255, 223, 154, 0.22);
  border-radius: 50%;
  color: var(--gold-light);
  background: rgba(255, 255, 255, 0.04);
}

.footer-bottom {
  margin-top: 50px;
  padding: 18px 20px;
  border-top: 1px solid rgba(255, 223, 154, 0.1);
  text-align: center;
}

.footer-bottom p {
  margin: 0;
  font-size: 13px;
}


/* =========================
   PREMIUM SCROLL REVEAL
========================= */

.scroll-reveal {
  opacity: 0;
  transform: translateY(64px) scale(0.985);
  transition:
    opacity 0.82s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.82s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}

.scroll-reveal.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }

  .scroll-reveal,
  .card {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1100px) {
  .nav-links {
    gap: 16px;
  }

  .nav-links a {
    font-size: 12px;
  }

  .experience-grid,
  .package-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 930px) {
  .nav-toggle {
    display: block;
  }

  .nav-links {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 12px;
    border: 1px solid rgba(255, 223, 154, 0.18);
    border-radius: 24px;
    background: rgba(5, 6, 10, 0.92);
    backdrop-filter: blur(18px);
  }

  .nav-inner.is-open .nav-links {
    display: flex;
  }

  .nav-links a {
    padding: 14px 14px;
    border-bottom: 1px solid rgba(255, 223, 154, 0.08);
  }

  .nav-links a:last-child {
    border-bottom: 0;
  }

  .nav-links a::after {
    display: none;
  }

  .nav-cta {
    display: none;
  }

  .hero-content {
    width: min(560px, calc(100% - 40px));
    left: 20px;
  }

  .model-orbit {
    right: -10vw;
    width: min(72vw, 520px);
    opacity: 0.62;
  }

  .model-floor-glow {
    right: 2vw;
    width: 60vw;
  }

  .hero-model-badge {
    display: none;
  }

  .hero-proof {
    grid-template-columns: 1fr;
    max-width: 380px;
  }

  .intro-grid,
  .trust-grid,
  .contact-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

@media (max-width: 768px) {
  .container {
    width: min(100% - 28px, var(--container));
  }

  .scroll-showcase {
    min-height: 360vh;
  }

  .scene-sticky {
    height: 100svh;
  }

  .site-nav {
    top: 12px;
    width: calc(100% - 20px);
  }

  .nav-inner {
    min-height: 66px;
    padding: 8px 10px 8px 14px;
  }

  .brand {
    width: 104px;
  }

  .brand img {
    width: 104px;
  }

  .hero-content {
    top: 54%;
    padding: 18px;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(5, 6, 11, 0.82), rgba(5, 6, 11, 0.56));
  }

  .hero-content h1 {
    font-size: clamp(39px, 11vw, 66px);
  }

  .hero-lead {
    font-size: 14px;
    line-height: 1.7;
  }

  .hero-actions {
    margin-top: 24px;
  }

  .btn {
    width: 100%;
  }

  .scroll-hint {
    bottom: 18px;
    font-size: 9px;
  }

  .step {
    width: calc(100% - 24px);
    justify-content: center !important;
    align-items: flex-end;
    padding-bottom: 9vh;
    padding-top: 12vh;
  }

  .card {
    width: 100%;
    padding: 22px;
    border-radius: 20px;
  }

  .step-left .card,
  .step-right .card {
    transform: translateY(46px);
  }

  .card.visible {
    transform: translateY(0);
  }

  .section {
    padding: 76px 0;
  }

  .section-head {
    margin-bottom: 28px;
  }

  .section-head h2,
  .intro-grid h2,
  .trust-grid h2,
  .contact-grid h2 {
    font-size: clamp(32px, 9vw, 48px);
  }

  .experience-grid,
  .package-grid,
  .process-grid,
  .faq-grid,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .experience-card,
  .package-card,
  .lead-form {
    padding: 22px;
  }
}

@media (max-width: 430px) {
  .scroll-showcase {
    min-height: 340vh;
  }

  .hero-content {
    top: 53%;
    width: calc(100% - 28px);
    left: 14px;
    padding: 16px;
  }

  .model-orbit {
    right: -26vw;
    top: 47%;
    width: 92vw;
    opacity: 0.48;
  }

  .model-floor-glow {
    right: -12vw;
    bottom: 13vh;
    width: 90vw;
    opacity: 0.65;
  }

  .eyebrow,
  .section-kicker {
    font-size: 10px;
    letter-spacing: 0.18em;
  }

  .hero-content h1 {
    font-size: 38px;
    line-height: 0.98;
  }

  .hero-lead {
    margin-top: 18px;
    font-size: 13px;
  }

  .hero-proof {
    display: none;
  }

  .card h2 {
    font-size: 27px;
  }

  .card p {
    font-size: 13px;
    line-height: 1.65;
  }

  .footer-brand img {
    width: 150px;
  }
}

@media (max-width: 390px) {
  .hero-content h1 {
    font-size: 34px;
  }

  .hero-lead {
    font-size: 12.5px;
  }

  .card {
    padding: 18px;
  }
}
/* =========================
   GLOBAL REVEAL / BLOG UPDATE
   Added for premium scroll dynamics and blog system
========================= */

.section .reveal,
.blog-page .reveal,
.subhero .reveal {
  opacity: 0;
  transform: translateY(56px);
  transition:
    opacity 0.9s cubic-bezier(.2,.8,.2,1),
    transform 0.9s cubic-bezier(.2,.8,.2,1),
    border-color 0.25s ease,
    background 0.25s ease;
  will-change: opacity, transform;
}

.section .reveal.is-visible,
.blog-page .reveal.is-visible,
.subhero .reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.section .reveal:nth-child(2),
.blog-page .reveal:nth-child(2) { transition-delay: .06s; }
.section .reveal:nth-child(3),
.blog-page .reveal:nth-child(3) { transition-delay: .12s; }
.section .reveal:nth-child(4),
.blog-page .reveal:nth-child(4) { transition-delay: .18s; }
.section .reveal:nth-child(5),
.blog-page .reveal:nth-child(5) { transition-delay: .24s; }
.section .reveal:nth-child(6),
.blog-page .reveal:nth-child(6) { transition-delay: .30s; }

.nav-links a.active {
  color: var(--gold-light);
}

/* =========================
   COMPATIBILITY FOR ORIGINAL SUBPAGES
========================= */

.page-shell { position: relative; isolation: isolate; }
.noise { display: none; }

.subhero {
  position: relative;
  min-height: 0vh;
  padding: 10px 0 15px;
  overflow: hidden;
  background: radial-gradient(circle at 70% 20%, rgba(230,195,123,.18), transparent 30%), linear-gradient(135deg, #0b0804, #05060b);
  border-bottom: 1px solid var(--line);
}

.subhero .site-nav {
  position: sticky !important;
  top: 12px !important;
  left: auto;
  transform: none !important;
  margin: 0 auto;
  z-index: 3000 !important;
}

.subhero .site-nav .nav-inner,
.subhero .site-nav {
  min-height: 72px;
}

.subhero .site-nav:not(:has(.nav-inner)) {
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 10px 12px 10px 18px;
  border: 1px solid rgba(255, 223, 154, 0.2);
  border-radius: 999px;
  background: rgba(4, 5, 9, 0.54);
  backdrop-filter: blur(18px);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.34);
}

.logo {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  flex: 0 0 auto;
  color: var(--text);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.logo-mark {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #140e05;
  background: linear-gradient(135deg, #ffe09a, #d6a64f, #8b632a);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.24);
}

.subhero .nav-links { margin-left: auto; }
.subhero .nav-links a { padding: 0; }

.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  margin-left: auto;
  border: 1px solid rgba(255, 223, 154, 0.22);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  color: var(--gold-light);
  cursor: pointer;
}

.menu-toggle span,
.menu-toggle span::before,
.menu-toggle span::after {
  display: block;
  width: 18px;
  height: 2px;
  margin: 0 auto;
  border-radius: 99px;
  background: currentColor;
  position: relative;
}

.menu-toggle span::before,
.menu-toggle span::after {
  content: "";
  position: absolute;
  left: 0;
}
.menu-toggle span::before { top: -6px; }
.menu-toggle span::after { top: 6px; }

.subhero-content {
  position: relative;
  z-index: 2;
  padding-top: 78px;
}

.breadcrumb {
  margin-bottom: 18px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.subhero h1,
.rich-text h2,
.split h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(40px, 6vw, 84px);
  line-height: 1;
  font-weight: 500;
  letter-spacing: -.045em;
}

.content-grid,
.split {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 42px;
  align-items: start;
}

.rich-text,
.panel,
.sidebar-card,
.trust-card,
.media-card,
.gallery-item {
  border: 1px solid var(--line);
  background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  border-radius: var(--radius);
  box-shadow: 0 24px 70px rgba(0,0,0,.2);
}

.rich-text { padding: 34px; }
.rich-text p { margin-top: 18px; color: var(--muted); line-height: 1.8; }
.rich-text .lead { color: rgba(255,248,232,.88); font-size: 18px; }
.panel-pad { padding: 24px; }
.sidebar-card { overflow: hidden; }
.media-card {
  min-height: 280px;
  display: grid;
  place-items: center;
  color: rgba(255,248,232,.72);
  text-align: center;
  background:
    radial-gradient(circle at 50% 0%, rgba(214,166,79,.20), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
}

.trust-card {
  min-height: 150px;
  padding: 26px;
}
.trust-card b {
  display: block;
  margin-bottom: 14px;
  color: var(--gold-light);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 42px;
}
.trust-card span { color: var(--muted); line-height: 1.6; }

.gallery-strip {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.gallery-item {
  min-height: 180px;
  display: grid;
  place-items: center;
  padding: 20px;
  color: var(--gold-light);
  text-align: center;
  background: radial-gradient(circle at 50% 0%, rgba(214,166,79,.12), transparent 38%), rgba(255,255,255,.035);
}
.gallery-item.tall { grid-row: span 2; min-height: 376px; }


/* =========================================================
   ARABIAN DAYS – PRÉMIUM ÁRMEGJELENÍTÉS
   Programkártyákhoz, CTA-t nem zavarja.
========================================================= */

.ad-program-price {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 5px;
  padding: 18px 20px;
  border: 1px solid rgba(199, 150, 61, 0.28);
  border-radius: 20px;
  background:
    radial-gradient(circle at 92% 0%, rgba(199, 150, 61, 0.14), transparent 34%),
    linear-gradient(145deg, rgba(255, 253, 248, 0.82), rgba(248, 237, 219, 0.58));
  box-shadow: 0 18px 46px rgba(82, 61, 29, 0.08);
}

.ad-program-price::before {
  content: "";
  width: 4px;
  align-self: stretch;
  border-radius: 999px;
  background: linear-gradient(180deg, #e6bd72, #c7963d);
}

.ad-program-price > div {
  display: grid;
  gap: 4px;
  flex: 1;
}

.ad-price-label {
  color: rgba(47, 38, 24, 0.58);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.ad-program-price strong {
  color: #2f2618;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1;
  font-weight: 600;
  letter-spacing: -0.04em;
}

.ad-program-price small {
  flex: 0 0 auto;
  padding: 8px 11px;
  border: 1px solid rgba(199, 150, 61, 0.22);
  border-radius: 999px;
  background: rgba(255, 253, 248, 0.68);
  color: rgba(47, 38, 24, 0.66);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

/* Kiegészítő / kisebb árakhoz */
.ad-program-price.is-compact {
  padding: 14px 16px;
  margin: 18px 0;
}

.ad-program-price.is-compact strong {
  font-size: clamp(24px, 2.4vw, 34px);
}

/* Csoportos árhoz */
.ad-program-price.is-group small {
  background: rgba(199, 150, 61, 0.12);
  color: #8a6328;
}

/* Mobil */
@media (max-width: 768px) {
  .ad-program-price {
    align-items: flex-start;
    flex-direction: column;
    gap: 12px;
    padding: 17px;
  }

  .ad-program-price::before {
    width: 48px;
    height: 4px;
    align-self: flex-start;
  }

  .ad-program-price small {
    white-space: normal;
  }
}


.footer {
  padding: 70px 0 24px;
  border-top: 1px solid rgba(255,223,154,.16);
  background: #030407;
}
.footer-links a { display: block; margin-bottom: 10px; color: var(--muted); }
.footer h4 { color: var(--gold-light); letter-spacing: .12em; text-transform: uppercase; }

/* =========================
   BLOG PAGE
========================= */

.blog-page {
  background:
    radial-gradient(circle at 80% 0%, rgba(214, 166, 79, 0.14), transparent 30%),
    radial-gradient(circle at 10% 16%, rgba(54, 96, 160, 0.13), transparent 30%),
    var(--night);
}

.blog-hero {
  position: relative;
  min-height: 1svh;
  padding: 22px 0 50px;
  overflow: hidden;
  isolation: isolate;
  border-bottom: 1px solid rgba(255,223,154,.14);
}

.blog-hero-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(5,6,11,.90), rgba(5,6,11,.58), rgba(5,6,11,.92)),
    radial-gradient(circle at 72% 36%, rgba(255,223,154,.20), transparent 22%),
    linear-gradient(135deg, #05060b, #15100a 58%, #05060b);
}

.blog-hero-bg::after {
  content: "";
  position: absolute;
  right: -8vw;
  bottom: -8vw;
  width: min(58vw, 780px);
  aspect-ratio: 1;
  border: 1px solid rgba(255,223,154,.16);
  border-radius: 50%;
  background:
    linear-gradient(90deg, transparent 0 14%, rgba(255,223,154,.10) 14% 15%, transparent 15% 28%, rgba(255,223,154,.15) 28% 29%, transparent 29% 42%, rgba(255,223,154,.09) 42% 43%, transparent 43%),
    radial-gradient(circle at 50% 50%, rgba(214,166,79,.16), transparent 62%);
  opacity: .72;
}

.blog-nav {
  position: fixed;
  top: auto;
  left: auto;
  transform: none;
  margin: 0 auto;
}

.blog-hero-content {
  position: relative;
  z-index: 2;
  padding-top: clamp(92px, 14vw, 160px);
}

.blog-hero-content h1 {
  margin: 0;
  max-width: 920px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(48px, 8vw, 104px);
  line-height: .96;
  font-weight: 500;
  letter-spacing: -.055em;
  text-wrap: balance;
}

.blog-strategy-strip { padding-top: 80px; }
.blog-pillars {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
}

.blog-pillar,
.featured-blog-card,
.blog-card,
.framework-list article,
.blog-cta {
  border: 1px solid var(--line);
  border-radius: 26px;
  background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  box-shadow: 0 24px 70px rgba(0,0,0,.22);
}

.blog-pillar {
  min-height: 220px;
  padding: 28px;
}
.blog-pillar span,
.framework-list span {
  display: inline-flex;
  margin-bottom: 22px;
  color: rgba(255,223,154,.64);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 42px;
}
.blog-pillar h2,
.framework-list h3 {
  margin: 0 0 12px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(27px, 3vw, 40px);
  line-height: 1.05;
  font-weight: 500;
}
.blog-pillar p,
.framework-list p { color: var(--muted); line-height: 1.7; }

.featured-blog-card {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  gap: 0;
  overflow: hidden;
}

.media-placeholder {
  position: relative;
  min-height: 320px;
  display: grid;
  place-items: center;
  padding: 28px;
  text-align: center;
  color: rgba(255,248,232,.70);
  background:
    radial-gradient(circle at 60% 25%, rgba(255,223,154,.22), transparent 26%),
    linear-gradient(145deg, rgba(214,166,79,.10), rgba(255,255,255,.025));
  overflow: hidden;
}
/* .media-placeholder::before {
  content: "";
  position: absolute;
  inset: 18px;
  border: 1px dashed rgba(255,223,154,.26);
  border-radius: 22px;
} */
.media-placeholder span { position: relative; z-index: 2; line-height: 1.6; }

.featured-content { padding: clamp(28px, 4vw, 54px); }
.article-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 18px;
}
.article-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid rgba(255,223,154,.16);
  border-radius: 999px;
  color: var(--gold-light);
  background: rgba(0,0,0,.16);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.featured-content h3,
.blog-card h3,
.blog-cta h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(32px, 4vw, 58px);
  line-height: 1.02;
  font-weight: 500;
  letter-spacing: -.04em;
}
.featured-content p { margin: 18px 0 0; color: var(--muted); line-height: 1.8; }
.featured-points { display: grid; gap: 10px; margin: 24px 0; }
.featured-points span { color: var(--deep); }
.featured-points i { margin-right: 8px; color: var(--gold-light); }

.blog-toolbar {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(280px,420px);
  gap: 28px;
  align-items: end;
  margin-bottom: 26px;
}
.blog-search {
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 18px;
  border: 1px solid rgba(255,223,154,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.045);
}
.blog-search i { color: var(--gold-light); }
.blog-search input {
  width: 100%;
  border: 0;
  outline: none;
  background: transparent;
  color: var(--text);
}
.blog-search input::placeholder { color: rgba(255,248,232,.44); }

.blog-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 28px;
}
.filter-btn {
  min-height: 42px;
  padding: 9px 15px;
  border: 1px solid rgba(255,223,154,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  color: rgba(255,248,232,.78);
  cursor: pointer;
  transition: .25s ease;
}
.filter-btn:hover,
.filter-btn.active {
  border-color: rgba(255,223,154,.42);
  background: rgba(214,166,79,.13);
  color: var(--gold-light);
  transform: translateY(-1px);
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
}
.blog-card {
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.blog-card-media { min-height: 210px; }
.blog-card-body {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.blog-card h3 {
  font-size: clamp(24px, 2.6vw, 34px);
  margin-bottom: 14px;
}
.blog-card p {
  color: var(--muted);
  line-height: 1.72;
  margin-bottom: 22px;
}
.blog-card .text-link { margin-top: auto; }
.blog-card.is-hidden { display: none; }
.empty-blog-state {
  display: none;
  margin-top: 24px;
  padding: 18px 20px;
  border: 1px solid var(--line);
  border-radius: 18px;
  color: var(--muted);
  background: rgba(255,255,255,.04);
}
.empty-blog-state.is-visible { display: block; }

.framework-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 42px;
  align-items: start;
}
.framework-grid > div:first-child p:not(.section-kicker) {
  margin-top: 22px;
  color: var(--muted);
  line-height: 1.8;
}
.framework-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 16px;
}
.framework-list article { padding: 24px; }
.framework-list span {
  margin-bottom: 16px;
  font-size: 14px;
  font-family: Arial, sans-serif;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.framework-list h3 { font-size: 28px; }

.blog-cta {
  padding: clamp(28px, 5vw, 56px);
  background:
    radial-gradient(circle at 88% 10%, rgba(255,223,154,.18), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,.065), rgba(255,255,255,.025));
}
.blog-cta p:not(.section-kicker) {
  max-width: 760px;
  margin-top: 18px;
  color: var(--muted);
  line-height: 1.8;
}

/* =========================
   BLOG RESPONSIVE
========================= */

@media (max-width: 1100px) {
  .blog-grid,
  .blog-pillars { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 930px) {
  .subhero .site-nav:not(:has(.nav-inner)) .nav-links {
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    display: none;
    flex-direction: column;
    align-items: stretch;
    padding: 12px;
    border: 1px solid rgba(255,223,154,.18);
    border-radius: 24px;
    background: rgba(5,6,10,.94);
    backdrop-filter: blur(18px);
  }
  .subhero .site-nav.menu-active .nav-links { display: flex; }
  .subhero .site-nav:not(:has(.nav-inner)) .nav-links a {
    padding: 14px;
    border-bottom: 1px solid rgba(255,223,154,.08);
  }
  .subhero .site-nav .nav-cta { display: none; }
  .menu-toggle { display: inline-flex; }

  .blog-toolbar,
  .featured-blog-card,
  .framework-grid,
  .content-grid,
  .split { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .blog-hero { min-height: auto; padding-bottom: 72px; }
  .blog-hero-content { padding-top: 76px; }
  .blog-hero-content h1 { font-size: clamp(40px, 11vw, 64px); }
  .blog-pillars,
  .blog-grid,
  .framework-list,
  .gallery-strip { grid-template-columns: 1fr; }
  .blog-card-media,
  .featured-media { min-height: 230px; }
  .featured-content,
  .blog-card-body { padding: 22px; }
  .blog-search { border-radius: 18px; }
}

@media (max-width: 430px) {
  .blog-hero-content h1 { font-size: 38px; }
  .blog-filters { gap: 8px; }
  .filter-btn { font-size: 12px; padding-inline: 12px; }
  .article-meta span { font-size: 10px; }
}


/* =========================================================
   ARABIAN DAYS – RESPONSIVE MEDIA INTEGRATION
   Statikai/media bővítés. A scroll és betöltési animációkhoz nem nyúl.
========================================================= */

.hero-bg {
  background:
    linear-gradient(to bottom, rgba(255, 250, 241, 0.60), rgba(248, 236, 217, 0.84)),
    url("./assets/media/hero-dubai-skyline.webp") center center / cover no-repeat;
  filter: saturate(1.04) brightness(0.88) contrast(1.04);
}

.hero-bg::after {
  background:
    radial-gradient(circle at 64% 40%, rgba(231, 191, 114, 0.22), transparent 22%),
    linear-gradient(to right, rgba(255,250,241,0.82), rgba(255,250,241,0.34), rgba(255,250,241,0.70));
}

.media-click {
  appearance: none;
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: zoom-in;
}

.media-click img,
.image-card img,
.card-photo img,
.package-media img,
.media-strip-item img,
.service-media-card img,
.gallery-item img,
.trust-media img,
.media-placeholder img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.card-photo,
.package-media,
.trust-media,
.service-media-card,
.media-strip-item,
.image-card,
.gallery-item.media-click,
.media-placeholder.media-click {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(199, 150, 61, 0.22);
  border-radius: 20px;
  background: rgba(255, 250, 241, 0.70);
  box-shadow: 0 18px 44px rgba(75, 54, 24, 0.08);
}

.card-photo::after,
.package-media::after,
.trust-media::after,
.service-media-card::after,
.media-strip-item::after,
.image-card::after,
.gallery-item.media-click::after,
.media-placeholder.media-click::after {
  content: "Megnyitás";
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 2;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255, 250, 241, 0.82);
  color: #8a6328;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .22s ease, transform .22s ease;
}

.card-photo:hover::after,
.package-media:hover::after,
.trust-media:hover::after,
.service-media-card:hover::after,
.media-strip-item:hover::after,
.image-card:hover::after,
.gallery-item.media-click:hover::after,
.media-placeholder.media-click:hover::after {
  opacity: 1;
  transform: translateY(0);
}

.card-photo {
  height: 138px;
  margin-bottom: 20px;
  border-radius: 18px;
}

.package-media {
  height: 160px;
  margin-bottom: 24px;
}

.media-strip {
  display: grid;
  grid-template-columns: 1.4fr .8fr .8fr;
  gap: 18px;
  margin-top: 44px;
}

.media-strip-item {
  min-height: 230px;
}

.media-strip-item.wide {
  min-height: 300px;
}

.media-strip-item span,
.service-media-card span,
.image-card span,
.gallery-item.media-click span,
.trust-media span,
.media-placeholder.media-click span {
  position: absolute;
  left: 14px;
  bottom: 14px;
  z-index: 2;
  max-width: calc(100% - 28px);
  padding: 8px 11px;
  border-radius: 999px;
  background: rgba(43, 35, 23, 0.58);
  color: #fffaf1;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .05em;
  backdrop-filter: blur(10px);
}

/* .media-strip-item::before,
.service-media-card::before,
.image-card::before,
.gallery-item.media-click::before,
.trust-media::before,
.media-placeholder.media-click::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(to top, rgba(43,35,23,.44), transparent 58%);
  pointer-events: none;
} */

.trust-media {
  min-height: 210px;
  margin-bottom: 4px;
}

.service-media-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
  margin-top: 36px;
}

.service-media-card {
  min-height: 220px;
}

.image-card {
  min-height: 280px;
}

.media-card.image-card {
  padding: 0;
  display: block;
  color: inherit;
}

.media-card.image-card span {
  color: #fffaf1;
}

.media-gallery .gallery-item {
  padding: 0;
}

.gallery-item.media-click {
  min-height: 180px;
}

.gallery-item.tall.media-click {
  min-height: 376px;
}

.media-placeholder.media-click {
  padding: 0;
  min-height: 320px;
}

.blog-card-media.media-placeholder.media-click {
  min-height: 210px;
}

.media-placeholder.media-click::before {
  border: 0;
}

.media-placeholder.media-click > span {
  color: #fffaf1;
}

.featured-media.media-placeholder.media-click {
  min-height: 100%;
  border-radius: 0;
  border: 0;
}

body.lightbox-open {
  overflow: hidden;
}

.media-lightbox-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(20, 14, 5, 0.72);
  backdrop-filter: blur(14px);
  opacity: 0;
  visibility: hidden;
  transition: opacity .22s ease, visibility .22s ease;
}

.media-lightbox-overlay.is-open {
  opacity: 1;
  visibility: visible;
}

.media-lightbox {
  position: relative;
  width: min(1120px, 100%);
  max-height: min(86vh, 860px);
  padding: 14px;
  border: 1px solid rgba(231, 191, 114, .34);
  border-radius: 24px;
  background: #fffaf1;
  box-shadow: 0 34px 110px rgba(0,0,0,.34);
}

.media-lightbox img {
  width: 100%;
  max-height: calc(86vh - 90px);
  object-fit: contain;
  border-radius: 16px;
  background: #f8ecd9;
}

.media-lightbox p {
  margin: 12px 48px 0 4px;
  color: #2b2317;
  font-size: 14px;
  line-height: 1.5;
}

.media-lightbox-close {
  position: absolute;
  right: 16px;
  top: 16px;
  z-index: 2;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(199,150,61,.32);
  border-radius: 999px;
  background: rgba(255,250,241,.92);
  color: #2b2317;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

@media (max-width: 1048px) {
  .media-strip {
    grid-template-columns: 1fr 1fr;
  }

  .media-strip-item.wide {
    grid-column: 1 / -1;
    min-height: 260px;
  }

  .service-media-grid {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .card-photo {
    height: 130px;
  }

  .package-media {
    height: 150px;
  }
}

@media (max-width: 768px) {
  .media-strip,
  .service-media-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .media-strip-item,
  .media-strip-item.wide,
  .service-media-card {
    min-height: 210px;
  }

  .card-photo {
    height: 180px;
  }

  .package-media {
    height: 190px;
  }

  .image-card,
  .media-card.image-card {
    min-height: 230px;
  }

  .gallery-item.tall.media-click {
    min-height: 260px;
  }

  .featured-media.media-placeholder.media-click {
    min-height: 230px;
  }

  .media-lightbox-overlay {
    padding: 14px;
  }

  .media-lightbox {
    padding: 10px;
    border-radius: 18px;
  }
}

@media (max-width: 430px) {
  .hero-bg {
    background-position: 58% center;
    filter: saturate(1.02) brightness(0.82) contrast(1.02);
  }

  .card-photo,
  .package-media,
  .media-strip-item,
  .media-strip-item.wide,
  .service-media-card,
  .image-card,
  .media-card.image-card,
  .blog-card-media.media-placeholder.media-click {
    height: auto;
    min-height: 190px;
    max-height: 260px;
  }

  .trust-media {
    min-height: 180px;
  }

  .media-click::after {
    display: none;
  }

  .media-strip-item span,
  .service-media-card span,
  .image-card span,
  .gallery-item.media-click span,
  .trust-media span,
  .media-placeholder.media-click span {
    left: 10px;
    bottom: 10px;
    max-width: calc(100% - 20px);
    font-size: 11px;
  }
}

@media (max-width: 390px) {
  .card-photo,
  .package-media,
  .media-strip-item,
  .media-strip-item.wide,
  .service-media-card,
  .image-card,
  .media-card.image-card,
  .blog-card-media.media-placeholder.media-click {
    min-height: 168px;
  }

  .media-lightbox p {
    margin-right: 0;
    font-size: 12px;
  }
}


/* =========================================================
   FINAL PREMIUM LIGHT SYSTEM – FEHÉR / HOMOK / ARANY
   Felülírja a sötét alapot, de nem módosít scroll- és JS-mechanikát.
========================================================= */
:root {
  --night: #fffaf3;
  --night-soft: #f8eddb;
  --deep: #352817;
  --gold: #c7963d;
  --gold-light: #e6bd72;
  --sand: #ead3a6;
  --sand-soft: #f5e6cb;
  --white: #fffdf8;
  --text: #2f2618;
  --muted: rgba(47, 38, 24, 0.72);
  --line: rgba(199, 150, 61, 0.24);
  --glass: rgba(255, 253, 248, 0.78);
}

html, body { background: #fffaf3; color: var(--text); }
body { color: var(--text) !important; background: #fffaf3 !important; }
body::selection { background: var(--gold); color: #fffaf3; }

/* HERO – háttérkép láthatóbb, de a tartalom még olvasható */
.scroll-showcase { background: linear-gradient(180deg, #fffaf3 0%, #f8eddb 100%) !important; }
.scroll-showcase::before {
  background: linear-gradient(to bottom, rgba(255,250,243,0.03), rgba(248,237,219,0.26)) !important;
}
.hero-bg {
  background:
    linear-gradient(to bottom, rgba(255,250,243,0.12), rgba(248,237,219,0.14)),
    url("./assets/media/hero-dubai-skyline.webp") center center / cover no-repeat !important;
  filter: saturate(1.08) brightness(0.98) contrast(1.02) !important;
}
.hero-bg::after {
  background:
    radial-gradient(circle at 66% 38%, rgba(231,191,114,0.16), transparent 24%),
    linear-gradient(to right, rgba(255,250,243,0.66), rgba(255,250,243,0.22), rgba(255,250,243,0.50)) !important;
}

.hero-content,
.card,
.hero-proof div,
.hero-model-badge,
.nav-inner,
.subhero .site-nav:not(:has(.nav-inner)),
.intro-text,
.experience-card,
.package-card,
.process-item,
.trust-panel,
.trust-panel div,
.lead-form,
.faq-grid details,
.rich-text,
.panel,
.sidebar-card,
.trust-card,
.media-card,
.gallery-item,
.blog-pillar,
.featured-blog-card,
.blog-card,
.framework-list article,
.blog-cta,
.empty-blog-state,
.service-card,
.program-detail,
.form-wrap,
.contact-form,
.feature,
.contact-direct-card,
.route-card,
.program-summary-card,
.service-process-card,
.service-proof-card,
.service-value-panel,
.program-compare-panel,
.contact-promise-panel,
.legal-content {
  border-color: rgba(199,150,61,0.24) !important;
  background: linear-gradient(145deg, rgba(255,253,248,0.92), rgba(248,237,219,0.68)) !important;
  color: var(--text) !important;
  box-shadow: 0 24px 70px rgba(82,61,29,0.10) !important;
}

.hero-content {
  background: linear-gradient(135deg, rgba(255,253,248,0.88), rgba(248,237,219,0.66)) !important;
  backdrop-filter: blur(13px);
}
.card {
  background: linear-gradient(145deg, rgba(255,253,248,0.88), rgba(244,226,190,0.76)) !important;
  backdrop-filter: blur(14px);
}

.model-orbit {
  border-color: rgba(199,150,61,0.22) !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(231,191,114,0.18), transparent 34%),
    radial-gradient(circle at 50% 50%, rgba(255,253,248,0.42), transparent 58%) !important;
  box-shadow: inset 0 0 90px rgba(199,150,61,0.10), 0 0 140px rgba(199,150,61,0.15) !important;
}
.model-orbit::before, .model-orbit::after { border-color: rgba(199,150,61,0.15) !important; }
.model-floor-glow { background: radial-gradient(ellipse at center, rgba(231,191,114,0.28), rgba(199,150,61,0.13) 38%, transparent 70%) !important; }
.hero-model-badge { background: rgba(255,253,248,0.72) !important; }

/* Szövegek */
.hero-content h1,
.card h2,
.section-head h2,
.intro-grid h2,
.trust-grid h2,
.contact-grid h2,
.experience-card h3,
.package-card h3,
.process-item h3,
.faq-grid summary,
.subhero h1,
.rich-text h2,
.split h2,
.blog-hero-content h1,
.blog-pillar h2,
.framework-list h3,
.featured-content h3,
.blog-card h3,
.blog-cta h2,
.logo,
.legal-content h2,
.form-info h2,
.program-detail h3,
.service-card h3,
.contact-direct-card h3,
.route-card h3,
.program-summary-card h3,
.service-process-card h3,
.service-proof-card h3,
.service-value-panel h3,
.program-compare-panel h3,
.contact-promise-panel h3,
.kicker + h2,
.section > .container > h2 {
  color: #2f2618 !important;
}
.hero-lead,
.card p,
.hero-proof span,
.section-head p,
.intro-text p,
.trust-grid p,
.contact-grid p,
.experience-card p,
.package-card p,
.process-item p,
.trust-panel span,
.faq-grid p,
.contact-highlights span,
.footer-brand p,
.site-footer p,
.form-note,
.form-small,
.rich-text p,
.trust-card span,
.blog-pillar p,
.framework-list p,
.featured-content p,
.blog-card p,
.blog-cta p:not(.section-kicker),
.footer-links a,
.site-footer a,
.media-card,
.media-placeholder,
.legal-content p,
.legal-content li,
.service-card p,
.service-card li,
.program-detail p,
.program-detail li,
.feature span,
.route-card p,
.program-summary-card p,
.service-process-card p,
.service-proof-card p,
.service-value-panel p,
.program-compare-panel p,
.contact-promise-panel p {
  color: rgba(47,38,24,0.72) !important;
}
.eyebrow,
.section-kicker,
.card-tag,
.package-top,
.card-icon,
.text-link,
.process-item span,
.trust-panel strong,
.contact-highlights i,
.site-footer h3,
.footer h4,
.breadcrumb,
.blog-search i,
.featured-points i,
.nav-links a.active,
.kicker,
.price b,
.hero-model-badge strong,
.hero-proof strong,
.logo-mark,
.feature i,
.form-info .kicker {
  color: var(--gold) !important;
}

/* Navigáció */
.nav-inner,
.subhero .site-nav:not(:has(.nav-inner)) {
  background: rgba(255,253,248,0.82) !important;
  border-color: rgba(199,150,61,0.28) !important;
  box-shadow: 0 20px 60px rgba(82,61,29,0.12) !important;
}
.nav-links a { color: rgba(47,38,24,0.78) !important; }
.nav-links a:hover { color: var(--gold) !important; }
.nav-links a::after { background: linear-gradient(90deg, var(--gold), var(--gold-light)) !important; }
.nav-toggle, .menu-toggle {
  border-color: rgba(199,150,61,0.28) !important;
  background: rgba(255,253,248,0.62) !important;
  color: var(--gold) !important;
}
.nav-toggle span, .menu-toggle span, .menu-toggle span::before, .menu-toggle span::after { background: var(--gold) !important; }
.nav-cta, .btn-primary {
  background: linear-gradient(135deg, #b88028, #e6bd72, #c7963d) !important;
  color: #fffdf8 !important;
  box-shadow: 0px 18px 44px rgba(199,150,61,0.28) !important;
}
.btn-secondary, .btn:not(.btn-primary) {
  border-color: rgba(199,150,61,0.36) !important;
  background: rgba(255,253,248,0.72) !important;
  color: #2f2618 !important;
}

/* Szekciók */
.section {
  background:
    radial-gradient(circle at 12% 10%, rgba(199,150,61,0.10), transparent 26%),
    radial-gradient(circle at 88% 20%, rgba(234,211,166,0.34), transparent 30%),
    #fffaf3 !important;
}
.section:nth-of-type(even),
.blend-stack {
  background:
    radial-gradient(circle at 78% 20%, rgba(199,150,61,0.08), transparent 26%),
    linear-gradient(to bottom, #fffaf3, #f8eddb) !important;
}
.subhero,
header.subhero[style],
.blog-hero,
.blog-hero-bg,
.blog-page {
  background:
    radial-gradient(circle at 76% 18%, rgba(199,150,61,0.16), transparent 30%),
    radial-gradient(circle at 12% 80%, rgba(234,211,166,0.38), transparent 34%),
    linear-gradient(135deg, #fffaf3, #f8eddb) !important;
  border-bottom-color: rgba(199,150,61,0.22) !important;
}
.blog-hero-bg::after { border-color: rgba(199,150,61,0.18) !important; }
.site-footer,
.footer {
  border-top-color: rgba(199,150,61,0.20) !important;
  background:
    radial-gradient(circle at 20% 0%, rgba(199,150,61,0.10), transparent 30%),
    #f8eddb !important;
}
.footer-bottom { border-top-color: rgba(199,150,61,0.16) !important; }
.socials a { border-color: rgba(199,150,61,0.28) !important; color: var(--gold) !important; background: rgba(255,253,248,0.62) !important; }

/* Formok */
.lead-form input,
.lead-form select,
.lead-form textarea,
.contact-form input,
.contact-form select,
.contact-form textarea,
.field input,
.field select,
.field textarea,
.blog-search,
.article-meta span,
.filter-btn {
  border-color: rgba(199,150,61,0.24) !important;
  background: rgba(255,253,248,0.74) !important;
  color: #2f2618 !important;
}
.lead-form input::placeholder,
.lead-form textarea::placeholder,
.contact-form input::placeholder,
.contact-form textarea::placeholder,
.field input::placeholder,
.field textarea::placeholder,
.blog-search input::placeholder {
  color: rgba(47,38,24,0.42) !important;
}
.filter-btn:hover, .filter-btn.active,
.experience-card:hover {
  border-color: rgba(199,150,61,0.46) !important;
  background: linear-gradient(145deg, rgba(255,253,248,0.96), rgba(234,211,166,0.48)) !important;
  color: var(--gold) !important;
}

/* Média feliratok maradjanak kontrasztosak */
.media-strip-item span,
.service-media-card span,
.image-card span,
.gallery-item.media-click span,
.trust-media span,
.media-placeholder.media-click span {
  background: rgba(47,38,24,0.62) !important;
  color: #fffdf8 !important;
}
.media-lightbox { background: #fffaf3 !important; }
.media-lightbox img { background: #f8eddb !important; }
.media-lightbox p { color: #2f2618 !important; }

/* =========================================================
   KIDOLGOZOTT ALOLDALAK – SZOLGÁLTATÁSOK / PROGRAMOK / KAPCSOLAT
========================================================= */
.service-grid,
.program-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 16px;
}
.service-card,
.program-detail {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 26px;
}
.service-card { padding: 28px; min-height: 280px; }
.service-card h3 { margin: 0 0 14px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(26px, 2.5vw, 36px); line-height: 1.05; font-weight: 500; }
.service-card p { margin: 0 0 20px; line-height: 1.75; }
.service-card ul, .program-detail ul { display: grid; gap: 10px; padding: 0; margin: 20px 0 0; list-style: none; }
.service-card li, .program-detail li { position: relative; padding-left: 22px; line-height: 1.55; }
.service-card li::before, .program-detail li::before { content: "✓"; position: absolute; left: 0; color: var(--gold); font-weight: 900; }

.service-card::after,
.service-value-panel::after,
.contact-promise-panel::after {
  content: "";
  position: absolute;
  right: -70px;
  top: -70px;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(199,150,61,.16), transparent 70%);
  pointer-events: none;
}
.service-value-panel,
.program-compare-panel,
.contact-promise-panel {
  position: relative;
  overflow: hidden;
  padding: clamp(26px, 4vw, 46px);
  border: 1px solid var(--line);
  border-radius: 28px;
}
.service-process-grid,
.program-summary-grid,
.contact-direct-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 36px;
}
.service-process-card,
.program-summary-card,
.contact-direct-card,
.route-card {
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 24px;
}
.service-process-card span,
.program-summary-card span,
.route-card span {
  display: inline-flex;
  margin-bottom: 18px;
  color: var(--gold);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 36px;
}

.program-detail {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  grid-column: span 3;
  align-items: stretch;
}
.program-detail:nth-child(even) .image-card { order: 2; }
.program-detail .image-card { min-height: 360px; border-radius: 0; border: 0; }
.program-detail .panel-pad { padding: clamp(26px, 4vw, 44px); }
.program-detail h3 { margin: 0 0 14px; font-family: Georgia, "Times New Roman", serif; font-size: clamp(30px, 4vw, 54px); line-height: 1.02; font-weight: 500; }
.price { display: flex; align-items: baseline; gap: 8px; margin: 20px 0 8px; }
.price b { font-size: clamp(28px, 3vw, 42px); font-family: Georgia, "Times New Roman", serif; }
.price span { color: var(--muted); }

.form-wrap {
  display: grid;
  grid-template-columns: .88fr 1.12fr;
  gap: 28px;
  align-items: stretch;
  padding: clamp(22px, 4vw, 34px);
  border: 1px solid var(--line);
  border-radius: 30px;
}
.form-info { padding: clamp(12px, 2vw, 18px); }
.form-info h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(34px, 4.5vw, 62px); line-height: 1.02; font-weight: 500; }
.feature-list { display: grid; gap: 14px; margin-top: 28px; }
.feature { display: flex; gap: 14px; align-items: flex-start; padding: 16px; border: 1px solid var(--line); border-radius: 18px; }
.feature i { width: 42px; height: 42px; flex: 0 0 42px; display: grid; place-items: center; border-radius: 14px; background: rgba(199,150,61,.13); font-style: normal; font-weight: 900; }
.feature strong, .feature span { display: block; }
.feature strong { margin-bottom: 4px; color: #2f2618; }
.contact-form { padding: clamp(22px, 3vw, 32px); border: 1px solid var(--line); border-radius: 26px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.field { display: grid; gap: 8px; color: rgba(47,38,24,.82); font-weight: 800; font-size: 14px; }
.field.full { grid-column: 1 / -1; }
.field input, .field select, .field textarea { width: 100%; min-height: 52px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 15px; outline: none; }
.field textarea { min-height: 140px; resize: vertical; }
.form-small { margin: 16px 0; font-size: 12px; line-height: 1.55; }
.form-status { margin-top: 14px; color: var(--gold); font-weight: 800; }

.contact-direct-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.contact-direct-card h3 { margin: 0 0 10px; font-family: Georgia, "Times New Roman", serif; font-size: 30px; font-weight: 500; }
.contact-direct-card p { margin: 0; line-height: 1.7; }

@media (max-width: 1048px) {
  .service-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .program-detail { grid-template-columns: 1fr; grid-column: span 3; }
  .program-detail:nth-child(even) .image-card { order: 0; }
  .program-detail .image-card { min-height: 300px; }
  .service-process-grid, .program-summary-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .form-wrap { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .service-grid, .program-detail-grid, .contact-direct-grid { grid-template-columns: 1fr; }
  .program-detail { grid-column: auto; }
  .service-card, .program-detail .panel-pad, .contact-form { padding: 22px; }
  .form-grid { grid-template-columns: 1fr; }
  .service-process-grid, .program-summary-grid { grid-template-columns: 1fr; }
  .program-detail .image-card { min-height: 230px; }
  .form-wrap { padding: 18px; border-radius: 24px; }
}
@media (max-width: 430px) {
  .service-card h3 { font-size: 25px; }
  .program-detail h3 { font-size: 31px; }
  .price b { font-size: 28px; }
  .feature { padding: 14px; }
}


/* =========================================================
   MAARTEN FIX – MOBIL OVERFLOW + LOGÓ + TÖBBKÉPES MÉDIARENDSZER
   Nem módosítja a dizájn szerkezetét, csak stabilizál és bővít.
========================================================= */

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
}

@supports (overflow: clip) {
  html,
  body {
    overflow-x: clip !important;
  }
}

body {
  position: relative;
  min-width: 0;
}

.page-shell,
.scroll-showcase,
.scene-sticky,
.subhero,
.blog-hero,
main,
.section,
.site-footer,
.footer {
  max-width: 100%;
  overflow-x: clip;
}

.container,
.nav-inner,
.site-nav,
.footer-grid,
.blog-grid,
.experience-grid,
.package-grid,
.process-grid,
.service-grid,
.program-detail-grid,
.program-summary-grid,
.contact-grid,
.content-grid,
.split,
.framework-grid,
.service-process-grid,
.contact-direct-grid {
  min-width: 0;
}

img,
video,
canvas,
svg {
  max-width: 100%;
}

#bg-canvas {
  max-width: 100vw !important;
}

.hero-bg,
.hero-model-stage,
.model-orbit,
.model-floor-glow,
.blog-hero-bg,
.blog-hero-bg::after {
  max-width: 100vw;
}

.logo.logo-image-link,
.brand.logo-image-link,
.logo-image-link {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  flex: 0 0 auto;
  width: auto;
  min-width: 0;
  max-width: 172px;
  gap: 0;
}

.logo-image-link .brand-img,
.logo .brand-img,
.brand .brand-img,
.footer-brand img {
  width: clamp(104px, 12vw, 152px);
  max-width: 100%;
  height: auto;
  max-height: 94px;
  object-fit: contain;
  display: block;
}

.footer .logo-image-link .brand-img {
  width: clamp(128px, 14vw, 176px);
  max-height: 70px;
}

.legal-footer-grid {
  margin-bottom: 28px;
}

.media-carousel-target {
  position: relative;
  isolation: isolate;
  touch-action: pan-y;
}

.media-carousel-target img,
.media-carousel-target video {
  transition: opacity .28s ease, transform .38s ease;
}

.media-carousel-target.is-changing img,
.media-carousel-target.is-changing video {
  opacity: .72;
  transform: scale(1.018);
}

.media-carousel-target video.media-carousel-video {
  width: 100%;
  height: 100%;
  display: none;
  object-fit: cover;
  object-position: center;
}

.media-carousel-target.has-media-carousel::after {
  content: "Lapozható";
}

.media-carousel-controls {
  position: absolute;
  left: 12px;
  right: 12px;
  top: 50%;
  z-index: 5;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transform: translateY(-50%);
  pointer-events: none;
}

.media-carousel-arrow {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(199, 150, 61, .34);
  border-radius: 999px;
  background: rgba(255, 250, 243, .86);
  color: #8a6328;
  font-size: 24px;
  line-height: 1;
  font-weight: 800;
  box-shadow: 0 14px 34px rgba(82, 61, 29, .14);
  cursor: pointer;
  pointer-events: auto;
  user-select: none;
  opacity: .86;
  transition: opacity .22s ease, transform .22s ease, background .22s ease;
}

.media-carousel-arrow:hover {
  opacity: 1;
  transform: scale(1.05);
  background: rgba(255, 250, 243, .96);
}

.media-carousel-dots {
  position: absolute;
  left: 50%;
  bottom: 12px;
  z-index: 5;
  display: flex;
  gap: 6px;
  transform: translateX(-50%);
  pointer-events: auto;
}

.media-carousel-dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(255, 250, 243, .62);
  border: 1px solid rgba(199, 150, 61, .42);
  cursor: pointer;
  transition: width .22s ease, background .22s ease;
}

.media-carousel-dot.is-active {
  width: 20px;
  background: var(--gold);
}

.media-lightbox video {
  width: 100%;
  max-height: calc(86vh - 90px);
  display: none;
  object-fit: contain;
  border-radius: 16px;
  background: #f8ecd9;
}

@media (max-width: 930px) {
  .site-nav,
  .subhero .site-nav,
  .blog-nav {
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
  }

  .subhero .site-nav:not(:has(.nav-inner)),
  .nav-inner {
    max-width: calc(100vw - 20px) !important;
  }

  .nav-links {
    max-width: 100%;
    overflow-x: clip;
  }

  .logo-image-link .brand-img,
  .logo .brand-img,
  .brand .brand-img {
    width: 68px;
  }
}

@media (max-width: 768px) {
  .container {
    width: min(100% - 28px, var(--container));
    max-width: calc(100vw - 28px);
  }

  .hero-content,
  .card,
  .rich-text,
  .panel,
  .lead-form,
  .contact-form,
  .program-detail,
  .service-card,
  .blog-card,
  .featured-blog-card {
    max-width: 100%;
  }

  .media-carousel-arrow {
    width: 34px;
    height: 34px;
    font-size: 21px;
  }
}

@media (max-width: 430px) {
  .site-nav,
  .subhero .site-nav,
  .blog-nav {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
  }

  .subhero .site-nav:not(:has(.nav-inner)),
  .nav-inner {
    max-width: calc(100vw - 16px) !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .container {
    width: calc(100vw - 24px);
    max-width: calc(100vw - 24px);
  }

  .media-carousel-controls {
    left: 8px;
    right: 8px;
  }

  .media-carousel-dots {
    bottom: 8px;
  }
}

/* =========================================================
   MAARTEN FIX – STABIL MOBIL HAMBURGER MENÜ
   Csak a mobil navigáció működését és olvashatóságát javítja.
========================================================= */

body.menu-open {
  overflow: hidden !important;
  overscroll-behavior: contain;
}

body.menu-open::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 1980;
  pointer-events: none;
}

.site-nav,
.blog-nav,
.subhero .site-nav {
  z-index: 2000 !important;
}

.nav-toggle,
.menu-toggle {
  position: relative;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}

.nav-toggle span,
.menu-toggle span,
.menu-toggle span::before,
.menu-toggle span::after {
  transition:
    transform .22s ease,
    opacity .18s ease,
    top .22s ease,
    background .22s ease;
}

.nav-inner.is-open .nav-toggle span:nth-child(1),
.nav-toggle.is-active span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.nav-inner.is-open .nav-toggle span:nth-child(2),
.nav-toggle.is-active span:nth-child(2) {
  opacity: 0;
}

.nav-inner.is-open .nav-toggle span:nth-child(3),
.nav-toggle.is-active span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

.site-nav.menu-active .menu-toggle span,
.menu-toggle.is-active span {
  transform: rotate(45deg);
}

.site-nav.menu-active .menu-toggle span::before,
.menu-toggle.is-active span::before {
  top: 0;
  transform: rotate(90deg);
}

.site-nav.menu-active .menu-toggle span::after,
.menu-toggle.is-active span::after {
  top: 0;
  opacity: 0;
}

.mobile-menu-cta {
  display: none;
}

@media (max-width: 930px) {
  .nav-toggle,
  .menu-toggle {
    display: inline-flex !important;
    width: 46px !important;
    height: 46px !important;
    margin-left: auto !important;
    border-radius: 999px !important;
    border: 1px solid rgba(199, 150, 61, 0.34) !important;
    background: rgba(255, 253, 248, 0.92) !important;
    box-shadow: 0 10px 26px rgba(82, 61, 29, 0.10) !important;
  }

  .nav-inner,
  .subhero .site-nav:not(:has(.nav-inner)) {
    position: relative !important;
    overflow: visible !important;
  }

  .nav-inner {
    width: 100% !important;
  }

  .site-nav .nav-links,
  .blog-nav .nav-links,
  .subhero .site-nav .nav-links,
  .subhero .site-nav:not(:has(.nav-inner)) .nav-links {
    position: absolute !important;
    top: calc(100% + 12px) !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 2010 !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: calc(100svh - 112px) !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    margin: 0 !important;
    padding: 10px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    border: 1px solid rgba(199, 150, 61, 0.30) !important;
    border-radius: 24px !important;
    background:
      radial-gradient(circle at 88% 0%, rgba(230, 189, 114, 0.18), transparent 34%),
      linear-gradient(145deg, rgba(255, 253, 248, 0.98), rgba(248, 237, 219, 0.96)) !important;
    box-shadow: 0 26px 74px rgba(82, 61, 29, 0.18) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-overflow-scrolling: touch;
  }

  .nav-inner.is-open .nav-links,
  .site-nav.menu-active > .nav-links,
  .subhero .site-nav.menu-active .nav-links {
    display: flex !important;
    animation: mobileMenuIn .22s ease both;
  }

  .site-nav .nav-links a,
  .blog-nav .nav-links a,
  .subhero .site-nav .nav-links a,
  .mobile-menu-cta {
    min-height: 50px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    padding: 14px 16px !important;
    border-bottom: 1px solid rgba(199, 150, 61, 0.14) !important;
    border-radius: 0 !important;
    color: rgba(47, 38, 24, 0.84) !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    line-height: 1.25 !important;
    text-transform: uppercase !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .site-nav .nav-links a::after,
  .blog-nav .nav-links a::after,
  .subhero .site-nav .nav-links a::after {
    display: none !important;
  }

  .site-nav .nav-links a:last-child,
  .blog-nav .nav-links a:last-child,
  .subhero .site-nav .nav-links a:last-child {
    border-bottom: 0 !important;
  }

  .site-nav .nav-links a:hover,
  .site-nav .nav-links a:focus-visible,
  .site-nav .nav-links a.active,
  .blog-nav .nav-links a:hover,
  .blog-nav .nav-links a:focus-visible,
  .blog-nav .nav-links a.active,
  .subhero .site-nav .nav-links a:hover,
  .subhero .site-nav .nav-links a:focus-visible,
  .subhero .site-nav .nav-links a.active {
    color: #8a6328 !important;
    background: rgba(199, 150, 61, 0.12) !important;
    border-radius: 16px !important;
  }

  .mobile-menu-cta {
    margin-top: 10px !important;
    justify-content: center !important;
    border-bottom: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #b88028, #e6bd72, #c7963d) !important;
    color: #fffdf8 !important;
    box-shadow: 0 16px 34px rgba(199, 150, 61, 0.24) !important;
    text-align: center !important;
  }

  .site-nav .nav-cta,
  .blog-nav .nav-cta,
  .subhero .site-nav .nav-cta {
    display: none !important;
  }

  .brand,
  .logo,
  .logo-image-link {
    min-width: 0 !important;
    max-width: calc(100% - 60px) !important;
  }

  .brand img,
  .brand-img,
  .logo-image-link img,
  .logo .brand-img {
    max-width: 126px !important;
    height: auto !important;
  }
}

@media (max-width: 430px) {
  .site-nav .nav-links,
  .blog-nav .nav-links,
  .subhero .site-nav .nav-links,
  .subhero .site-nav:not(:has(.nav-inner)) .nav-links {
    top: calc(100% + 10px) !important;
    max-height: calc(100svh - 96px) !important;
    padding: 8px !important;
    border-radius: 20px !important;
  }

  .site-nav .nav-links a,
  .blog-nav .nav-links a,
  .subhero .site-nav .nav-links a,
  .mobile-menu-cta {
    min-height: 48px !important;
    padding: 13px 14px !important;
    font-size: 12px !important;
  }

  .nav-toggle,
  .menu-toggle {
    width: 44px !important;
    height: 44px !important;
  }

  .brand img,
  .brand-img,
  .logo-image-link img,
  .logo .brand-img {
    max-width: 112px !important;
  }
}

@keyframes mobileMenuIn {
  from {
    opacity: 0;
    transform: translateY(-8px) scale(.985);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Fallback azokhoz a böngészőkhöz, ahol a :has() nem megbízható. */
@media (max-width: 930px) {
  .subhero .site-nav.nav-direct,
  .site-nav.nav-direct {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    overflow: visible !important;
  }

  .site-nav.nav-direct .nav-links {
    position: absolute !important;
    top: calc(100% + 12px) !important;
    left: 0 !important;
    right: 0 !important;
    display: none !important;
  }

  .site-nav.nav-direct.menu-active .nav-links {
    display: flex !important;
  }
}


/* =========================================================
   SAFE MOBILE OVERFLOW FIX
   Cél: mobilon ne legyen vízszintes csúszás,
   de a 3D hero / sticky scroll rendszerhez nem nyúlunk.
========================================================= */

html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

@supports not (overflow-x: clip) {
  html,
  body {
    overflow-x: hidden;
  }
}

body {
  position: relative;
}

/* FONTOS:
   A .scroll-showcase és .scene-sticky NINCS itt,
   mert ezek vezérlik a 3D scroll animációt.
*/

.page-shell,
main,
footer,
.blog-page {
  max-width: 100%;
  overflow-x: clip;
}

img,
video,
svg {
  max-width: 100%;
  height: auto;
}

/* A canvas-t nem piszkáljuk túl, mert a 3D modell ettől csúszhat */
canvas {
  max-width: 100%;
}

/* Grid / flex elemek ne tolják szét mobilon az oldalt */
.intro-grid,
.experience-grid,
.package-grid,
.process-grid,
.trust-grid,
.contact-grid,
.footer-grid,
.blog-grid,
.blog-pillars,
.framework-grid,
.content-grid,
.split,
.program-detail-grid,
.program-summary-grid,
.service-grid,
.service-media-grid,
.service-process-grid,
.contact-direct-grid {
  min-width: 0;
}

.intro-grid > *,
.experience-grid > *,
.package-grid > *,
.process-grid > *,
.trust-grid > *,
.contact-grid > *,
.footer-grid > *,
.blog-grid > *,
.blog-pillars > *,
.framework-grid > *,
.content-grid > *,
.split > *,
.program-detail-grid > *,
.program-summary-grid > *,
.service-grid > *,
.service-media-grid > *,
.service-process-grid > *,
.contact-direct-grid > * {
  min-width: 0;
}

/* Hosszú szövegek ne feszítsék szét a kártyákat */
h1,
h2,
h3,
p,
a,
span,
li {
  overflow-wrap: break-word;
}

/* Mobil navigáció biztonsági korlát */
@media (max-width: 930px) {
  .site-nav,
  .subhero .site-nav,
  .blog-nav {
    width: calc(100% - 20px) !important;
    max-width: calc(100% - 20px) !important;
  }

  .nav-inner,
  .subhero .site-nav:not(:has(.nav-inner)) {
    max-width: 100%;
  }

  .nav-links {
    max-width: 100%;
    overflow-x: hidden;
  }

  .hero-content {
    max-width: calc(100% - 28px);
  }
}

@media (max-width: 430px) {
  .container {
    width: calc(100% - 24px);
  }

  .section {
    overflow-x: clip;
    padding: 10px;
  }

  .btn,
  .nav-cta,
  .mobile-menu-cta {
    max-width: 100%;
    margin-top: 12px;
  }
}

/* =========================================================
   MEDIA CAROUSEL STYLE
   Több kép / videó egy képes boxon belül.
========================================================= */

.has-media-carousel {
  position: relative;
  overflow: hidden;
}

.has-media-carousel img,
.has-media-carousel video {
  transition: opacity 0.26s ease, transform 0.26s ease;
}

.has-media-carousel.is-changing img,
.has-media-carousel.is-changing video {
  opacity: 0.72;
  transform: scale(1.015);
}

.media-carousel-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Bal-jobb lapozó nyilak */
.media-carousel-controls {
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
}

.media-carousel-arrow {
  position: absolute;
  top: 100%;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(255, 250, 241, 0.82);
  color: #8a6328;
  font-size: 28px;
  font-weight: 700;
  line-height: 1;
  transform: translateY(-50%);
  cursor: pointer;
  pointer-events: auto;
  box-shadow: 0 10px 30px rgba(82, 61, 29, 0.16);
  transition: transform 0.2s ease, background 0.2s ease;
}

.media-carousel-arrow:hover {
  background: rgba(255, 250, 241, 0.96);
  transform: translateY(-50%) scale(1.06);
}

.media-carousel-prev {
  left: 12px;
}

.media-carousel-next {
  right: 12px;
}

/* Alsó pöttyök */
.media-carousel-dots {
  position: absolute;
  left: 50%;
  bottom: 14px;
  z-index: 6;
  display: flex;
  gap: 15px;
  transform: translateX(-50%);
}

.media-carousel-dot {
  width: 15px;
  height: 10px;
  border-radius: 999px;
  background: rgba(255, 250, 241, 0.62);
  cursor: pointer;
  transition: width 0.2s ease, background 0.2s ease;
}

.media-carousel-dot.is-active {
  width: 22px;
  background: #e6bd72;
}

/* Mobilon kisebb nyilak */
@media (max-width: 430px) {
  .media-carousel-arrow {
    width: 32px;
    height: 32px;
    font-size: 23px;
  }

  .media-carousel-prev {
    left: 8px;
  }

  .media-carousel-next {
    right: 8px;
  }

  .media-carousel-dots {
    bottom: 10px;
  }
}

/* =========================================================
   ARABIAN DAYS – INFORMÁCIÓ POPUP
========================================================= */

.ad-info-teaser {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  padding: clamp(26px, 4vw, 44px);
  border: 1px solid rgba(199, 150, 61, 0.26);
  border-radius: 30px;
  background:
    radial-gradient(circle at 90% 0%, rgba(199, 150, 61, 0.16), transparent 34%),
    linear-gradient(145deg, rgba(255, 253, 248, 0.94), rgba(248, 237, 219, 0.72));
  box-shadow: 0 24px 70px rgba(82, 61, 29, 0.10);
}

.ad-info-teaser h2 {
  margin: 0;
  color: #2f2618;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(32px, 4vw, 58px);
  line-height: 1.02;
  font-weight: 500;
}

.ad-info-teaser p:not(.kicker) {
  max-width: 720px;
  margin: 16px 0 0;
  color: rgba(47, 38, 24, 0.72);
  line-height: 1.75;
}

.ad-info-modal {
  width: min(920px, calc(100% - 28px));
  max-height: min(86vh, 820px);
  padding: 0;
  border: 1px solid rgba(199, 150, 61, 0.34);
  border-radius: 28px;
  background: #fffaf3;
  color: #2f2618;
  box-shadow: 0 34px 110px rgba(47, 38, 24, 0.32);
  overflow: hidden;
}

.ad-info-modal::backdrop {
  background: rgba(47, 38, 24, 0.54);
  backdrop-filter: blur(12px);
}

.ad-info-modal-inner {
  position: relative;
  max-height: min(86vh, 820px);
  display: grid;
  grid-template-rows: auto 1fr auto;
}

.ad-info-close {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 4;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(199, 150, 61, 0.28);
  border-radius: 999px;
  background: rgba(255, 253, 248, 0.92);
  color: #2f2618;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}

.ad-info-modal-head {
  padding: clamp(28px, 4vw, 44px) clamp(24px, 4vw, 44px) 24px;
  background:
    radial-gradient(circle at 90% 0%, rgba(199, 150, 61, 0.18), transparent 32%),
    linear-gradient(145deg, #fffdf8, #f8eddb);
  border-bottom: 1px solid rgba(199, 150, 61, 0.18);
}

.ad-info-modal-head h2 {
  max-width: 740px;
  margin: 0;
  color: #2f2618;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(30px, 4vw, 54px);
  line-height: 1.02;
  font-weight: 500;
}

.ad-info-modal-head p:not(.kicker) {
  max-width: 660px;
  margin: 14px 0 0;
  color: rgba(47, 38, 24, 0.72);
  line-height: 1.65;
}

.ad-info-modal-content {
  padding: 28px clamp(24px, 4vw, 44px);
  overflow-y: auto;
  overscroll-behavior: contain;
}

.ad-info-modal-content h3 {
  margin: 28px 0 10px;
  color: #2f2618;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-weight: 600;
  line-height: 1.1;
}

.ad-info-modal-content h3:first-child {
  margin-top: 0;
}

.ad-info-modal-content p {
  margin: 0 0 14px;
  color: rgba(47, 38, 24, 0.74);
  font-size: 15px;
  line-height: 1.75;
}

.ad-info-modal-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
  padding: 18px clamp(24px, 4vw, 44px);
  border-top: 1px solid rgba(199, 150, 61, 0.18);
  background: rgba(248, 237, 219, 0.72);
}

@media (max-width: 768px) {
  .ad-info-teaser {
    grid-template-columns: 1fr;
    padding: 24px;
  }

  .ad-info-teaser .btn {
    width: 100%;
  }

  .ad-info-modal {
    width: calc(100% - 20px);
    max-height: 88svh;
    border-radius: 22px;
  }

  .ad-info-modal-inner {
    max-height: 88svh;
  }

  .ad-info-close {
    top: 12px;
    right: 12px;
    width: 40px;
    height: 40px;
  }

  .ad-info-modal-head {
    padding: 26px 20px 20px;
  }

  .ad-info-modal-content {
    padding: 22px 20px;
  }

  .ad-info-modal-actions {
    padding: 16px 20px;
  }

  .ad-info-modal-actions .btn {
    width: 100%;
  }
}

/* =========================================================
   ARABIAN DAYS – RÓLUNK OLDAL V2
   Külön, oldalra szabott CSS.
   Csak a body.ad-about-page és .ad-about-v2 alatt dolgozik.
========================================================= */

body.ad-about-page {
  --about-bg: #fffaf3;
  --about-bg-soft: #f8eddb;
  --about-panel: rgba(255, 253, 248, 0.86);
  --about-panel-strong: rgba(255, 253, 248, 0.96);
  --about-text: #2f2618;
  --about-muted: rgba(47, 38, 24, 0.72);
  --about-gold: #c7963d;
  --about-gold-light: #e6bd72;
  --about-sand: #ead3a6;
  --about-line: rgba(199, 150, 61, 0.24);
  --about-shadow: 0 26px 80px rgba(82, 61, 29, 0.12);
  background: var(--about-bg) !important;
  color: var(--about-text) !important;
}

body.ad-about-page .ad-about-subhero {
  background:
    radial-gradient(circle at 78% 16%, rgba(199, 150, 61, 0.16), transparent 30%),
    radial-gradient(circle at 12% 84%, rgba(234, 211, 166, 0.42), transparent 34%),
    linear-gradient(135deg, var(--about-bg), var(--about-bg-soft)) !important;
  border-bottom: 1px solid rgba(199, 150, 61, 0.22) !important;
}

body.ad-about-page .ad-about-subhero h1,
body.ad-about-page .ad-about-subhero .breadcrumb {
  color: var(--about-text) !important;
}

body.ad-about-page .ad-about-v2 {
  position: relative;
  overflow: hidden;
  color: var(--about-text);
  background:
    radial-gradient(circle at 12% 8%, rgba(199, 150, 61, 0.10), transparent 26%),
    radial-gradient(circle at 88% 20%, rgba(234, 211, 166, 0.34), transparent 30%),
    linear-gradient(180deg, var(--about-bg) 0%, var(--about-bg-soft) 48%, var(--about-bg) 100%);
}

body.ad-about-page .ad-about-v2 *,
body.ad-about-page .ad-about-v2 *::before,
body.ad-about-page .ad-about-v2 *::after {
  box-sizing: border-box;
}

body.ad-about-page .ad-about-section {
  position: relative;
  padding: clamp(26px, 2vw, 12px) 0;
}

body.ad-about-page .ad-about-section:nth-child(even) {
  background:
    radial-gradient(circle at 80% 12%, rgba(199, 150, 61, 0.08), transparent 26%),
    linear-gradient(180deg, rgba(248, 237, 219, 0.56), rgba(255, 250, 243, 0.72));
}

body.ad-about-page .ad-about-kicker {
  margin: 0 0 14px;
  color: var(--about-gold) !important;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

body.ad-about-page .ad-about-hero-copy h2,
body.ad-about-page .ad-about-section-head h2,
body.ad-about-page .ad-about-local-copy h2,
body.ad-about-page .ad-about-support-panel h2,
body.ad-about-page .ad-about-positioning-copy h2,
body.ad-about-page .ad-about-honest-card h2,
body.ad-about-page .ad-about-media-copy h2,
body.ad-about-page .ad-about-final-card h2 {
  margin: 0;
  color: var(--about-text) !important;
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-size: clamp(38px, 5.8vw, 86px);
  line-height: 0.96;
  font-weight: 600;
  letter-spacing: -0.055em;
  text-wrap: balance;
}

body.ad-about-page .ad-about-v2 p {
  color: var(--about-muted) !important;
  line-height: 1.78;
}

body.ad-about-page .ad-about-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 28px;
}

body.ad-about-page .ad-about-actions-center {
  justify-content: center;
}

/* HERO */
body.ad-about-page .ad-about-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(330px, 0.98fr);
  gap: clamp(30px, 5vw, 78px);
  align-items: center;
}

body.ad-about-page .ad-about-hero-copy p:not(.ad-about-kicker) {
  max-width: 760px;
  margin: 20px 0 0;
  font-size: clamp(15px, 1.2vw, 18px);
}

body.ad-about-page .ad-about-hero-media {
  position: relative;
  min-width: 0;
}

body.ad-about-page .ad-about-floating-proof {
  position: absolute;
  left: -24px;
  bottom: 28px;
  z-index: 9;
  width: min(280px, calc(100% - 34px));
  padding: 18px 20px;
  border: 1px solid var(--about-line);
  border-radius: 24px;
  background: rgba(255, 253, 248, 0.84);
  backdrop-filter: blur(14px);
  box-shadow: var(--about-shadow);
}

body.ad-about-page .ad-about-floating-proof strong,
body.ad-about-page .ad-about-floating-proof span {
  display: block;
}

body.ad-about-page .ad-about-floating-proof strong {
  color: var(--about-text);
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 26px;
  line-height: 1;
}

body.ad-about-page .ad-about-floating-proof span {
  margin-top: 8px;
  color: var(--about-muted);
  font-size: 13px;
  line-height: 1.5;
}

/* MEDIA – teljesen új, a régi .gallery-item hibáit nem használja */
body.ad-about-page .ad-about-media-card {
  position: relative !important;
  width: 100% !important;
  display: block !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid var(--about-line) !important;
  border-radius: 28px !important;
  background: var(--about-bg-soft) !important;
  box-shadow: var(--about-shadow) !important;
  color: inherit !important;
  cursor: zoom-in;
  isolation: isolate;
}

body.ad-about-page .ad-about-media-card-main {
  min-height: clamp(430px, 42vw, 620px);
  border-radius: 44px 44px 14px 44px !important;
}

body.ad-about-page .ad-about-media-card img {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: inherit !important;
}

/* Csak alul sötétítünk a felirat miatt. Nincs felső homályos ív. */
body.ad-about-page .ad-about-media-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(
    to top,
    rgba(47, 38, 24, 0.58) 0%,
    rgba(47, 38, 24, 0.24) 34%,
    rgba(47, 38, 24, 0.04) 62%,
    transparent 100%
  ) !important;
  pointer-events: none !important;
}

body.ad-about-page .ad-about-media-card::after,
body.ad-about-page .ad-about-media-card.has-media-carousel::after {
  display: none !important;
  content: none !important;
}

body.ad-about-page .ad-about-media-card > span:not(.media-carousel-controls):not(.media-carousel-dots) {
  position: absolute !important;
  left: 16px !important;
  bottom: 16px !important;
  z-index: 6 !important;
  max-width: calc(100% - 32px) !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  background: rgba(47, 38, 24, 0.66) !important;
  color: #fffdf8 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.05em !important;
  backdrop-filter: blur(10px) !important;
}

/* Carousel kontrollok csak ezen az oldalon */
body.ad-about-page .ad-about-media-card .media-carousel-controls {
  position: absolute !important;
  inset: 0 !important;
  z-index: 7 !important;
  display: block !important;
  pointer-events: none !important;
  transform: none !important;
}

body.ad-about-page .ad-about-media-card .media-carousel-arrow {
  position: absolute !important;
  top: 50% !important;
  width: 38px !important;
  height: 38px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 223, 154, 0.34) !important;
  background: rgba(47, 38, 24, 0.54) !important;
  color: #fffdf8 !important;
  font-size: 24px !important;
  line-height: 1 !important;
  transform: translateY(-50%) !important;
  box-shadow: 0 12px 30px rgba(47, 38, 24, 0.26) !important;
  pointer-events: auto !important;
}

body.ad-about-page .ad-about-media-card .media-carousel-prev { left: 12px !important; }
body.ad-about-page .ad-about-media-card .media-carousel-next { right: 12px !important; }

body.ad-about-page .ad-about-media-card .media-carousel-dots {
  position: absolute !important;
  left: 50% !important;
  bottom: 13px !important;
  z-index: 7 !important;
  display: flex !important;
  gap: 7px !important;
  transform: translateX(-50%) !important;
}

body.ad-about-page .ad-about-media-card .media-carousel-dot {
  width: 7px !important;
  height: 7px !important;
  border-radius: 999px !important;
  background: rgba(255, 253, 248, 0.66) !important;
  border: 1px solid rgba(255, 223, 154, 0.42) !important;
}

body.ad-about-page .ad-about-media-card .media-carousel-dot.is-active {
  width: 20px !important;
  background: var(--about-gold) !important;
}

/* PEOPLE */
body.ad-about-page .ad-about-section-head {
  max-width: 860px;
  margin-bottom: 34px;
}

body.ad-about-page .ad-about-people-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

body.ad-about-page .ad-about-person-card,
body.ad-about-page .ad-about-trust-card,
body.ad-about-page .ad-about-support-panel,
body.ad-about-page .ad-about-support-list article,
body.ad-about-page .ad-about-process-step > div,
body.ad-about-page .ad-about-honest-card,
body.ad-about-page .ad-about-faq-grid details,
body.ad-about-page .ad-about-final-card {
  border: 1px solid var(--about-line);
  border-radius: 28px;
  background:
    radial-gradient(circle at 100% 0%, rgba(199, 150, 61, 0.12), transparent 34%),
    linear-gradient(145deg, rgba(255, 253, 248, 0.92), rgba(248, 237, 219, 0.68));
  box-shadow: var(--about-shadow);
}

body.ad-about-page .ad-about-person-card {
  padding: clamp(24px, 3vw, 34px);
}

body.ad-about-page .ad-about-person-top {
  display: grid;
  grid-template-columns: 66px 1fr;
  gap: 16px;
  align-items: center;
  margin-bottom: 22px;
}

body.ad-about-page .ad-about-person-top > span {
  width: 66px;
  height: 66px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  background: linear-gradient(135deg, #b88028, #e6bd72, #c7963d);
  color: #fffdf8;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 36px;
  font-weight: 700;
}

body.ad-about-page .ad-about-person-card h3,
body.ad-about-page .ad-about-trust-card h3,
body.ad-about-page .ad-about-support-list strong,
body.ad-about-page .ad-about-process-step h3,
body.ad-about-page .ad-about-faq-grid summary {
  margin: 0;
  color: var(--about-text) !important;
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-weight: 600;
}

body.ad-about-page .ad-about-person-card h3 {
  font-size: clamp(34px, 4vw, 52px);
  line-height: 1;
}

body.ad-about-page .ad-about-person-top p {
  margin: 6px 0 0;
  font-size: 14px;
}

body.ad-about-page .ad-about-person-card ul,
body.ad-about-page .ad-about-positioning-copy ul {
  display: grid;
  gap: 10px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

body.ad-about-page .ad-about-person-card li,
body.ad-about-page .ad-about-positioning-copy li {
  position: relative;
  padding-left: 24px;
  color: var(--about-muted);
  line-height: 1.55;
}

body.ad-about-page .ad-about-person-card li::before,
body.ad-about-page .ad-about-positioning-copy li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--about-gold);
  font-weight: 900;
}

/* LOCAL GALLERY */
body.ad-about-page .ad-about-local-grid,
body.ad-about-page .ad-about-media-grid,
body.ad-about-page .ad-about-positioning-grid,
body.ad-about-page .ad-about-support-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
}

body.ad-about-page .ad-about-gallery {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  grid-auto-rows: minmax(190px, 1fr);
  gap: 16px;
  min-width: 0;
}

body.ad-about-page .ad-about-media-card-tall {
  grid-row: span 2;
  min-height: 396px;
}

body.ad-about-page .ad-about-gallery .ad-about-media-card:not(.ad-about-media-card-tall) {
  min-height: 190px;
}

/* TRUST */
body.ad-about-page .ad-about-trust-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

body.ad-about-page .ad-about-trust-card {
  min-height: 250px;
  padding: 26px;
}

body.ad-about-page .ad-about-trust-card > span {
  display: inline-flex;
  margin-bottom: 42px;
  color: rgba(199, 150, 61, 0.62);
  font-family: Georgia, serif;
  font-size: 46px;
  line-height: 1;
}

body.ad-about-page .ad-about-trust-card h3 {
  font-size: clamp(27px, 2.8vw, 38px);
  line-height: 1;
  margin-bottom: 12px;
}

/* SUPPORT */
body.ad-about-page .ad-about-support-grid {
  align-items: start;
}

body.ad-about-page .ad-about-support-panel {
  padding: clamp(26px, 4vw, 44px);
}

body.ad-about-page .ad-about-support-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

body.ad-about-page .ad-about-support-list article {
  padding: 24px;
}

body.ad-about-page .ad-about-support-list strong {
  display: block;
  font-size: 28px;
  line-height: 1;
}

body.ad-about-page .ad-about-support-list span {
  display: block;
  margin-top: 12px;
  color: var(--about-muted);
  line-height: 1.62;
}

/* PROCESS */
body.ad-about-page .ad-about-process-line {
  position: relative;
  display: grid;
  gap: 18px;
  margin-top: 36px;
}

body.ad-about-page .ad-about-process-line::before {
  content: "";
  position: absolute;
  left: 31px;
  top: 18px;
  bottom: 18px;
  width: 1px;
  background: linear-gradient(180deg, transparent, var(--about-gold), transparent);
}

body.ad-about-page .ad-about-process-step {
  position: relative;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

body.ad-about-page .ad-about-process-step > span {
  position: relative;
  z-index: 2;
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(199, 150, 61, 0.28);
  border-radius: 50%;
  background: var(--about-panel-strong);
  color: var(--about-gold);
  font-family: Georgia, serif;
  font-size: 24px;
  box-shadow: 0 16px 42px rgba(82, 61, 29, 0.10);
}

body.ad-about-page .ad-about-process-step > div {
  padding: clamp(22px, 2.6vw, 30px);
}

body.ad-about-page .ad-about-process-step h3 {
  font-size: clamp(27px, 3vw, 42px);
  line-height: 1;
  margin-bottom: 10px;
}

body.ad-about-page .ad-about-process-step p {
  margin: 0;
}

/* POSITIONING */
body.ad-about-page .ad-about-positioning-grid {
  align-items: start;
}

body.ad-about-page .ad-about-honest-card,
body.ad-about-page .ad-about-positioning-copy {
  padding: clamp(26px, 4vw, 44px);
}

body.ad-about-page .ad-about-positioning-copy {
  border: 1px solid var(--about-line);
  border-radius: 30px;
  background: rgba(255, 253, 248, 0.52);
}

/* MEDIA BOARD */
body.ad-about-page .ad-about-gallery-wide {
  min-height: 520px;
}

body.ad-about-page .ad-about-media-copy p {
  font-size: 16px;
}

/* FAQ */
body.ad-about-page .ad-about-faq-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

body.ad-about-page .ad-about-faq-grid details {
  padding: 22px;
}

body.ad-about-page .ad-about-faq-grid summary {
  cursor: pointer;
  font-size: 24px;
  line-height: 1.1;
}

body.ad-about-page .ad-about-faq-grid p {
  margin: 14px 0 0;
}

/* FINAL */
body.ad-about-page .ad-about-final-card {
  max-width: 1040px;
  margin-inline: auto;
  padding: clamp(30px, 5vw, 62px);
  text-align: center;
  background:
    radial-gradient(circle at 50% 0%, rgba(199, 150, 61, 0.18), transparent 34%),
    linear-gradient(145deg, rgba(255, 253, 248, 0.96), rgba(248, 237, 219, 0.74));
}

body.ad-about-page .ad-about-final-card p:not(.ad-about-kicker) {
  max-width: 780px;
  margin: 18px auto 0;
}

/* RESPONSIVE */
@media (max-width: 1100px) {
  body.ad-about-page .ad-about-trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 930px) {
  body.ad-about-page .ad-about-hero-grid,
  body.ad-about-page .ad-about-local-grid,
  body.ad-about-page .ad-about-media-grid,
  body.ad-about-page .ad-about-positioning-grid,
  body.ad-about-page .ad-about-support-grid {
    grid-template-columns: 1fr;
  }

  body.ad-about-page .ad-about-floating-proof {
    left: 18px;
    right: 18px;
    width: auto;
  }

  body.ad-about-page .ad-about-media-card-main {
    min-height: 420px;
  }
}

@media (max-width: 768px) {
  body.ad-about-page .ad-about-section {
    padding: 70px 0;
  }

  body.ad-about-page .ad-about-hero-copy h2,
  body.ad-about-page .ad-about-section-head h2,
  body.ad-about-page .ad-about-local-copy h2,
  body.ad-about-page .ad-about-support-panel h2,
  body.ad-about-page .ad-about-positioning-copy h2,
  body.ad-about-page .ad-about-honest-card h2,
  body.ad-about-page .ad-about-media-copy h2,
  body.ad-about-page .ad-about-final-card h2 {
    font-size: clamp(34px, 10vw, 58px);
  }

  body.ad-about-page .ad-about-people-grid,
  body.ad-about-page .ad-about-trust-grid,
  body.ad-about-page .ad-about-support-list,
  body.ad-about-page .ad-about-faq-grid,
  body.ad-about-page .ad-about-gallery {
    grid-template-columns: 1fr;
  }

  body.ad-about-page .ad-about-gallery {
    grid-auto-rows: auto;
  }

  body.ad-about-page .ad-about-media-card,
  body.ad-about-page .ad-about-media-card-tall,
  body.ad-about-page .ad-about-gallery .ad-about-media-card:not(.ad-about-media-card-tall) {
    grid-row: auto;
    min-height: 250px;
  }

  body.ad-about-page .ad-about-actions .btn {
    width: 100%;
  }
}

@media (max-width: 430px) {
  body.ad-about-page .ad-about-section {
    padding: 58px 0;
  }

  body.ad-about-page .ad-about-media-card-main {
    min-height: 320px;
    border-radius: 26px 26px 12px 26px !important;
  }

  body.ad-about-page .ad-about-media-card,
  body.ad-about-page .ad-about-media-card-tall,
  body.ad-about-page .ad-about-gallery .ad-about-media-card:not(.ad-about-media-card-tall) {
    min-height: 210px;
    border-radius: 20px !important;
  }

  body.ad-about-page .ad-about-floating-proof {
    position: relative;
    left: auto;
    right: auto;
    bottom: auto;
    width: auto;
    margin-top: 14px;
  }

  body.ad-about-page .ad-about-person-top {
    grid-template-columns: 54px 1fr;
  }

  body.ad-about-page .ad-about-person-top > span {
    width: 54px;
    height: 54px;
    border-radius: 18px;
    font-size: 30px;
  }

  body.ad-about-page .ad-about-process-step {
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 12px;
  }

  body.ad-about-page .ad-about-process-line::before {
    left: 26px;
  }

  body.ad-about-page .ad-about-process-step > span {
    width: 52px;
    height: 52px;
    font-size: 20px;
  }

  body.ad-about-page .ad-about-person-card,
  body.ad-about-page .ad-about-trust-card,
  body.ad-about-page .ad-about-support-panel,
  body.ad-about-page .ad-about-support-list article,
  body.ad-about-page .ad-about-process-step > div,
  body.ad-about-page .ad-about-honest-card,
  body.ad-about-page .ad-about-faq-grid details,
  body.ad-about-page .ad-about-final-card,
  body.ad-about-page .ad-about-positioning-copy {
    border-radius: 22px;
  }

  body.ad-about-page .ad-about-media-card > span:not(.media-carousel-controls):not(.media-carousel-dots) {
    left: 10px !important;
    bottom: 10px !important;
    max-width: calc(100% - 20px) !important;
    font-size: 11px !important;
  }
}
.ad-about-page .reveal,
.ad-about-page .ad-about-reveal,
.ad-about-page [data-reveal] {
  opacity: 0;
  transform: translateY(42px);
  transition:
    opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: opacity, transform;
}

.ad-about-page .reveal.is-visible,
.ad-about-page .ad-about-reveal.is-visible,
.ad-about-page [data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .ad-about-page .reveal,
  .ad-about-page .ad-about-reveal,
  .ad-about-page [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* =========================================================
   FŐOLDALI NAV – ELTŰNIK HERO SCROLL KÖZBEN, VISSZAJÖN A KÖVETKEZŐ SZEKCIÓNÁL
========================================================= */

.scroll-showcase .scene-sticky > .site-nav {
  transition:
    opacity 0.28s ease,
    visibility 0.28s ease,
    transform 0.28s ease;
}

.scroll-showcase .scene-sticky > .site-nav.is-scroll-hidden {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateX(-50%) translateY(-18px) !important;
}

.scroll-showcase .scene-sticky > .site-nav.is-after-showcase {
  position: fixed !important;
  top: 12px !important;
  left: 50% !important;
  z-index: 3000 !important;
  width: min(1180px, calc(100% - 32px)) !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) !important;
}

@media (max-width: 930px) {
  .scroll-showcase .scene-sticky > .site-nav.is-after-showcase {
    top: 10px !important;
    width: calc(100% - 20px) !important;
    max-width: calc(100% - 20px) !important;
  }
}

@media (max-width: 430px) {
  .scroll-showcase .scene-sticky > .site-nav.is-after-showcase {
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
  }
}

/* =========================================================
   NAV FRONT-RÉTEG FIX – amikor visszatér a következő szekciónál
========================================================= */

body.showcase-nav-fixed .scroll-showcase {
  position: relative !important;
  z-index: 5000 !important;
  pointer-events: none !important;
}

body.showcase-nav-fixed .scroll-showcase .scene-sticky {
  overflow: visible !important;
  pointer-events: none !important;
}

body.showcase-nav-fixed .scroll-showcase .scene-sticky > .site-nav.is-after-showcase {
  position: fixed !important;
  z-index: 6000 !important;
  pointer-events: auto !important;
}

body.showcase-nav-fixed .scroll-showcase .scene-sticky > .site-nav.is-after-showcase .nav-inner,
body.showcase-nav-fixed .scroll-showcase .scene-sticky > .site-nav.is-after-showcase .nav-links,
body.showcase-nav-fixed .scroll-showcase .scene-sticky > .site-nav.is-after-showcase .nav-toggle,
body.showcase-nav-fixed .scroll-showcase .scene-sticky > .site-nav.is-after-showcase a {
  pointer-events: auto !important;
}
/* =========================================================
   ALOLDALI FIX NAV – RÓLUNK / PROGRAMJAINK / BLOG / KAPCSOLAT
   Scroll közben is mindig a felhasználóval marad.
========================================================= */

.page-shell > .subhero > .site-nav,
.blog-page > .blog-hero > .blog-nav {
  position: fixed !important;
  top: max(10px, env(safe-area-inset-top)) !important;
  left: 50% !important;
  right: auto !important;
  z-index: 9000 !important;
  width: min(1180px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  margin: 0 !important;
  transform: translateX(-50%) !important;
  pointer-events: auto !important;
}

/* A fix nav belső elemei is maradjanak kattinthatók */
.page-shell > .subhero > .site-nav *,
.blog-page > .blog-hero > .blog-nav * {
  pointer-events: auto;
}

/* A mobil lenyíló menü mindig a nav fölött nyíljon */
.page-shell > .subhero > .site-nav .nav-links,
.blog-page > .blog-hero > .blog-nav .nav-links {
  z-index: 9010 !important;
}

/* A subhero ne vágja le a fix nav / mobil menü részeit */
.page-shell > .subhero,
.blog-page > .blog-hero {
  overflow: visible !important;
}

/* Ne lógjon rá a fix nav a címre */
.page-shell > .subhero .subhero-content {
  padding-top: 128px !important;
}

.blog-page > .blog-hero .blog-hero-content {
  padding-top: clamp(128px, 14vw, 180px) !important;
}

/* Direkt navos aloldalak: kapcsolat, programjaink, rólunk */
.page-shell > .subhero > .site-nav:not(:has(.nav-inner)) {
  display: flex !important;
  align-items: center !important;
  gap: 22px !important;
  min-height: 72px !important;
}

/* Blog nav belső szerkezete */
.blog-page > .blog-hero > .blog-nav .nav-inner {
  position: relative !important;
  z-index: 9001 !important;
  width: 100% !important;
}

/* Mobil */
@media (max-width: 930px) {
  .page-shell > .subhero > .site-nav,
  .blog-page > .blog-hero > .blog-nav {
    top: max(8px, env(safe-area-inset-top)) !important;
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
  }

  .page-shell > .subhero .subhero-content {
    padding-top: 118px !important;
  }

  .blog-page > .blog-hero .blog-hero-content {
    padding-top: 118px !important;
  }

  .page-shell > .subhero > .site-nav .nav-links,
  .blog-page > .blog-hero > .blog-nav .nav-links {
    position: absolute !important;
    top: calc(100% + 12px) !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-height: calc(100svh - 110px) !important;
    overflow-y: auto !important;
    z-index: 9010 !important;
  }
}

/* Kis mobil */
@media (max-width: 430px) {
  .page-shell > .subhero > .site-nav,
  .blog-page > .blog-hero > .blog-nav {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
  }

  .page-shell > .subhero .subhero-content {
    padding-top: 110px !important;
  }

  .blog-page > .blog-hero .blog-hero-content {
    padding-top: 110px !important;
  }
}

/* =========================================================
   MEDIA SIZE LOCK – képek ne ugráltassák az oldalt
   Fix képarány + fix média-dobozok carouselhez és képekhez
========================================================= */

/* Alap: minden kattintható / carousel média doboz stabil legyen */
.media-carousel-target,
.media-click,
.image-card,
.media-card.image-card,
.media-placeholder.media-click,
.blog-card-media,
.featured-media,
.gallery-item.media-click,
.service-media-card,
.media-strip-item,
.trust-media,
.package-media,
.card-photo
.media-carousel-target {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  min-height: unset !important;
  max-height: none !important;
}

/* A képek/videók ne méretezzék át a szülő dobozt */
.media-carousel-target > img,
.media-carousel-target > video,
.media-click > img,
.media-click > video,
.image-card > img,
.media-placeholder.media-click > img,
.blog-card-media > img,
.featured-media > img,
.gallery-item.media-click > img,
.service-media-card > img,
.media-strip-item > img,
.trust-media > img,
.package-media > img,
.card-photo > img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Blog kártyaképek */
.blog-card-media,
.blog-card-media.media-placeholder.media-click {
  height: clamp(220px, 22vw, 280px) !important;
  aspect-ratio: 16 / 10 !important;
}

/* Kiemelt blog kép */
.featured-media,
.featured-media.media-placeholder.media-click {
  height: clamp(320px, 34vw, 460px) !important;
  aspect-ratio: 16 / 10 !important;
}

/* Program oldal nagy képei */
.program-detail .image-card,
.program-detail .media-card.image-card {
  height: clamp(300px, 34vw, 460px) !important;
  aspect-ratio: 16 / 10 !important;
}

/* Főoldali / általános média sáv */
.media-strip-item {
  height: clamp(220px, 25vw, 300px) !important;
  aspect-ratio: 16 / 10 !important;
}

.media-strip-item.wide {
  height: clamp(260px, 32vw, 380px) !important;
  aspect-ratio: 16 / 9 !important;
}

/* Galéria elemek */
.gallery-item.media-click {
  height: clamp(210px, 25vw, 300px) !important;
  aspect-ratio: 4 / 3 !important;
}

.gallery-item.tall.media-click {
  height: clamp(360px, 42vw, 520px) !important;
  aspect-ratio: 3 / 4 !important;
}

/* Szolgáltatás / egyéb média kártyák */
.service-media-card,
.trust-media,
.package-media,
.card-photo {
  height: clamp(210px, 24vw, 300px) !important;
  aspect-ratio: 16 / 10 !important;
}

/* Mobilon is fix maradjon, ne height:auto legyen */
@media (max-width: 768px) {
  .blog-card-media,
  .blog-card-media.media-placeholder.media-click,
  .featured-media,
  .featured-media.media-placeholder.media-click,
  .program-detail .image-card,
  .program-detail .media-card.image-card,
  .media-strip-item,
  .media-strip-item.wide,
  .gallery-item.media-click,
  .gallery-item.tall.media-click,
  .service-media-card,
  .trust-media,
  .package-media,
  .card-photo {
    height: 230px !important;
    min-height: unset !important;
    max-height: none !important;
  }

  .featured-media,
  .featured-media.media-placeholder.media-click,
  .program-detail .image-card,
  .program-detail .media-card.image-card {
    height: 280px !important;
  }
}

@media (max-width: 430px) {
  .blog-card-media,
  .blog-card-media.media-placeholder.media-click,
  .media-strip-item,
  .media-strip-item.wide,
  .gallery-item.media-click,
  .gallery-item.tall.media-click,
  .service-media-card,
  .trust-media,
  .package-media,
  .card-photo {
    height: 210px !important;
  }

  .featured-media,
  .featured-media.media-placeholder.media-click,
  .program-detail .image-card,
  .program-detail .media-card.image-card {
    height: 240px !important;
  }
}

/* =========================================================
   MEDIA FRAME FIX – PROGRAMJAINK + KAPCSOLAT
   Cél: a média képdobozok ne csukódjanak össze és ne ugráljanak.
========================================================= */

/* Programjaink oldal nagy programkártya képei */
.program-detail {
  align-items: stretch !important;
}

.program-detail > .media-card.image-card,
.program-detail > button.media-card.image-card {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: clamp(340px, 36vw, 520px) !important;
  max-height: none !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 0 !important;
}

/* Kapcsolat oldal / split panel képei */
.split .panel > .media-card.image-card,
.split .panel > button.media-card.image-card,
.content-grid .sidebar-card > .media-card.image-card,
.content-grid .sidebar-card > button.media-card.image-card {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: clamp(300px, 34vw, 460px) !important;
  min-height: 300px !important;
  max-height: none !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 22px !important;
}

/* A kép mindig a dobozt töltse ki, ne ő diktálja a doboz méretét */
.program-detail > .media-card.image-card > img,
.program-detail > button.media-card.image-card > img,
.split .panel > .media-card.image-card > img,
.split .panel > button.media-card.image-card > img,
.content-grid .sidebar-card > .media-card.image-card > img,
.content-grid .sidebar-card > button.media-card.image-card > img {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Felirat és overlay maradjon a kép fölött */
.program-detail > .media-card.image-card > span,
.program-detail > button.media-card.image-card > span,
.split .panel > .media-card.image-card > span,
.split .panel > button.media-card.image-card > span,
.content-grid .sidebar-card > .media-card.image-card > span,
.content-grid .sidebar-card > button.media-card.image-card > span {
  z-index: 3 !important;
}

/* Tablet */
@media (max-width: 1048px) {
  .program-detail > .media-card.image-card,
  .program-detail > button.media-card.image-card {
    height: 320px !important;
    min-height: 320px !important;
  }

  .split .panel > .media-card.image-card,
  .split .panel > button.media-card.image-card,
  .content-grid .sidebar-card > .media-card.image-card,
  .content-grid .sidebar-card > button.media-card.image-card {
    height: 300px !important;
    min-height: 300px !important;
  }
}

/* Mobil */
@media (max-width: 768px) {
  .program-detail > .media-card.image-card,
  .program-detail > button.media-card.image-card,
  .split .panel > .media-card.image-card,
  .split .panel > button.media-card.image-card,
  .content-grid .sidebar-card > .media-card.image-card,
  .content-grid .sidebar-card > button.media-card.image-card {
    height: 260px !important;
    min-height: 260px !important;
    max-height: none !important;
  }
}

/* Kis mobil */
@media (max-width: 430px) {
  .program-detail > .media-card.image-card,
  .program-detail > button.media-card.image-card,
  .split .panel > .media-card.image-card,
  .split .panel > button.media-card.image-card,
  .content-grid .sidebar-card > .media-card.image-card,
  .content-grid .sidebar-card > button.media-card.image-card {
    height: 220px !important;
    min-height: 220px !important;
    max-height: none !important;
  }
}

/* Social ikonok elrejtése fent mobilon és tableten */
@media (max-width: 1100px) {
  .scroll-showcase .site-nav .socials,
  .page-shell > .subhero > .socials,
  .subhero > .socials {
    display: none !important;
  }

  .footer .socials,
  .site-footer .socials,
  footer .socials {
    display: flex !important;
  }
}

@media (max-width: 430px) {
  .socials {
  display: flex;
  gap: 12px;
  margin-top: 8px;
  justify-content: flex-start;
}
}

/* =========================================================
   FIX – NYEREMÉNYJÁTÉK SZABÁLYZAT TARTALOM LÁTHATÓSÁG
   A jogi/szabályzati oldalon ne tűnjön el a tartalom reveal miatt.
========================================================= */

body.legal-page .reveal,
body.legal-page .section .reveal,
body.legal-page .subhero .reveal,
body.legal-page .legal-content,
body.legal-page .sidebar-card {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}