/* ===== about.css ===== */
/* ============================================
   Haqqımızda səhifəsi — yalnız bu səhifə üçün
   ============================================ */

/* ===== Eyebrow tag (kiçik üst-mətn) ===== */
.about-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--brand);
  background: var(--brand-soft);
  padding: 7px 14px;
  border-radius: var(--r-pill);
  margin-bottom: 24px;
}
.about-eyebrow .dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--brand);
  display: inline-block;
}

/* ===== Intro hero (səhifə açılışı) ===== */
.about-intro {
  max-width: 880px;
  padding: 60px 80px 80px;
  position: relative;
  z-index: 2;
}
.about-headline {
  margin-bottom: 28px;
}
.about-headline .ink,
.about-headline .mute {
  display: block;
}
.about-lede {
  font-family: 'Inter', sans-serif;
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--ink);
  opacity: 0.78;
  max-width: 680px;
  margin-bottom: 32px;
}
.about-intro-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.about-intro-pills .cluster-pill {
  background: #fff;
  border: 1px solid var(--border-soft);
}

/* ===== Story panel (2-col) ===== */
.story-panel {
  background: var(--inner);
}
.story-grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 80px;
  align-items: start;
}
.story-text h2 {
  margin-bottom: 32px;
}
.story-text h2 .ink,
.story-text h2 .mute {
  display: block;
}
.story-text p {
  font-family: 'Inter', sans-serif;
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--ink);
  opacity: 0.82;
  margin-bottom: 20px;
}
.story-text p:last-child {
  margin-bottom: 0;
}

/* ===== Timeline panel ===== */
.timeline-panel {
  background: var(--inner-2);
}
.timeline {
  list-style: none;
  padding: 0;
  margin: 48px 0 0;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 32px 64px;
}
.timeline::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  width: 2px;
  background: repeating-linear-gradient(to bottom, var(--brand) 0, var(--brand) 4px, transparent 4px, transparent 10px);
  opacity: 0.35;
  transform: translateX(-50%);
}
.timeline-item {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  position: relative;
}
.timeline-item:nth-child(odd) {
  flex-direction: row-reverse;
  text-align: right;
  justify-self: end;
  padding-right: 32px;
}
.timeline-item:nth-child(even) {
  padding-left: 32px;
}
.timeline-year {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 1.5rem;
  color: var(--brand);
  background: #fff;
  padding: 10px 18px;
  border-radius: var(--r-pill);
  box-shadow: 0 4px 14px rgba(91, 79, 207, 0.18);
  white-space: nowrap;
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}
.timeline-item.current .timeline-year {
  background: var(--brand);
  color: #fff;
  box-shadow: 0 6px 20px rgba(91, 79, 207, 0.4);
}
.timeline-card {
  background: #fff;
  border-radius: 20px;
  padding: 22px 26px;
  box-shadow: 0 6px 20px rgba(26, 26, 77, 0.08);
  flex: 1;
  transition: transform 280ms var(--ease-out), box-shadow 280ms var(--ease-out);
}
.timeline-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(26, 26, 77, 0.14);
}
.timeline-card h4 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  color: var(--ink);
  margin: 0 0 8px;
  letter-spacing: -0.01em;
}
.timeline-card p {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--ink);
  opacity: 0.72;
  margin: 0;
}

/* ===== Team panel ===== */
.team-panel {
  background: var(--inner);
}
.team-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 40px;
}
.team-card {
  background: #fff;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(26, 26, 77, 0.08);
  transition: transform 320ms var(--ease-out), box-shadow 320ms var(--ease-out);
}
.team-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 36px rgba(26, 26, 77, 0.14);
}
.team-photo {
  height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #5B4FCF 0%, #7C6FE0 100%);
}
.team-photo-2 {
  background: linear-gradient(135deg, #FB923C 0%, #F472B6 100%);
}
.team-photo-3 {
  background: linear-gradient(135deg, #14B8A6 0%, #06B6D4 100%);
}
.team-photo .photo-initial {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 5rem;
  color: rgba(255, 255, 255, 0.85);
  letter-spacing: -0.04em;
}
.team-card-body {
  padding: 28px 28px 32px;
}
.team-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.team-card-head h3 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  color: var(--ink);
  margin: 0;
  letter-spacing: -0.01em;
}
.team-linkedin {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--inner);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--ink);
  opacity: 0.55;
  transition: opacity 200ms, background 200ms, color 200ms;
}
.team-linkedin:hover {
  opacity: 1;
  background: var(--brand-soft);
  color: var(--brand);
}
.team-role {
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--brand);
  margin: 4px 0 16px;
}
.team-bio {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--ink);
  opacity: 0.75;
  margin: 0;
}
.team-note {
  margin-top: 32px;
  text-align: center;
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  color: var(--ink);
  opacity: 0.6;
  font-style: italic;
}

/* ===== Process panel ===== */
.process-panel {
  background: var(--inner-2);
}
.process-steps {
  list-style: none;
  padding: 0;
  margin: 40px 0 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  position: relative;
}
.process-steps::before {
  content: '';
  position: absolute;
  top: 28px;
  left: 8%;
  right: 8%;
  height: 2px;
  background: repeating-linear-gradient(to right, var(--brand) 0, var(--brand) 6px, transparent 6px, transparent 14px);
  opacity: 0.3;
  z-index: 0;
}
.process-step {
  background: #fff;
  border-radius: 24px;
  padding: 28px 22px 26px;
  text-align: center;
  position: relative;
  z-index: 1;
  box-shadow: 0 4px 14px rgba(26, 26, 77, 0.06);
  transition: transform 280ms var(--ease-out), box-shadow 280ms var(--ease-out);
}
.process-step:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(26, 26, 77, 0.12);
}
.step-num {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--brand);
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px;
  box-shadow: 0 6px 16px rgba(91, 79, 207, 0.3);
}
.process-step h4 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.0625rem;
  color: var(--ink);
  margin: 0 0 10px;
  letter-spacing: -0.01em;
}
.process-step p {
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--ink);
  opacity: 0.7;
  margin: 0;
}

/* ===== Values panel ===== */
.values-panel {
  background: var(--inner);
}
.values-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 40px;
}
.value-card {
  background: #fff;
  border-radius: 28px;
  padding: 36px 32px 40px;
  position: relative;
  box-shadow: 0 4px 14px rgba(26, 26, 77, 0.06);
  transition: transform 280ms var(--ease-out), box-shadow 280ms var(--ease-out);
  border-top: 4px solid var(--brand);
  overflow: hidden;
}

/* Glass icon — kartın sağ-yuxarı küncündə, dəyər rəqəmi ilə birgə görünür */
.value-icon {
  position: absolute;
  top: 22px;
  right: 24px;
  width: 68px;
  height: 68px;
  pointer-events: none;
  user-select: none;
  transition: transform 320ms var(--ease-out);
}
.value-card:hover .value-icon {
  transform: translateY(-3px) scale(1.04);
}
/* Icon h3 ilə üst-üstə düşməsin */
.value-card:has(.value-icon) h3 {
  padding-right: 72px;
}
@media (max-width: 600px) {
  .value-icon { width: 52px; height: 52px; top: 18px; right: 18px; }
  .value-card:has(.value-icon) h3 { padding-right: 56px; }
}
.value-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(26, 26, 77, 0.12);
}
.value-2 { border-top-color: #FB923C; }
.value-3 { border-top-color: #14B8A6; }

.value-num {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 2.25rem;
  color: var(--brand);
  opacity: 0.18;
  letter-spacing: -0.04em;
  margin-bottom: 8px;
}
.value-2 .value-num { color: #FB923C; }
.value-3 .value-num { color: #14B8A6; }

.value-card h3 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.375rem;
  color: var(--ink);
  margin: 0 0 14px;
  letter-spacing: -0.02em;
  line-height: 1.2;
}
.value-card p {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--ink);
  opacity: 0.78;
  margin: 0;
}

/* ===== Stats strip ===== */
.stats-about-panel {
  background: var(--inner-2);
}
.stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.stat-card {
  /* ⚠️ style.css:755 `.stat-card` qaydası ana səhifə üçündür (min-height:360px,
     display:flex, text-align:center). Haqqımızda kartları KİÇİK və SOLA
     hizalıdır — sızan xassələri açıq şəkildə sıfırlayırıq. */
  min-height: 0;
  display: block;
  text-align: left;
  background: #fff;
  border-radius: 24px;
  padding: 32px 26px;
  box-shadow: 0 4px 14px rgba(26, 26, 77, 0.06);
  transition: transform 260ms var(--ease-out), box-shadow 260ms var(--ease-out);
}
.stat-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(26, 26, 77, 0.12);
}
.stat-num {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 3rem;
  color: var(--brand);
  letter-spacing: -0.04em;
  line-height: 1;
}
.stat-1 .stat-num { color: var(--brand); }
.stat-2 .stat-num { color: #FB923C; }
.stat-3 .stat-num { color: #14B8A6; }
.stat-4 .stat-num { color: #EF4444; }
.stat-num .plus {
  font-size: 1.5rem;
  vertical-align: super;
  margin-left: 2px;
  font-weight: 700;
}
.stat-label {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: var(--ink);
  margin: 8px 0 14px;
}
.stat-card p {
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--ink);
  opacity: 0.7;
  margin: 0;
}

/* ===== Office panel ===== */
.office-panel {
  background: var(--inner);
}
.office-grid {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 64px;
  align-items: stretch;
}
.office-info h2 {
  margin-bottom: 20px;
}
.office-info h2 .ink,
.office-info h2 .mute {
  display: block;
}
.office-lede {
  font-family: 'Inter', sans-serif;
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--ink);
  opacity: 0.78;
  margin-bottom: 32px;
}
.office-meta {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.office-meta li {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 16px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border-soft);
}
.office-meta li:last-child {
  border-bottom: none;
}
.meta-label {
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--ink);
  opacity: 0.55;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.meta-value {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  color: var(--ink);
  text-decoration: none;
}
a.meta-value:hover {
  color: var(--brand);
}
.office-cta-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

/* interaktiv xəritə (OpenStreetMap iframe + Apple Maps CTA) */
.office-map {
  position: relative;
  border-radius: 32px;
  overflow: hidden;
  min-height: 420px;
  border: 1px solid var(--border-soft);
  background: var(--inner-2);
  box-shadow: 0 8px 24px rgba(26, 26, 77, 0.06);
}
.office-map-frame {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
.office-map-cta {
  position: absolute;
  bottom: 16px;
  right: 16px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px 10px 12px;
  background: #fff;
  border-radius: var(--r-pill);
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--ink);
  text-decoration: none;
  box-shadow: 0 6px 18px rgba(26, 26, 77, 0.16), 0 1px 2px rgba(26, 26, 77, 0.06);
  transition: transform 200ms ease, box-shadow 200ms ease;
  z-index: 2;
}
.office-map-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(26, 26, 77, 0.22), 0 1px 2px rgba(26, 26, 77, 0.06);
}
.office-map-cta svg {
  flex-shrink: 0;
  filter: drop-shadow(0 2px 4px rgba(91, 79, 207, 0.3));
}

/* ===== Banner ghost button (CTA panel) ===== */
.btn-banner-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 24px;
  border-radius: var(--r-pill);
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 0.9375rem;
  color: #fff;
  text-decoration: none;
  border: 1.5px solid rgba(255, 255, 255, 0.4);
  transition: background 200ms, border-color 200ms;
}
.btn-banner-ghost:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.7);
}

/* ============================================
   About-page illustrations — page heroes
   v9.19 — Haqqımızda hero replaced with new man+laptop illustration
   ============================================ */

/* === 1. INTRO — 2-col grid with hero passport on right === */
.about-intro--grid {
  display: grid;
  grid-template-columns: 1fr 0.85fr;
  gap: 56px;
  align-items: center;
  max-width: none;          /* override 880px from base .about-intro */
  padding: 80px 80px 90px;
}
.about-intro--grid .about-intro-text {
  max-width: 580px;
}
.about-intro-art {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.about-intro-art img {
  width: 100%;
  height: auto;
  max-width: 460px;
  display: block;
  /* gentle float */
  animation: aboutArtFloat 6s ease-in-out infinite;
}
/* Card variant — for images with their own background (e.g. gradient illustrations) */
.about-intro-art--card img {
  border-radius: 20px;
  box-shadow: 0 12px 32px rgba(13, 10, 50, 0.18);
}
@keyframes aboutArtFloat {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-6px); }
}

/* === 2 & 3. SECTION-HEAD ART — for timeline + process === */
.section-head-art {
  flex-shrink: 0;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  max-width: 360px;
  width: 36%;
}
.section-head-art img {
  width: 100%;
  height: auto;
  display: block;
  max-width: 360px;
}

/* === 4. STATS GLOBE — bigger, anchored to right === */
.stats-about-panel .section-head {
  align-items: center;          /* center-align for the larger globe */
  padding-bottom: 40px;
}
.section-head-art--globe {
  width: 32%;
  max-width: 260px;
  align-items: center;
  justify-content: center;
}
.section-head-art--globe img {
  max-width: 240px;
  /* slow rotation hint — only the halo, achieved via subtle scale */
  animation: globePulse 5s ease-in-out infinite;
}
@keyframes globePulse {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.02); }
}

/* === 5. CTA BANNER POSTCARD === */
.panel-banner--with-art {
  /* Reserve room on the right for the postcard */
  padding-right: clamp(80px, 22vw, 280px);
}
.banner-postcard-art {
  position: absolute;
  right: 32px;
  top: 50%;
  transform: translateY(-50%);
  width: 320px;
  pointer-events: none;
  /* subtle drop-shadow for elevation on purple */
  filter: drop-shadow(0 14px 30px rgba(13, 10, 50, 0.28));
  /* gentle wobble */
  animation: postcardSway 7s ease-in-out infinite;
}
.banner-postcard-art img {
  width: 100%;
  height: auto;
  display: block;
}
@keyframes postcardSway {
  0%, 100% { transform: translateY(-50%) rotate(0deg); }
  50%      { transform: translateY(-52%) rotate(1.2deg); }
}

/* === Responsive — tablet === */
@media (max-width: 1024px) {
  .about-intro--grid {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 50px 50px 60px;
  }
  .about-intro-art {
    order: -1;                   /* art on top on tablet/mobile */
    max-width: 360px;
    margin: 0 auto;
  }
  .about-intro-art img { max-width: 320px; }

  .section-head-art {
    width: 30%;
    max-width: 280px;
  }
  .section-head-art img { max-width: 280px; }

  .section-head-art--globe { max-width: 200px; }
  .section-head-art--globe img { max-width: 180px; }

  .panel-banner--with-art { padding-right: 80px; }
  .banner-postcard-art {
    width: 220px;
    right: 16px;
    opacity: 0.85;
  }
}

/* === Responsive — mobile (hide art on smallest screens) === */
@media (max-width: 700px) {
  .about-intro--grid { padding: 36px 28px 48px; gap: 24px; }
  .about-intro-art { max-width: 260px; }
  .about-intro-art img { max-width: 240px; }

  /* On mobile, hide section-head art to keep heads clean & legible */
  .section-head-art { display: none; }

  /* Postcard moves below the CTA copy on mobile, smaller */
  .panel-banner--with-art { padding-right: 32px; padding-bottom: 32px; }
  .banner-postcard-art {
    position: relative;
    right: auto;
    top: auto;
    transform: none;
    width: 200px;
    margin: 32px auto 0;
    display: block;
    animation: none;
  }
}

/* ============================================
   Responsive — tablet / mobile
   ============================================ */

@media (max-width: 1024px) {
  .about-intro { padding: 50px 50px 60px; }

  .story-grid { grid-template-columns: 1fr; gap: 40px; }

  .timeline { grid-template-columns: 1fr; gap: 16px; }
  .timeline::before { left: 28px; }
  .timeline-item:nth-child(odd),
  .timeline-item:nth-child(even) {
    flex-direction: row;
    text-align: left;
    justify-self: start;
    padding-left: 0;
    padding-right: 0;
  }
  .timeline-year { min-width: 80px; text-align: center; font-size: 1.125rem; padding: 8px 14px; }

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

  .team-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .team-grid .team-card:last-child { grid-column: 1 / -1; max-width: 50%; margin: 0 auto; }

  .values-grid { grid-template-columns: 1fr; }

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

  .office-grid { grid-template-columns: 1fr; gap: 40px; }
  .office-map { min-height: 320px; }
}

@media (max-width: 700px) {
  .about-intro { padding: 36px 28px 48px; }
  .about-headline { font-size: 2rem; }
  .about-lede { font-size: 1rem; }


  .timeline-item { gap: 12px; }
  .timeline-year { min-width: 64px; font-size: 0.9375rem; padding: 6px 10px; }
  .timeline-card { padding: 16px 18px; border-radius: 16px; }
  .timeline-card h4 { font-size: 1rem; }

  .team-grid { grid-template-columns: 1fr; }
  .team-grid .team-card:last-child { max-width: 100%; }
  .team-photo { height: 220px; }
  .team-photo .photo-initial { font-size: 4rem; }

  .process-steps { grid-template-columns: 1fr; }
  .process-step {
    display: grid;
    grid-template-columns: 48px 1fr;
    grid-template-rows: auto auto;
    column-gap: 16px;
    row-gap: 4px;
    text-align: left;
    padding: 22px 22px;
    align-items: start;
  }
  .step-num {
    grid-row: 1 / span 2;
    margin: 0;
    width: 48px; height: 48px;
    font-size: 0.875rem;
    align-self: start;
  }
  .process-step h4 {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
    align-self: center;
  }
  .process-step p {
    grid-column: 2;
    grid-row: 2;
    margin-top: 6px;
  }

  .values-grid { gap: 16px; }
  .value-card { padding: 28px 24px 32px; border-radius: 20px; }

  .stats-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
  .stat-card { padding: 24px 20px; border-radius: 18px; }
  .stat-num { font-size: 2.25rem; }

  .office-meta li { grid-template-columns: 1fr; gap: 4px; }
  .office-cta-row .btn { width: 100%; justify-content: center; }
}

/* ============================================================
   Senior redesign refinements (Haqqımızda)
   ============================================================ */

/* Oxu abzasları — qlobal justify "çaylarını" ləğv et (sol düzülüş) */
.about-lede,
.timeline-card p,
.team-bio,
.value-card p,
.stat-card p,
.office-lede,
.proof-quote { text-align: left; }

/* Kartlar → dizayn-sistem tokenləri (vahid radius, kölgə, hover hərəkəti) */
.timeline-card,
.team-card,
.value-card,
.stat-card {
  border-radius: var(--r-lg);
  box-shadow: var(--shadow);
  transition: transform 280ms var(--ease-out), box-shadow 280ms var(--ease-out);
}
.timeline-card:hover,
.team-card:hover,
.value-card:hover,
.stat-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}

/* ===== Proof (tələbə nəticələri) bandı ===== */
.proof-panel { background: var(--inner-2); }
.proof-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  margin-top: 8px;
}
.proof-card {
  background: #fff;
  border-radius: var(--r-lg);
  box-shadow: var(--shadow);
  padding: 26px 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: transform 280ms var(--ease-out), box-shadow 280ms var(--ease-out);
}
.proof-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.proof-top { display: flex; align-items: center; gap: 13px; }
.proof-avatar {
  width: 50px; height: 50px; border-radius: 50%;
  object-fit: cover; object-position: center top;
  background: var(--inner-2); flex-shrink: 0;
}
.proof-name {
  font-family: 'Montserrat', sans-serif; font-weight: 700;
  font-size: 1rem; color: var(--ink); line-height: 1.2;
}
.proof-uni {
  font-family: 'Inter', sans-serif; font-size: 0.8125rem;
  color: var(--ink); opacity: 0.62; margin-top: 3px;
}
.proof-quote {
  font-family: 'Inter', sans-serif; font-size: 0.9375rem;
  line-height: 1.55; color: var(--ink); opacity: 0.82; margin: 0;
}
@media (max-width: 860px) {
  .proof-grid { grid-template-columns: 1fr; }
}


/* ===== services.css ===== */
/* ============================================
   Xidmətlər səhifəsi — yalnız bu səhifə üçün
   ============================================ */

/* ===== Services overview grid (4 cards) ===== */
.services-overview {
  background: var(--inner);
}
.services-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  margin-top: 40px;
}
.service-card {
  background: #fff;
  border-radius: 28px;
  padding: 36px 36px 32px;
  text-decoration: none;
  color: var(--ink);
  position: relative;
  box-shadow: 0 4px 14px rgba(26, 26, 77, 0.06);
  transition: transform 280ms var(--ease-out), box-shadow 280ms var(--ease-out);
  display: block;
  border-top: 4px solid var(--brand);
  overflow: hidden;
}

/* Glass icon — kartın sağ-yuxarı küncündə yumşaq glassmorphism effekt.
   Rəqəmlə yan-yana dayanır, böyüklük olaraq ona uyğun görünür. */
.service-icon {
  position: absolute;
  top: 24px;
  right: 28px;
  width: 76px;
  height: 76px;
  pointer-events: none;
  user-select: none;
  /* Yüngül "lift" — kartın hover-ində icon da bir az yuxarı qalxır */
  transition: transform 320ms var(--ease-out);
}
.service-card:hover .service-icon {
  transform: translateY(-3px) scale(1.04);
}
/* Icon h3 ilə üst-üstə düşməsin — kart başlığının yuxarı sağ küncünü qoru */
.service-card:has(.service-icon) h3 {
  padding-right: 80px;       /* icon ölçüsü qədər boşluq */
}
/* Mobil ekranda icon kiçik — paddinq lazım deyil */
@media (max-width: 600px) {
  .service-icon { width: 56px; height: 56px; top: 20px; right: 20px; }
  .service-card:has(.service-icon) h3 { padding-right: 60px; }
}
.service-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 36px rgba(26, 26, 77, 0.14);
}
.service-card.sc-2 { border-top-color: #FB923C; }
.service-card.sc-3 { border-top-color: #14B8A6; }
.service-card.sc-4 { border-top-color: #22C55E; }

.service-num {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 2.5rem;
  color: var(--brand);
  opacity: 0.18;
  letter-spacing: -0.04em;
  line-height: 1;
  margin-bottom: 16px;
}
.sc-2 .service-num { color: #FB923C; }
.sc-3 .service-num { color: #14B8A6; }
.sc-4 .service-num { color: #22C55E; }

.service-card h3 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--ink);
  margin: 0 0 14px;
  letter-spacing: -0.02em;
  line-height: 1.2;
}
.service-card p {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--ink);
  opacity: 0.7;
  margin: 0 0 16px;
}
.service-card-arrow {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.5rem;
  color: var(--brand);
  font-weight: 600;
  display: inline-block;
  transition: transform 220ms var(--ease-out);
}
.sc-2 .service-card-arrow { color: #FB923C; }
.sc-3 .service-card-arrow { color: #14B8A6; }
.sc-4 .service-card-arrow { color: #22C55E; }
.service-card:hover .service-card-arrow { transform: translateX(6px); }

/* ===== Service detail panels (alternating layouts) ===== */
.service-detail {
  background: var(--inner);
}
.service-detail.sd-2 { background: var(--inner-2); }
.service-detail.sd-3 { background: var(--inner); }
.service-detail.sd-4 { background: var(--inner-2); }

/* Mətn sütunu vizualdan geniş (1.2 / 0.8). Səbəb: bərabər bölgüdə sütun
   628px olurdu və "Sizə uyğun olanı seçirik —" başlığı (724px tələb edir)
   iki sətrə bölünüb "seçirik" sözünü aşağı atırdı. 1.2fr → 754px, sığır.
   ⚠️ `reverse` panellərdə `order` mətni 2-ci xanaya keçirir, ona görə orada
   geniş xana SAĞDA olmalıdır — əks halda mətn dar xanaya düşür. */
.service-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
  gap: 64px;
  align-items: center;
}
.service-detail-grid.reverse {
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
}
.service-detail-grid.reverse .service-detail-text { order: 2; }
.service-detail-grid.reverse .service-detail-visual { order: 1; }

.service-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--brand);
  background: var(--brand-soft);
  padding: 8px 14px;
  border-radius: var(--r-pill);
  margin-bottom: 24px;
  letter-spacing: 0.02em;
}
.service-tag.tag-orange { color: #FB923C; background: rgba(251, 146, 60, 0.12); }
.service-tag.tag-teal { color: #14B8A6; background: rgba(20, 184, 166, 0.12); }
.service-tag.tag-green { color: #22C55E; background: rgba(34, 197, 94, 0.12); }

.service-detail-text h2 {
  margin-bottom: 24px;
}
.service-detail-text h2 .ink,
.service-detail-text h2 .mute {
  display: block;
}

.service-lede {
  font-family: 'Inter', sans-serif;
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--ink);
  opacity: 0.82;
  margin-bottom: 32px;
}

.service-included {
  background: #fff;
  border-radius: 24px;
  padding: 28px 32px;
  box-shadow: 0 4px 14px rgba(26, 26, 77, 0.05);
}
.service-included h4 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.0625rem;
  color: var(--ink);
  margin: 0 0 16px;
  letter-spacing: -0.01em;
}
.service-included ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.service-included li {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--ink);
  opacity: 0.8;
  padding-left: 22px;
  position: relative;
}
.service-included li::before {
  content: '';
  position: absolute;
  left: 0; top: 9px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--brand);
}
.sd-2 .service-included li::before { background: #FB923C; }
.sd-3 .service-included li::before { background: #14B8A6; }
.sd-4 .service-included li::before { background: #22C55E; }

.service-included strong {
  font-weight: 600;
  color: var(--ink);
  opacity: 1;
}

/* ===== Visual cards (right-side mockups) ===== */
.service-detail-visual {
  display: flex;
  align-items: center;
  justify-content: center;
}
.visual-card {
  background: #fff;
  border-radius: 28px;
  box-shadow: 0 18px 40px rgba(26, 26, 77, 0.12);
  padding: 24px;
  width: 100%;
  max-width: 420px;
}

/* Visual #1 — Universities list */
.visual-uni .visual-card-head,
.visual-teq .visual-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
}
.visual-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--inner);
  padding: 6px 12px;
  border-radius: var(--r-pill);
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--ink);
}
.visual-pill .dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  display: inline-block;
}
.visual-meta {
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  color: var(--ink);
  opacity: 0.55;
  font-weight: 500;
}
.visual-list {
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
}
.visual-list li {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 0;
  border-bottom: 1px solid var(--border-soft);
}
.visual-list li:last-child { border-bottom: none; }
.vl-num {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--brand-soft);
  color: var(--brand);
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.8125rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.vl-title {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--ink);
  flex: 1;
}
.vl-tag {
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  color: var(--ink);
  opacity: 0.55;
  background: var(--inner);
  padding: 4px 10px;
  border-radius: var(--r-pill);
}
.visual-foot {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--border-soft);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.visual-foot-label {
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  color: var(--ink);
  opacity: 0.55;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.visual-foot-action {
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--brand);
}

/* Visual #2 — Scholarship deadlines */
.visual-deadline-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.dl-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px 14px;
  background: var(--inner);
  border-radius: 14px;
  transition: background 200ms;
}
.dl-item:hover { background: var(--inner-2); }
.dl-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.dl-item > div {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex: 1;
}
.dl-name {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--ink);
}
.dl-date {
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  color: var(--ink);
  opacity: 0.65;
}

/* Visual #3 — Document mockup with comments */
.visual-doc {
  padding: 32px 28px;
}
.doc-mockup {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.doc-line {
  background: var(--inner-2);
  border-radius: 4px;
  height: 12px;
}
.doc-line.dl-title {
  height: 16px;
  width: 60%;
  background: var(--ink);
  opacity: 0.85;
}
.doc-line.dl-sub {
  height: 8px;
  width: 35%;
  background: var(--mute-2);
  margin-bottom: 8px;
}
.doc-paragraph {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.doc-paragraph span {
  height: 10px;
  background: var(--inner-2);
  border-radius: 3px;
}
.doc-paragraph span:nth-child(1) { width: 60px; }
.doc-paragraph span:nth-child(2) { width: 80px; }
.doc-paragraph span:nth-child(3) { width: 50px; }
.doc-paragraph span:nth-child(4) { width: 90px; }
.doc-paragraph span:nth-child(5) { width: 70px; }
.doc-paragraph span:nth-child(6) { width: 65px; }
.doc-paragraph span:nth-child(7) { width: 50px; }
.doc-paragraph span.highlight {
  background: rgba(91, 79, 207, 0.25);
  position: relative;
}
.doc-paragraph span.highlight-teal {
  background: rgba(20, 184, 166, 0.3);
  width: 110px !important;
}
.doc-comment {
  margin-left: auto;
  margin-top: -4px;
  margin-bottom: 4px;
}
.doc-comment-bubble {
  background: var(--brand-soft);
  border: 1px solid rgba(91, 79, 207, 0.25);
  border-radius: 14px;
  padding: 8px 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  max-width: 240px;
}
.dc-avatar {
  width: 22px; height: 22px;
  border-radius: 50%;
  background: var(--brand);
  color: #fff;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.6875rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.dc-text {
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  color: var(--ink);
  line-height: 1.4;
}

/* Visual #4 — Visa stamp + checklist */
.visual-viza {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  padding: 32px 28px;
}
.visa-stamp {
  width: 140px;
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.stamp-ring {
  width: 100%;
  height: 100%;
  border: 3px solid #22C55E;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 16px;
  transform: rotate(-8deg);
  box-shadow: inset 0 0 0 1px rgba(34, 197, 94, 0.3);
  position: relative;
}
.stamp-ring::before,
.stamp-ring::after {
  content: '';
  position: absolute;
  left: 8px; right: 8px;
  height: 1px;
  background: rgba(34, 197, 94, 0.4);
}
.stamp-ring::before { top: 22%; }
.stamp-ring::after  { bottom: 22%; }
.stamp-text-top,
.stamp-text-bot {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 0.875rem;
  color: #22C55E;
  letter-spacing: 0.2em;
}
.stamp-check {
  font-size: 2.5rem;
  font-weight: 700;
  color: #22C55E;
  line-height: 1;
}
.visa-checklist {
  list-style: none;
  padding: 0;
  margin: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.vc-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  background: var(--inner);
  border-radius: 12px;
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  color: var(--ink);
}
.vc-item.done { opacity: 0.7; }
.vc-item.done span:last-child { text-decoration: line-through; }
.vc-item.current { background: rgba(34, 197, 94, 0.1); font-weight: 600; }
.vc-icon {
  width: 22px; height: 22px;
  border-radius: 50%;
  background: #22C55E;
  color: #fff;
  font-size: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-weight: 700;
}
.vc-item.current .vc-icon {
  background: #FB923C;
}

/* ===== Start panel (3 steps with arrows) ===== */
.start-panel {
  background: var(--inner-2);
}
.start-steps {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr;
  gap: 16px;
  align-items: center;
  margin-top: 40px;
}
.start-step {
  background: #fff;
  border-radius: 24px;
  padding: 32px 28px;
  box-shadow: 0 4px 14px rgba(26, 26, 77, 0.06);
  height: 100%;
  display: flex;
  flex-direction: column;
}
.ss-num {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 2.25rem;
  color: var(--brand);
  opacity: 0.2;
  letter-spacing: -0.04em;
  margin-bottom: 8px;
}
.start-step h4 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  color: var(--ink);
  margin: 0 0 12px;
  letter-spacing: -0.01em;
}
.start-step p {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--ink);
  opacity: 0.78;
  margin: 0 0 16px;
  flex: 1;
}
.ss-link {
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--brand);
  text-decoration: none;
  transition: opacity 200ms;
}
.ss-link:hover { opacity: 0.7; }
.start-arrow {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.75rem;
  color: var(--brand);
  font-weight: 400;
  opacity: 0.45;
}

/* ===== FAQ ===== */
.faq-panel {
  background: var(--inner);
}
.faq-list {
  margin-top: 40px;
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.faq-item {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 3px 10px rgba(26, 26, 77, 0.05);
  overflow: hidden;
  transition: box-shadow 200ms;
}
.faq-item[open] {
  box-shadow: 0 10px 24px rgba(26, 26, 77, 0.1);
}
.faq-item summary {
  list-style: none;
  cursor: pointer;
  padding: 22px 28px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 1.0625rem;
  color: var(--ink);
  transition: background 180ms;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary:hover { background: var(--inner); }
.faq-toggle {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--brand-soft);
  flex-shrink: 0;
  position: relative;
  transition: background 200ms, transform 250ms var(--ease-out);
}
.faq-toggle::before,
.faq-toggle::after {
  content: '';
  position: absolute;
  background: var(--brand);
  top: 50%; left: 50%;
}
.faq-toggle::before {
  width: 12px; height: 2px;
  transform: translate(-50%, -50%);
}
.faq-toggle::after {
  width: 2px; height: 12px;
  transform: translate(-50%, -50%);
  transition: transform 250ms var(--ease-out);
}
.faq-item[open] .faq-toggle { background: var(--brand); }
.faq-item[open] .faq-toggle::before { background: #fff; }
.faq-item[open] .faq-toggle::after  { transform: translate(-50%, -50%) scaleY(0); background: #fff; }

.faq-body {
  padding: 0 28px 24px;
}
.faq-body p {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--ink);
  opacity: 0.78;
  margin: 0;
}

/* ============================================
   Responsive
   ============================================ */

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

  .service-detail-grid { grid-template-columns: 1fr; gap: 40px; }
  /* ⚠️ `.reverse` üçün AYRICA sıfırlama MƏCBURİDİR: yuxarıdakı asimmetrik
     qayda (.service-detail-grid.reverse) daha yüksək spesifiklikdədir və
     media sorğusundan kənarda olduğuna görə bu 1fr-i üstələyir — nəticədə
     reverse panellər dar ekranda da 2 sütunlu qalıb mətni sıxırdı. */
  .service-detail-grid.reverse { grid-template-columns: 1fr; }
  .service-detail-grid.reverse .service-detail-text { order: 1; }
  .service-detail-grid.reverse .service-detail-visual { order: 2; }
  .visual-card { max-width: 480px; margin: 0 auto; }

  .start-steps {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  /* Mobile arrows sit BETWEEN cards in the gap, not overlapping them.
     The downward-pointing rotation reads as "next step ↓" naturally. */
  .start-arrow {
    transform: rotate(90deg);
    margin: 4px 0;
    text-align: center;
    font-size: 1.5rem;
    opacity: 0.4;
  }
}

@media (max-width: 700px) {
  .service-card { padding: 28px 26px 26px; border-radius: 22px; }
  .service-card h3 { font-size: 1.25rem; }
  .service-num { font-size: 2rem; }

  .service-tag { font-size: 0.75rem; padding: 6px 12px; }
  .service-included { padding: 22px 22px; border-radius: 18px; }
  .service-included li { font-size: 0.9375rem; }

  .visual-card { padding: 20px; border-radius: 22px; }
  .visa-stamp { width: 110px; height: 110px; }
  .stamp-text-top, .stamp-text-bot { font-size: 0.75rem; }
  .stamp-check { font-size: 2rem; }

  .start-step { padding: 26px 22px; border-radius: 20px; }

  .faq-item summary { padding: 18px 22px; font-size: 0.9375rem; gap: 12px; }
  .faq-toggle { width: 24px; height: 24px; }
  .faq-toggle::before { width: 10px; }
  .faq-toggle::after { height: 10px; }
  .faq-body { padding: 0 22px 20px; }
}

/* Xidmət bölmə başlıqlarını desktopda biraz kiçilt (mobil toxunulmur) */
@media (min-width: 701px) {
  .service-detail-text h2 { font-size: clamp(2.2rem, 4.8vw, 3.6rem); }
}

/* ============================================================
   YIĞCAMLAŞDIRMA — boş şaquli sahələrin azaldılması
   Ölçülmüş nəticə: səhifə 6673px → 6187px (−486px, −7,3%).
   ⚠️ Qlobal `--panel-pad` (80px) DƏYİŞDİRİLMİR — o, bütün saytda işlənir.
   Burada yalnız bu səhifənin panelləri üçün şaquli padding azaldılır;
   üfüqi padding olduğu kimi qalır ki, sətir uzunluğu pozulmasın.
   ============================================================ */
/* ⚠️ YALNIZ desktop: mobildə `--panel-pad` onsuz da 40px-dir, 52px yazsaq
   paneli BÖYÜDƏRİK. Media sorğusu olmadan bu, mobil geriləməsi yaradırdı. */
@media (min-width: 901px) {
  .services-overview,
  .service-detail,
  .start-panel,
  .faq-panel {
    padding-top: 52px;
    padding-bottom: 52px;
  }
}

/* Başlıq bloku ilə məzmun arasındakı boşluqlar */
.section-head { gap: 24px; }
.services-grid,
.start-steps,
.faq-list { margin-top: 28px; }

/* Xidmət panelinin mətn ritmi (teq → başlıq → izah → siyahı) */
.service-tag { margin-bottom: 16px; }
.service-detail-text h2 { margin-bottom: 16px; }
.service-lede { margin-bottom: 24px; line-height: 1.55; }
.service-included { padding: 22px 26px; }


/* ===== countries.css ===== */
/* ============================================
   Ölkələr səhifəsi
   ============================================ */

/* ===== Decision helper (3 keys) ===== */
.decision-helper {
  background: var(--inner);
}
.dh-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 64px;
  align-items: start;
}
.dh-text h2 {
  margin: 16px 0 20px;
}
.dh-text h2 .ink, .dh-text h2 .mute { display: block; }
.dh-text p {
  font-family: 'Inter', sans-serif;
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--ink);
  opacity: 0.78;
  margin: 0;
}
.dh-keys {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.dh-key {
  background: #fff;
  border-radius: 22px;
  padding: 24px 28px;
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 18px;
  row-gap: 6px;
  align-items: start;
  box-shadow: 0 4px 14px rgba(26, 26, 77, 0.06);
  transition: transform 260ms var(--ease-out), box-shadow 260ms var(--ease-out);
  border-left: 4px solid var(--brand);
}
.dh-key:nth-child(2) { border-left-color: #FB923C; }
.dh-key:nth-child(3) { border-left-color: #14B8A6; }
.dh-key:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(26, 26, 77, 0.12);
}
.dh-key-num {
  grid-row: 1 / span 2;
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 1.5rem;
  color: var(--brand);
  opacity: 0.25;
  letter-spacing: -0.04em;
}
.dh-key:nth-child(2) .dh-key-num { color: #FB923C; }
.dh-key:nth-child(3) .dh-key-num { color: #14B8A6; }
.dh-key h4 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  color: var(--ink);
  margin: 0;
  letter-spacing: -0.01em;
}
.dh-key p {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--ink);
  opacity: 0.75;
  margin: 0;
  grid-column: 2;
}

/* ===== Spotlight horizontal carousel ===== */
.spotlight-panel {
  background: var(--inner-2);
  position: relative;
}

/* head: title + actions on the right */
.spotlight-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 36px;
  flex-wrap: wrap;
}
.spotlight-head .section-head-text {
  flex: 1;
  min-width: 280px;
}
.spotlight-head .section-head-text h2 {
  font-size: clamp(2rem, 4.5vw, 3.25rem);
  letter-spacing: -0.04em;
  line-height: 1.05;
  margin: 0 0 12px;
}
.spotlight-head .section-head-text p {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  color: var(--ink);
  opacity: 0.7;
  margin: 0;
  max-width: 540px;
}

.spotlight-head-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}

/* "Hamısına bax" link */
.spotlight-see-all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  color: var(--brand);
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 0.9375rem;
  padding: 12px 20px;
  border-radius: var(--r-pill);
  text-decoration: none;
  border: 1px solid var(--border-soft);
  transition: background 200ms, transform 200ms, border-color 200ms;
}
.spotlight-see-all:hover {
  background: var(--brand-gradient);
  color: #fff;
  border-color: transparent;
}
.see-all-arrow {
  display: inline-block;
  transition: transform 220ms var(--ease-out);
}
.spotlight-see-all:hover .see-all-arrow {
  transform: translateX(4px);
}

/* nav arrows */
.spotlight-nav {
  display: flex;
  gap: 8px;
}
.sp-nav-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--border-soft);
  color: var(--ink);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 200ms;
}
.sp-nav-btn:hover {
  background: var(--brand-gradient);
  color: #fff;
  border-color: transparent;
  transform: translateY(-2px);
}
.sp-nav-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
  transform: none;
}
.sp-nav-btn:disabled:hover {
  background: #fff;
  color: var(--ink);
  border-color: var(--border-soft);
  transform: none;
}

/* the scrollable track */
.spotlight-carousel-wrap {
  position: relative;
  margin: 0 -80px; /* break out of panel padding so cards can flush against panel edge */
}
.spotlight-track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding: 8px 80px 32px; /* matches panel-pad horizontal */
  scrollbar-width: none;
}
.spotlight-track::-webkit-scrollbar { display: none; }

/* each card: fixed width, snap-aligned */
.spotlight-card {
  flex: 0 0 340px;
  scroll-snap-align: start;
  cursor: pointer;
  background: #fff;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(26, 26, 77, 0.08);
  display: flex;
  flex-direction: column;
  transition: transform 320ms var(--ease-out), box-shadow 320ms var(--ease-out);
}
.spotlight-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(26, 26, 77, 0.16);
}
.sp-image {
  position: relative;
  height: 200px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 16px;
}
.sp-image::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.35) 100%);
  pointer-events: none;
}
.sp-flag {
  font-size: 2.25rem;
  position: relative;
  z-index: 2;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,0.25));
}
.sp-rank {
  position: relative;
  z-index: 2;
  background: rgba(255, 255, 255, 0.95);
  color: var(--ink);
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: var(--r-pill);
  letter-spacing: 0.02em;
}
.sp-body {
  padding: 24px 28px 28px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.sp-body h3 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--ink);
  margin: 0 0 8px;
  letter-spacing: -0.02em;
}
.sp-tagline {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  color: var(--ink);
  opacity: 0.72;
  line-height: 1.5;
  margin: 0 0 18px;
}
.sp-quick-facts {
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}
.sp-quick-facts li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px dashed var(--border-soft);
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  gap: 12px;
}
.sp-quick-facts li:last-child { border-bottom: none; }
.sp-quick-facts span {
  color: var(--ink);
  opacity: 0.6;
  flex-shrink: 0;
}
.sp-quick-facts strong {
  color: var(--ink);
  font-weight: 600;
  text-align: right;
}
.sp-link {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--brand);
  text-decoration: none;
  align-self: flex-start;
  transition: opacity 200ms;
}
.sp-link:hover { opacity: 0.7; }

/* ===== All countries with filter ===== */
.all-countries-panel {
  background: var(--inner);
}
.region-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 32px 0 36px;
}
.region-filter {
  background: #fff;
  border: 1px solid var(--border-soft);
  border-radius: var(--r-pill);
  padding: 10px 18px;
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--ink);
  cursor: pointer;
  transition: all 200ms;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.region-filter:hover {
  border-color: rgba(91, 79, 207, 0.3);
  background: var(--brand-soft);
}
.region-filter.active {
  background: var(--brand-gradient);
  color: #fff;
  border-color: transparent;
}
.rf-count {
  font-size: 0.75rem;
  font-weight: 600;
  background: var(--inner);
  color: var(--ink);
  padding: 2px 8px;
  border-radius: var(--r-pill);
  opacity: 0.7;
}
.region-filter.active .rf-count {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
  opacity: 1;
}

.countries-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.country-card {
  background: #fff;
  border-radius: 22px;
  /* `overflow: hidden` çıxarıldı: ulduz tooltip-i kart sərhədindən keçə bilsin.
     Şəkilin yumru künclərlə clip olması artıq `.cc-image` özünün
     `border-radius` və `overflow: hidden` qaydaları ilə təmin edilir
     (aşağıda 410-cu sətrdə). */
  box-shadow: 0 4px 14px rgba(26, 26, 77, 0.06);
  transition: transform 280ms var(--ease-out), box-shadow 280ms var(--ease-out), opacity 280ms;
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}
.country-card.hidden {
  display: none;
}
.country-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 32px rgba(26, 26, 77, 0.14);
}
.cc-image {
  position: relative;
  height: 130px;
  background-size: cover;
  background-position: center;
  display: flex;
  justify-content: flex-end;
  padding: 12px;
  /* Şəkil özü clip olunsun (parent-də artıq `overflow:hidden` yoxdur). */
  overflow: hidden;
  border-radius: 22px 22px 0 0;     /* yalnız üst yumru künclər */
}
/* Ölkə şəkli artıq <img loading="lazy"> (eager inline background-image deyil) —
   ekran altındakı kartlar scroll-a qədər yüklənmir (~7MB ilkin yük qənaəti).
   Təbəqələnmə: şəkil (0) < qradiyent (1) < bayraq (2). */
.cc-image-img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
}
.cc-image::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,0.25) 100%);
  pointer-events: none;
  z-index: 1;
}
.cc-flag {
  position: relative;
  z-index: 2;
  font-size: 1.75rem;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.25));
}

/* ===== DTP corner badge on country cards =====
   ÇIXARILDI — sarı "★ DTP" küncdəki pill artıq görünmür.
   DTP statusu hələ də başlıq yanındakı sarı ulduz (★) ilə işarələnir,
   bu daha az şluq və daha aydın oxunur. */
/* (boş qoyulub — köhnə qaydaları silirik) */

/* Gradient placeholder backgrounds (when no image) */
.cc-gradient .cc-flag { background: rgba(255,255,255,0.85); padding: 4px 8px; border-radius: var(--r-pill); }
.cc-grad-belgium    { background: linear-gradient(135deg, #2C2C2C 0%, #FAE042 50%, #ED2939 100%); }
.cc-grad-austria    { background: linear-gradient(135deg, #ED2939 0%, #FFFFFF 50%, #ED2939 100%); }
.cc-grad-hungary    { background: linear-gradient(135deg, #CE2939 0%, #FFFFFF 50%, #477050 100%); }
.cc-grad-poland     { background: linear-gradient(135deg, #FFFFFF 0%, #DC143C 100%); }
.cc-grad-czechia    { background: linear-gradient(135deg, #11457E 0%, #FFFFFF 50%, #D7141A 100%); }
.cc-grad-slovakia   { background: linear-gradient(135deg, #FFFFFF 0%, #0B4EA2 50%, #EE1C25 100%); }
.cc-grad-slovenia   { background: linear-gradient(135deg, #FFFFFF 0%, #0B4EA2 50%, #C8102E 100%); }
.cc-grad-romania    { background: linear-gradient(135deg, #002B7F 0%, #FCD116 50%, #CE1126 100%); }
.cc-grad-sweden     { background: linear-gradient(135deg, #006AA7 0%, #FECC00 100%); }
.cc-grad-norway     { background: linear-gradient(135deg, #BA0C2F 0%, #FFFFFF 50%, #00205B 100%); }
.cc-grad-finland    { background: linear-gradient(135deg, #FFFFFF 0%, #003580 100%); }
.cc-grad-denmark    { background: linear-gradient(135deg, #C8102E 0%, #FFFFFF 100%); }
.cc-grad-korea      { background: linear-gradient(135deg, #003478 0%, #FFFFFF 50%, #C60C30 100%); }
.cc-grad-japan      { background: linear-gradient(135deg, #FFFFFF 0%, #BC002D 100%); }
.cc-grad-china      { background: linear-gradient(135deg, #DE2910 0%, #FFDE00 100%); }
.cc-grad-australia  { background: linear-gradient(135deg, #00008B 0%, #FFFFFF 50%, #FF0000 100%); }
.cc-grad-nz         { background: linear-gradient(135deg, #00247D 0%, #FFFFFF 50%, #CC142B 100%); }

.cc-body {
  padding: 18px 20px 22px;
  flex: 1;
  display: flex;
  flex-direction: column;
}
.cc-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.cc-head h3 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.0625rem;
  color: var(--ink);
  margin: 0;
  letter-spacing: -0.01em;
}
.cc-tag {
  font-family: 'Inter', sans-serif;
  font-size: 0.6875rem;
  font-weight: 600;
  padding: 3px 9px;
  border-radius: var(--r-pill);
  white-space: nowrap;
}
.cc-tag.tag-purple { background: var(--brand-soft); color: var(--brand); }
.cc-tag.tag-orange { background: rgba(251, 146, 60, 0.15); color: #FB923C; }
.cc-tag.tag-blue   { background: rgba(59, 130, 246, 0.15); color: #3B82F6; }
.cc-tag.tag-cyan   { background: rgba(20, 184, 166, 0.15); color: #14B8A6; }

.cc-tagline {
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--ink);
  opacity: 0.65;
  margin: 0 0 14px;
  flex: 1;
}
.cc-meta {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  border-top: 1px solid var(--border-soft);
  padding-top: 12px;
}
.cc-meta li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
}
.cc-meta span {
  color: var(--ink);
  opacity: 0.55;
}
.cc-meta strong {
  color: var(--ink);
  font-weight: 600;
}

/* ===== Comparison table ===== */
.comparison-panel {
  background: var(--inner-2);
}
.comparison-wrap {
  background: #fff;
  border-radius: 24px;
  padding: 8px;
  box-shadow: 0 6px 20px rgba(26, 26, 77, 0.08);
  overflow-x: auto;
  margin-top: 40px;
}
.comparison-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  min-width: 760px;
}
.comparison-table thead th {
  padding: 18px 14px;
  background: var(--inner);
  color: var(--ink);
  font-weight: 600;
  font-size: 0.875rem;
  text-align: left;
  border-bottom: 2px solid var(--border-soft);
  white-space: nowrap;
}
.comparison-table thead th:first-child {
  border-top-left-radius: 16px;
}
.comparison-table thead th:last-child {
  border-top-right-radius: 16px;
}
.ct-flag {
  font-size: 1.125rem;
  margin-right: 6px;
  vertical-align: middle;
}
.comparison-table td {
  padding: 14px 14px;
  border-bottom: 1px solid var(--border-soft);
  color: var(--ink);
  vertical-align: top;
}
.comparison-table td.ct-feature {
  font-weight: 600;
  color: var(--ink);
  background: rgba(91, 79, 207, 0.04);
  white-space: nowrap;
}
.comparison-table tr:last-child td {
  border-bottom: none;
}
.ct-good {
  color: #22C55E;
  font-weight: 600;
}
.ct-mid {
  color: #FB923C;
  font-weight: 600;
}
.ct-bad {
  color: #EF4444;
  font-weight: 600;
}
.ct-note {
  margin: 16px 4px 0;
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  color: var(--ink);
  opacity: 0.6;
  font-style: italic;
}

/* ===== "How to choose" cards ===== */
.choose-panel {
  background: var(--inner);
}
.choose-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 40px;
}
.choose-card {
  background: #fff;
  border-radius: 22px;
  padding: 28px 26px;
  box-shadow: 0 4px 14px rgba(26, 26, 77, 0.06);
  transition: transform 280ms var(--ease-out), box-shadow 280ms var(--ease-out);
}
.choose-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 32px rgba(26, 26, 77, 0.12);
}
.choose-icon {
  width: 72px;
  height: 72px;
  display: block;
  object-fit: contain;
  margin: -4px 0 12px -8px;
}
.choose-card h4 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  color: var(--ink);
  margin: 0 0 10px;
  letter-spacing: -0.01em;
}
.choose-card p {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--ink);
  opacity: 0.75;
  margin: 0;
}

/* ============================================
   Responsive
   ============================================ */

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

@media (max-width: 1024px) {
  .dh-grid { grid-template-columns: 1fr; gap: 32px; }

  /* Carousel: smaller padding break-out and card width */
  .spotlight-carousel-wrap { margin: 0 -50px; }
  .spotlight-track { padding: 8px 50px 32px; }
  .spotlight-card { flex-basis: 320px; }

  .spotlight-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }
  .spotlight-head-actions {
    width: 100%;
    justify-content: space-between;
  }
}

/* Universal mobile fix (≤900px, where the hamburger menu also activates):
   Force the country card to hug its content instead of stretching to grid-cell
   height. Three layers of defence so this works regardless of viewport size,
   browser quirks, or which media-query block overrides which:
     1. Drop flex:1 on tagline (was absorbing leftover vertical space).
     2. Drop flex:1 on cc-body  (was expanding to fill cc-image+gap).
     3. Tell the grid not to stretch rows (align-items: start) so the
        card itself stops being forced to row height.
   The !important guards survive any later @media rule that re-sets these. */
@media (max-width: 900px) {
  .countries-grid { align-items: start !important; }
  .country-card {
    align-self: start !important;
    height: auto !important;
  }
  .cc-tagline { flex: 0 0 auto !important; }
  .cc-body {
    flex: 0 0 auto !important;
    padding-bottom: 14px;
  }
}

@media (max-width: 768px) {
  .countries-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .cc-image { height: 100px; }
  .cc-body { padding: 14px 16px 18px; }
  .cc-head h3 { font-size: 0.9375rem; }
  .cc-tag { font-size: 0.6875rem; padding: 2px 8px; }
  /* Drop flex:1 on tagline across ALL mobile sizes (not only single-column).
     Reason: with flex:1 the tagline absorbs all leftover vertical space and
     leaves a large empty gap above the meta list. On mobile the meta list
     should sit directly below the tagline regardless of column count. */
  .cc-tagline { flex: 0; font-size: 0.75rem; margin-bottom: 10px; }
  .cc-meta li { font-size: 0.6875rem; }

  .region-filters { gap: 6px; }
  .region-filter { font-size: 0.8125rem; padding: 8px 14px; }
  .rf-count { font-size: 0.6875rem; }

  .choose-grid { grid-template-columns: 1fr; }

  .dh-key { padding: 20px 22px; }

  /* Carousel mobile */
  .spotlight-carousel-wrap { margin: 0 -28px; }
  .spotlight-track { padding: 8px 28px 24px; gap: 14px; }
  .spotlight-card { flex-basis: 280px; }
  .sp-image { height: 170px; }
  .sp-body { padding: 20px 22px 24px; }
  .sp-body h3 { font-size: 1.25rem; }

  .spotlight-see-all { font-size: 0.875rem; padding: 10px 16px; }
  .sp-nav-btn { width: 38px; height: 38px; }
}

@media (max-width: 500px) {
  .countries-grid { grid-template-columns: 1fr; }
  /* Single-column mobile: cards no longer share a row, so equal-height
     stretching is unnecessary. Drop flex:1 on the tagline so the card
     hugs its content and the empty gap above the meta list disappears. */
  .cc-image { height: 110px; }
  .cc-tagline { flex: 0; margin-bottom: 12px; }
  .cc-body { padding: 14px 16px 16px; }
  .cc-meta { padding-top: 10px; gap: 4px; }
}


/* ===== country-detail.css ===== */
/* ============================================
   Ölkə detail səhifəsi (UK template)
   ============================================ */

/* cd-content is a flex container so its children (rendered panels) inherit
   the same gap as shell-level panels. Without this, render panels stack
   tightly with 0px gap because they're not direct children of .shell. */
#cd-content {
  display: flex;
  flex-direction: column;
  gap: var(--gap);
  /* Match shell's gap so cd-content seam is invisible */
  margin-top: var(--gap);
}

/* ===== Breadcrumb ===== */
.cd-breadcrumb {
  margin: 32px 80px 0;
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  color: var(--ink);
  opacity: 0.7;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.cd-breadcrumb a {
  color: var(--ink);
  text-decoration: none;
  opacity: 0.65;
  transition: opacity 200ms;
}
.cd-breadcrumb a:hover { opacity: 1; color: var(--brand); }
.bc-sep { opacity: 0.4; }
.bc-current { color: var(--brand); font-weight: 600; opacity: 1; }

/* ===== Hero ===== */
.cd-hero-panel { padding-bottom: 0; }
.cd-hero {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 64px;
  align-items: center;
  padding: 40px 80px 80px;
  position: relative;
  z-index: 2;
}
.cd-flag {
  font-size: 3.5rem;
  display: inline-block;
  margin-bottom: 16px;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.15));
}
.cd-headline {
  font-size: clamp(2.25rem, 4.5vw, 3.5rem);
  letter-spacing: -0.04em;
  line-height: 1.05;
  margin-bottom: 24px;
}
.cd-headline .ink, .cd-headline .mute { display: block; }
.cd-lede {
  font-family: 'Inter', sans-serif;
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--ink);
  opacity: 0.78;
  margin-bottom: 28px;
  max-width: 540px;
}
.cd-hero-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.cd-hero-pills .cluster-pill {
  background: #fff;
  border: 1px solid var(--border-soft);
}

.cd-hero-image {
  position: relative;
  height: 440px;
  border-radius: 32px;
  background-size: cover;
  background-position: center;
  overflow: hidden;
  box-shadow: 0 18px 50px rgba(26, 26, 77, 0.2);
}
.cd-hero-image::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.0) 30%, rgba(0,0,0,0.5) 100%);
  pointer-events: none;
}
.cd-hero-stats {
  position: absolute;
  bottom: 24px;
  left: 24px;
  right: 24px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  z-index: 2;
}
.cd-stat {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  border-radius: 16px;
  padding: 14px 16px;
  text-align: center;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
}
.cd-stat-num {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 1.5rem;
  color: var(--brand);
  letter-spacing: -0.03em;
  line-height: 1;
}
.cd-stat-label {
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  color: var(--ink);
  opacity: 0.75;
  margin-top: 4px;
  font-weight: 500;
}

/* ===== Why panel ===== */
.cd-why-panel { background: var(--inner); }
.cd-why-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 64px;
  align-items: start;
}
.cd-why-text h2 { margin: 16px 0 24px; }
.cd-why-text h2 .ink, .cd-why-text h2 .mute { display: block; }
.cd-why-text p {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--ink);
  opacity: 0.8;
  margin: 0 0 16px;
}
.cd-why-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.cd-why-list li {
  background: #fff;
  border-radius: 22px;
  padding: 22px 26px;
  display: flex;
  gap: 18px;
  align-items: flex-start;
  box-shadow: 0 4px 14px rgba(26, 26, 77, 0.06);
  transition: transform 240ms var(--ease-out);
}
.cd-why-list li:hover { transform: translateY(-3px); }
.cd-why-icon {
  font-size: 1.75rem;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  background: var(--brand-soft);
  display: flex;
  align-items: center;
  justify-content: center;
}
.cd-why-list h4 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.0625rem;
  color: var(--ink);
  margin: 0 0 6px;
}
.cd-why-list p {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--ink);
  opacity: 0.72;
  margin: 0;
}

/* ===== Quick facts grid ===== */
.cd-quick-panel { background: var(--inner-2); }
.cd-quick-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 40px;
}
.cd-quick-card {
  background: #fff;
  border-radius: 22px;
  padding: 26px 24px;
  box-shadow: 0 4px 14px rgba(26, 26, 77, 0.06);
  transition: transform 240ms var(--ease-out), box-shadow 240ms var(--ease-out);
}
.cd-quick-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(26, 26, 77, 0.12);
}
.cd-quick-icon {
  font-size: 1.75rem;
  margin-bottom: 14px;
}
.cd-quick-label {
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--ink);
  opacity: 0.6;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 6px;
}
.cd-quick-value {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  color: var(--ink);
  letter-spacing: -0.01em;
  margin-bottom: 4px;
}
.cd-quick-meta {
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  color: var(--ink);
  opacity: 0.6;
}

/* ===== Cost of living ===== */
.cd-cost-panel { background: var(--inner); }
.cd-cost-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 40px;
}
.cd-cost-card {
  background: #fff;
  border-radius: 20px;
  padding: 22px 24px;
  box-shadow: 0 4px 14px rgba(26, 26, 77, 0.06);
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto auto;
  column-gap: 16px;
  row-gap: 4px;
  align-items: center;
}
.cd-cost-icon {
  grid-row: 1 / span 3;
  width: 52px;
  height: 52px;
  border-radius: 14px;
  font-size: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cd-cost-cat {
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--ink);
  opacity: 0.7;
}
.cd-cost-amount {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  color: var(--ink);
  letter-spacing: -0.01em;
}
.cd-cost-bar {
  grid-column: 2;
  height: 4px;
  background: var(--inner-2);
  border-radius: 2px;
  overflow: hidden;
  margin-top: 6px;
}
.cd-cost-fill {
  display: block;
  height: 100%;
  border-radius: 2px;
}
.cd-cost-total {
  background: linear-gradient(135deg, #fff 0%, #F8F7F0 100%);
  border: 2px solid rgba(91, 79, 207, 0.15);
}
.cd-cost-note {
  margin-top: 16px;
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  color: var(--ink);
  opacity: 0.6;
  font-style: italic;
}

/* ===== Visa & work ===== */
.cd-visa-panel { background: var(--inner-2); }
.cd-visa-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 24px;
  margin-top: 40px;
}
.cd-visa-card {
  background: #fff;
  border-radius: 26px;
  padding: 32px 32px;
  box-shadow: 0 6px 20px rgba(26, 26, 77, 0.08);
  transition: transform 280ms var(--ease-out), box-shadow 280ms var(--ease-out);
}
.cd-visa-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(26, 26, 77, 0.14);
}
.cd-visa-tag {
  display: inline-block;
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: var(--r-pill);
  letter-spacing: 0.02em;
  margin-bottom: 16px;
}
.cd-visa-tag.tag-purple { background: var(--brand-soft); color: var(--brand); }
.cd-visa-tag.tag-green { background: rgba(34, 197, 94, 0.12); color: #22C55E; }
.cd-visa-card h3 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--ink);
  margin: 0 0 18px;
  letter-spacing: -0.02em;
}
.cd-visa-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.cd-visa-list li {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--ink);
  opacity: 0.85;
  padding-left: 22px;
  position: relative;
}
.cd-visa-list li::before {
  content: '';
  position: absolute;
  left: 0; top: 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--brand);
}
.cd-visa-list strong {
  color: var(--ink);
  font-weight: 600;
  opacity: 1;
}

/* ===== Employment opportunities ===== */
.cd-employ-panel { background: var(--inner); }
.cd-employ-list {
  margin-top: 40px;
  background: #fff;
  border-radius: 24px;
  padding: 28px 32px;
  box-shadow: 0 6px 20px rgba(26, 26, 77, 0.08);
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.cd-employ-row {
  display: grid;
  grid-template-columns: 220px 1fr 130px;
  gap: 20px;
  align-items: center;
}
.cd-employ-name {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--ink);
}
.cd-employ-bar {
  height: 10px;
  background: var(--inner);
  border-radius: 5px;
  overflow: hidden;
  position: relative;
}
.cd-employ-bar span {
  display: block;
  height: 100%;
  border-radius: 5px;
  transition: width 600ms var(--ease-out);
}
.cd-employ-badge {
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: var(--r-pill);
  text-align: center;
  /* nowrap QAYTARMA: nişan sütunu sabit endədir (masaüstü 130px, planşet 110px),
     data-da isə uzun nişanlar var, məs. amerika.json "Orta (lisenziya tələb olunur)".
     nowrap ilə mətn faiz zolağının üstünü örtür və ağ kartdan kənara çıxırdı. */
  white-space: normal;
}
.cd-badge-high { background: rgba(34, 197, 94, 0.12); color: #16A34A; }
.cd-badge-mid  { background: rgba(251, 146, 60, 0.12); color: #EA580C; }
.cd-badge-low  { background: rgba(239, 68, 68, 0.12); color: #DC2626; }

/* ===== Student life ===== */
.cd-life-panel { background: var(--inner-2); }
.cd-life-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 40px;
}
.cd-life-card {
  background: #fff;
  border-radius: 22px;
  padding: 30px 28px;
  box-shadow: 0 4px 14px rgba(26, 26, 77, 0.06);
}
.cd-life-num {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 2.25rem;
  color: var(--brand);
  letter-spacing: -0.04em;
  line-height: 1;
  margin-bottom: 6px;
}
.cd-life-label {
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 14px;
}
.cd-life-card p {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--ink);
  opacity: 0.72;
  margin: 0;
}

/* ===== Cities grid ===== */
.cd-cities-panel { background: var(--inner); }
.cd-cities-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 40px;
}
.cd-city-card {
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(26, 26, 77, 0.06);
  transition: transform 280ms var(--ease-out), box-shadow 280ms var(--ease-out);
  display: flex;
  flex-direction: column;
}
.cd-city-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 32px rgba(26, 26, 77, 0.14);
}
.cd-city-image {
  position: relative;
  height: 160px;
  flex-shrink: 0;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: flex-start;
  padding: 14px;
}
.cd-city-image::after {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0.05) 30%, rgba(0,0,0,0.4) 100%);
  pointer-events: none;
}
.cd-city-rank {
  position: relative;
  z-index: 2;
  background: rgba(255, 255, 255, 0.95);
  color: var(--ink);
  font-family: 'Inter', sans-serif;
  font-size: 0.6875rem;
  font-weight: 600;
  padding: 5px 11px;
  border-radius: var(--r-pill);
}
/* City placeholders — will be replaced with real photos when uploaded */
.cd-city-london     { background: linear-gradient(135deg, #1B365D 0%, #C8102E 100%); }
.cd-city-oxford     { background: linear-gradient(135deg, #002147 0%, #4A90A4 100%); }
.cd-city-cambridge  { background: linear-gradient(135deg, #A3C1AD 0%, #002147 100%); }
.cd-city-manchester { background: linear-gradient(135deg, #6E0F1A 0%, #C8102E 100%); }
.cd-city-edinburgh  { background: linear-gradient(135deg, #003D5B 0%, #6B8E9F 100%); }
.cd-city-glasgow    { background: linear-gradient(135deg, #1F4E79 0%, #5B9BD5 100%); }
.cd-city-birmingham { background: linear-gradient(135deg, #002A5C 0%, #BA0C2F 100%); }
.cd-city-bristol    { background: linear-gradient(135deg, #5C2D91 0%, #FB923C 100%); }

.cd-city-body {
  padding: 18px 20px 22px;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}
.cd-city-body h4 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  color: var(--ink);
  margin: 0 0 8px;
  letter-spacing: -0.01em;
}
.cd-city-body p {
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: var(--ink);
  opacity: 0.7;
  margin: 0 0 12px;
}
.cd-city-meta {
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  color: var(--ink);
  opacity: 0.55;
  margin-bottom: 14px;
}

/* ===== Top universities list ===== */
.cd-unis-panel { background: var(--inner-2); }
.cd-unis-list {
  margin-top: 40px;
  background: #fff;
  border-radius: 24px;
  padding: 12px 0;
  box-shadow: 0 6px 20px rgba(26, 26, 77, 0.08);
}
.cd-uni-row {
  display: grid;
  grid-template-columns: auto 1fr auto auto;
  gap: 20px;
  align-items: center;
  padding: 18px 28px;
  border-bottom: 1px solid var(--border-soft);
  transition: background 200ms, transform 200ms;
  text-decoration: none;
  color: inherit;
}
.cd-uni-row:last-child { border-bottom: none; }
.cd-uni-row:hover { background: var(--inner); }
.cd-uni-row.is-clickable { cursor: pointer; }
.cd-uni-row.is-clickable:hover { background: var(--brand-soft); }

/* Logo block — colored square with initials + tiny rank badge */
.cd-uni-logo {
  position: relative;
  width: 56px;
  height: 56px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
  background-image: linear-gradient(135deg, rgba(255,255,255,0.18) 0%, rgba(0,0,0,0.08) 100%);
  background-blend-mode: overlay;
}
/* Image variant: white card hosting transparent PNG; subtle border */
.cd-uni-logo--img {
  background: #fff;
  background-image: none;
  border: 1px solid rgba(26, 26, 77, 0.08);
  padding: 6px;
  box-sizing: border-box;
}
.cd-uni-logo--img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.cd-uni-logo-text {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 1.125rem;
  color: #fff;
  letter-spacing: -0.02em;
  text-shadow: 0 1px 2px rgba(0,0,0,0.25);
}
.cd-uni-logo-rank {
  position: absolute;
  top: -6px;
  right: -6px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  color: var(--ink);
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 5px rgba(0,0,0,0.15);
  border: 1.5px solid var(--inner);
}
/* Legacy rank circle (no longer used in new render but kept for fallback) */
.cd-uni-rank {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--brand-soft);
  color: var(--brand);
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.cd-uni-name {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.0625rem;
  color: var(--ink);
  letter-spacing: -0.01em;
  margin-bottom: 2px;
}
.cd-uni-loc {
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  color: var(--ink);
  opacity: 0.6;
}
.cd-uni-tags {
  display: flex;
  gap: 6px;
}
.cd-uni-arrow {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.25rem;
  color: var(--ink);
  opacity: 0;
  transition: opacity 200ms, transform 200ms;
  margin-left: 4px;
  flex-shrink: 0;
}
.cd-uni-row.is-clickable:hover .cd-uni-arrow {
  opacity: 1;
  transform: translateX(4px);
  color: var(--brand);
}

/* ===== DTP (Dövlət Təqaüd Proqramı) badge & note ===== */
.cd-uni-name-line {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 2px;
}
.cd-uni-name-line .cd-uni-name {
  margin-bottom: 0;
}
.cd-uni-dtp {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 9px 3px 7px;
  border-radius: 999px;
  background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);
  color: #92400E;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.6875rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: 1px solid #FCD34D;
  cursor: help;
  white-space: nowrap;
  flex-shrink: 0;
}
.cd-uni-dtp svg {
  width: 11px;
  height: 11px;
  flex-shrink: 0;
}
.cd-uni-row.is-dtp {
  position: relative;
}
.cd-unis-dtp-note {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 12px !important;
  padding: 8px 14px;
  background: linear-gradient(135deg, #FFFBEB 0%, #FEF3C7 100%);
  border: 1px solid #FDE68A;
  border-radius: 999px;
  color: #78350F !important;
  font-size: 0.875rem !important;
  font-weight: 500 !important;
  width: fit-content;
}
.cd-unis-dtp-note strong {
  color: #92400E;
  font-weight: 700;
}
.cd-unis-dtp-note svg {
  width: 14px;
  height: 14px;
  color: #D97706;
  flex-shrink: 0;
}

/* ===== How we help ===== */
.cd-help-panel { background: var(--inner); }
.cd-help-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 40px;
}
.cd-help-step {
  background: #fff;
  border-radius: 22px;
  padding: 28px 26px;
  box-shadow: 0 4px 14px rgba(26, 26, 77, 0.06);
  transition: transform 240ms var(--ease-out);
}
.cd-help-step:hover { transform: translateY(-4px); }
.cd-help-num {
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 2rem;
  color: var(--brand);
  opacity: 0.2;
  letter-spacing: -0.04em;
  line-height: 1;
  margin-bottom: 12px;
}
.cd-help-step h4 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.0625rem;
  color: var(--ink);
  margin: 0 0 8px;
  letter-spacing: -0.01em;
}
.cd-help-step p {
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  line-height: 1.55;
  color: var(--ink);
  opacity: 0.72;
  margin: 0;
}

/* ============================================
   Responsive
   ============================================ */

@media (max-width: 1100px) {
  .cd-quick-grid,
  .cd-cost-grid,
  .cd-help-steps,
  .cd-life-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cd-cities-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1024px) {
  .cd-breadcrumb { margin-left: 50px; margin-right: 50px; }
  .cd-hero { grid-template-columns: 1fr; gap: 40px; padding: 30px 50px 60px; }
  .cd-hero-image { height: 360px; }
  .cd-why-grid { grid-template-columns: 1fr; gap: 32px; }
  .cd-visa-grid { grid-template-columns: 1fr; }
  .cd-employ-row { grid-template-columns: 180px 1fr 110px; gap: 14px; }
  .cd-cities-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .cd-breadcrumb { margin-left: 28px; margin-right: 28px; font-size: 0.75rem; }
  .cd-hero { padding: 24px 28px 40px; gap: 32px; }
  .cd-flag { font-size: 2.75rem; }
  .cd-hero-image { height: 280px; border-radius: 22px; }
  .cd-hero-stats { left: 14px; right: 14px; bottom: 14px; gap: 8px; }
  .cd-stat { padding: 10px 8px; }
  .cd-stat-num { font-size: 1.125rem; }
  .cd-stat-label { font-size: 0.625rem; }

  .cd-quick-grid,
  .cd-cost-grid,
  .cd-help-steps,
  .cd-life-grid,
  .cd-cities-grid { grid-template-columns: 1fr; }

  .cd-employ-list { padding: 20px 22px; }
  .cd-employ-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }
  .cd-employ-bar { order: 3; }
  .cd-employ-badge { order: 2; justify-self: start; }

  .cd-uni-row { padding: 14px 18px; gap: 12px; }
  .cd-uni-name { font-size: 0.9375rem; }
  .cd-uni-tags { display: none; } /* hide on mobile to keep row compact */
  .cd-uni-logo { width: 48px; height: 48px; border-radius: 12px; }
  .cd-uni-logo-text { font-size: 1rem; }
  .cd-uni-logo-rank { width: 18px; height: 18px; font-size: 0.625rem; top: -4px; right: -4px; }
  .cd-uni-arrow { display: none; }

  .cd-cost-card { grid-template-columns: 44px 1fr; }
  .cd-cost-icon { width: 44px; height: 44px; font-size: 1.25rem; }
  .cd-cost-amount { font-size: 1rem; }

  .cd-visa-card { padding: 24px 24px; }
}

/* ===== Loading + Error states ===== */
.cd-loading {
  min-height: 60vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  font-family: 'Inter', sans-serif;
  color: var(--ink);
  opacity: 0.7;
}
.cd-loading-spinner {
  width: 44px;
  height: 44px;
  border: 3px solid var(--border-soft);
  border-top-color: var(--brand);
  border-radius: 50%;
  animation: cd-spin 720ms linear infinite;
}
@keyframes cd-spin {
  to { transform: rotate(360deg); }
}

.cd-error-state {
  background: var(--inner);
  min-height: 100vh;
  padding: 80px 0;
}

/* When header is not inside a panel (olke.html dynamic page),
   give it a margin so it doesn't sit flush against the viewport edge */
.header-floating {
  margin: 24px 80px 0;
  background: #fff;
}
@media (max-width: 1024px) {
  .header-floating { margin: 16px 50px 0; }
}
@media (max-width: 700px) {
  .header-floating { margin: 12px 28px 0; }
}

/* ============================================
   Universitetlər siyahısı — şəhər-şəhər (edvoy üslubu)
   ============================================ */

/* City card → clickable when has universities (now a <button>) */
.cd-city-card-clickable {
  background: #fff;
  border: none;
  text-align: left;
  font: inherit;
  color: inherit;
  cursor: pointer;
  /* <button> intrinsically centers its content vertically; in a stretched
     grid row this pushes the image down and leaves a white "shelf" above it
     on shorter cards. Flex column locks the image to the top instead. */
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: 0;
  /* Reset focus to a brand-aware ring instead of browser default */
  outline: none;
}
.cd-city-card-clickable:focus-visible {
  box-shadow: 0 0 0 3px rgba(91, 79, 207, 0.4), 0 4px 14px rgba(26, 26, 77, 0.06);
}
.cd-city-card-clickable .cd-city-image {
  transition: transform 480ms var(--ease-out);
}
.cd-city-card-clickable:hover .cd-city-image { transform: scale(1.04); }

/* Open state — strong visual indicator */
.cd-city-card-clickable.is-open {
  box-shadow: 0 0 0 2px var(--brand), 0 16px 32px rgba(91, 79, 207, 0.20);
  transform: translateY(-3px);
}

.cd-city-arrow {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 6px;
  margin-top: auto;
  padding: 6px 12px;
  background: var(--brand-soft, rgba(91, 79, 207, 0.08));
  border-radius: 999px;
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--brand);
  transition: background 200ms var(--ease-out);
}
.cd-city-arrow svg {
  width: 12px;
  height: 12px;
  transition: transform 280ms var(--ease-out);
}
.cd-city-card-clickable:hover .cd-city-arrow {
  background: rgba(91, 79, 207, 0.16);
}
.cd-city-card-clickable.is-open .cd-city-arrow {
  background: var(--brand-gradient);
  color: #fff;
}
.cd-city-card-clickable.is-open .cd-city-arrow svg {
  transform: rotate(180deg);
}

/* ============================================
   City accordion: inline universities panel
   that opens beneath the clicked city card.
   It spans the full width of the cities grid.
   ============================================ */
.cd-city-unis-panel {
  grid-column: 1 / -1;            /* full width within the grid */
  background: linear-gradient(180deg, var(--brand-soft, #F4F0FF) 0%, #FAF8FF 100%);
  border-radius: 22px;
  padding: 0 28px;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 380ms var(--ease-out),
              opacity 240ms ease-out,
              padding 380ms var(--ease-out),
              margin 380ms var(--ease-out);
  margin: 0;
}
.cd-city-unis-panel.is-open {
  max-height: 2400px;             /* generous ceiling, browser will use real height */
  opacity: 1;
  padding: 28px;
  margin-top: -8px;               /* visually connects to card above */
}

.cd-city-unis-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 22px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(91, 79, 207, 0.15);
}
.cd-city-unis-head h4 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  color: var(--ink);
  margin: 0;
  letter-spacing: -0.02em;
}
.cd-city-unis-count {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  background: var(--brand-gradient);
  color: #fff;
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 999px;
  letter-spacing: 0.02em;
}

/* Grid of university cards inside the accordion */
.cd-city-unis-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
}

/* Individual uni card — same DNA as universities listing page */
.cd-city-uni-card {
  display: grid;
  grid-template-columns: 52px 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  background: #fff;
  border-radius: 16px;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 2px 8px rgba(26, 26, 77, 0.05);
  transition: transform 240ms var(--ease-out), box-shadow 240ms var(--ease-out);
}
.cd-city-uni-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(26, 26, 77, 0.12);
}
.cd-city-uni-logo {
  width: 52px;
  height: 52px;
  border-radius: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 0.875rem;
  color: #fff;
  letter-spacing: -0.02em;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.18) 0%, rgba(0, 0, 0, 0.08) 100%);
  background-blend-mode: overlay;
  flex-shrink: 0;
}
/* Image variant: white card hosting transparent PNG; subtle border */
.cd-city-uni-logo--img {
  background: #fff;
  background-image: none;
  border: 1px solid rgba(26, 26, 77, 0.08);
  padding: 5px;
  box-sizing: border-box;
  text-shadow: none;
}
.cd-city-uni-logo--img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.cd-city-uni-info {
  min-width: 0;
}
.cd-city-uni-info h5 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  color: var(--ink);
  letter-spacing: -0.01em;
  margin: 0 0 3px;
  line-height: 1.25;
}
.cd-city-uni-info p {
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  color: var(--ink);
  opacity: 0.6;
  margin: 0;
}
.cd-city-uni-arrow {
  font-family: 'Inter', sans-serif;
  font-size: 1rem;
  color: var(--ink);
  opacity: 0.4;
  transition: transform 240ms var(--ease-out), opacity 240ms;
}
.cd-city-uni-card:hover .cd-city-uni-arrow {
  opacity: 1;
  color: var(--brand);
  transform: translateX(3px);
}

/* ============================================
   EXPANDED university card — used when the
   university entry has researched data fields
   (programs, fields, tuition, QS rank, etc.)
   ============================================ */

/* When at least one expanded card exists, the grid shifts to a wider
   minmax so the rich content has room to breathe. */
.cd-city-unis-grid:has(.cd-city-uni-card--expanded) {
  grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
  gap: 18px;
}

.cd-city-uni-card--expanded {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 20px 22px;
  /* override the grid layout used by compact cards */
  grid-template-columns: none;
}
.cd-city-uni-card--expanded:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(26, 26, 77, 0.14);
}

/* Header row: logo + name + type badge + summary */
.cd-uni-header {
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 14px;
  align-items: start;
}
.cd-uni-header-text {
  min-width: 0;
}
.cd-uni-name-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}
.cd-uni-header-text h5 {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 1rem;
  color: var(--ink);
  letter-spacing: -0.01em;
  margin: 0;
  line-height: 1.25;
}
.cd-uni-summary {
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  color: var(--ink);
  opacity: 0.7;
  margin: 0;
  line-height: 1.4;
}

/* Type badge (Public / Private) */
.cd-uni-type {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-family: 'Inter', sans-serif;
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  flex-shrink: 0;
}
.cd-uni-type--public {
  background: rgba(34, 197, 94, 0.12);
  color: #047857;
}
.cd-uni-type--private {
  background: rgba(168, 85, 247, 0.12);
  color: #7c3aed;
}

/* Field tags (Engineering, Architecture, etc.) */
.cd-uni-fields {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.cd-uni-field {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  background: var(--brand-soft, rgba(91, 79, 207, 0.08));
  color: var(--brand);
  border-radius: 999px;
  font-family: 'Inter', sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
}

/* Stats row (Founded, QS rank, Tuition) */
.cd-uni-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
  gap: 8px;
  padding: 12px 0;
  border-top: 1px solid rgba(26, 26, 77, 0.07);
  border-bottom: 1px solid rgba(26, 26, 77, 0.07);
}
.cd-uni-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.cd-uni-stat-label {
  font-family: 'Inter', sans-serif;
  font-size: 0.625rem;
  font-weight: 600;
  color: var(--ink);
  opacity: 0.55;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.cd-uni-stat-value {
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.875rem;
  color: var(--ink);
  letter-spacing: -0.01em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cd-uni-stat--qs .cd-uni-stat-value {
  color: var(--brand);
}
.cd-uni-stat--tuition .cd-uni-stat-value {
  font-size: 0.8125rem;
}

/* Special "highlight" note */
.cd-uni-note {
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  color: var(--ink);
  background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%);
  border-radius: 10px;
  padding: 8px 12px;
  margin: 0;
  font-weight: 500;
  border: 1px solid #FCD34D;
}

/* Programs list */
.cd-uni-programs-head {
  font-family: 'Inter', sans-serif;
  font-size: 0.6875rem;
  font-weight: 600;
  color: var(--ink);
  opacity: 0.55;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 8px;
}
.cd-uni-programs-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.cd-uni-program {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  color: var(--ink);
  line-height: 1.4;
}
.cd-uni-program-level {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1px 6px;
  border-radius: 4px;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  flex-shrink: 0;
  min-width: 30px;
  text-align: center;
}
.cd-uni-program-level--bsc {
  background: rgba(56, 189, 248, 0.15);
  color: #0369a1;
}
.cd-uni-program-level--msc {
  background: rgba(91, 79, 207, 0.13);
  color: var(--brand);
}
.cd-uni-program-name {
  flex: 1;
}

/* Footer with action links — pushed to the bottom of the card so all
   cards in the grid align their action row at the same vertical level,
   regardless of how much content (note, programs) is above. */
.cd-uni-footer {
  display: flex;
  gap: 10px;
  flex-wrap: nowrap;
  padding-top: 4px;
  margin-top: auto;
}
.cd-uni-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px 14px;
  border-radius: 999px;
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 180ms var(--ease-out);
}
.cd-uni-link--primary {
  background: var(--ink);
  color: #fff;
}
.cd-uni-link--primary:hover {
  background: var(--brand-gradient);
}
.cd-uni-link--external {
  background: transparent;
  color: var(--ink);
  border: 1px solid rgba(26, 26, 77, 0.18);
}
.cd-uni-link--external:hover {
  border-color: var(--ink);
  background: rgba(26, 26, 77, 0.04);
}

/* Reduce motion: instant open/close */
@media (prefers-reduced-motion: reduce) {
  .cd-city-unis-panel {
    transition: none;
  }
  .cd-city-card-clickable .cd-city-image,
  .cd-city-arrow svg,
  .cd-city-uni-card {
    transition: none;
  }
}

@media (max-width: 700px) {
  .cd-city-unis-panel { padding: 0 18px; }
  .cd-city-unis-panel.is-open { padding: 22px 18px; }
  .cd-city-unis-head h4 { font-size: 1.25rem; }
  .cd-city-unis-grid { grid-template-columns: 1fr; }
  .cd-city-unis-grid:has(.cd-city-uni-card--expanded) {
    grid-template-columns: 1fr;
  }
  .cd-city-uni-card--expanded {
    padding: 16px 18px;
  }
  .cd-uni-stats {
    grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
  }
}

/* ===== Universities flat panel ===== */
.cd-unis-flat-panel {
  background: var(--inner);
}

.cd-unis-by-city {
  display: flex;
  flex-direction: column;
  gap: 48px;
}

.cd-unis-city-group {
  scroll-margin-top: 24px;
}

.cd-unis-city-head {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin-bottom: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--border-soft);
}
.cd-unis-city-head h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: -0.02em;
}
.cd-unis-city-count {
  font-family: 'Inter', sans-serif;
  font-size: 0.875rem;
  color: var(--mute);
}

/* Edvoy-style flat university cards */
.cd-unis-flat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 14px;
}

.cd-uni-flat-card {
  background: var(--card-bg);
  border: 1px solid var(--border-soft);
  border-radius: var(--r-lg);
  padding: 18px 20px;
  display: flex;
  align-items: center;
  gap: 16px;
  text-decoration: none;
  color: inherit;
  transition: all 220ms var(--ease);
}
.cd-uni-flat-card:hover {
  border-color: var(--brand);
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(91, 79, 207, 0.15);
}

.cd-uni-flat-logo {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Montserrat', sans-serif;
  font-weight: 700;
  font-size: 0.9375rem;
  color: #fff;
  flex-shrink: 0;
  letter-spacing: -0.02em;
}

.cd-uni-flat-info {
  flex: 1;
  min-width: 0;
}
.cd-uni-flat-info h4 {
  font-family: 'Inter', sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 2px;
  line-height: 1.3;
}
.cd-uni-flat-info p {
  font-family: 'Inter', sans-serif;
  font-size: 0.8125rem;
  color: var(--mute);
}

.cd-uni-flat-arrow {
  font-family: 'Inter', sans-serif;
  font-size: 1.125rem;
  color: var(--brand);
  opacity: 0.5;
  transition: all 200ms var(--ease);
  flex-shrink: 0;
}
.cd-uni-flat-card:hover .cd-uni-flat-arrow {
  opacity: 1;
  transform: translateX(3px);
}

@media (max-width: 700px) {
  .cd-unis-flat-grid { grid-template-columns: 1fr; }
  .cd-unis-by-city { gap: 36px; }
  .cd-unis-city-head h3 { font-size: 1.25rem; }
}

/* === Rich SVG iconlar (emoji əvəzi) === */
.pa-icon { object-fit: contain; vertical-align: middle; }
.cd-why-icon { background: none; width: 58px; height: 58px; }
.cd-why-icon .pa-icon { width: 58px; height: 58px; display: block; }
.cd-cost-icon--img { background: none !important; }
.cd-cost-icon .pa-icon { width: 54px; height: 54px; display: block; }
.cd-quick-icon { font-size: 0; margin-bottom: 8px; }
.cd-quick-icon .pa-icon { width: 52px; height: 52px; display: inline-block; }


/* Mobil ölkə hero başlığı biraz kiçik */
@media (max-width: 700px) {
  .cd-headline { font-size: clamp(1.7rem, 6.8vw, 2rem); }
}


/* ===== auth.css ===== */
/* auth.css — Login/Qeydiyyat modalı + header avatar menyusu (passport. dizaynı) */

/* ===== HEADER: auth bölgəsi ===== */
.auth-zone { display: flex; align-items: center; gap: 12px; }
.auth-login-link {
  font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 14.5px; color: var(--ink);
  text-decoration: none; padding: 10px 8px; white-space: nowrap; transition: color var(--t-fast) var(--ease);
}
.auth-login-link:hover { color: var(--brand); }
.auth-signup-btn {
  font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 14.5px; color: #fff;
  background: var(--brand-gradient); border: none; border-radius: var(--r-pill); padding: 11px 20px;
  cursor: pointer; white-space: nowrap; transition: background var(--t-fast) var(--ease), transform var(--t-fast) var(--ease);
}
.auth-signup-btn:hover { filter: brightness(1.07); transform: translateY(-1px); }

/* ===== Avatar — rəngli gradient halqa ===== */
.auth-user { position: relative; }
.auth-avatar {
  width: 46px; height: 46px; border-radius: 50%;
  padding: 2.5px; border: none; cursor: pointer; flex: 0 0 auto; display: block;
  background: conic-gradient(from 210deg, #FF7AC2, #FFB86B, #FFD93D, #5B4FCF, #C026D3, #FF7AC2);
  transition: transform var(--t-fast) var(--ease), box-shadow var(--t-fast) var(--ease);
}
.auth-avatar:hover { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(91, 79, 207, .22); }
.auth-avatar .av-core {
  display: grid; place-items: center; width: 100%; height: 100%; box-sizing: border-box;
  border-radius: 50%; overflow: hidden; border: 2px solid var(--card-bg);
  background: var(--brand); color: #fff;
  font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 15px;
}
.auth-avatar .av-core img { width: 100%; height: 100%; object-fit: cover; }

/* ===== Dropdown menyu ===== */
.auth-menu {
  position: absolute; top: calc(100% + 14px); right: 0; width: 288px; z-index: 1200;
  background: var(--card-bg); border: 1px solid var(--border-soft); border-radius: 20px;
  box-shadow: 0 20px 48px rgba(26, 26, 77, .16), 0 2px 6px rgba(26, 26, 77, .06);
  padding: 8px; opacity: 0; visibility: hidden; transform: translateY(-8px) scale(.97);
  transform-origin: top right;
  transition: opacity var(--t-fast) var(--ease), transform var(--t-fast) var(--ease-out), visibility var(--t-fast);
}
.auth-menu.is-open { opacity: 1; visibility: visible; transform: translateY(0) scale(1); }

/* İstifadəçi kartı (yuxarıda) */
.auth-menu-head {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 12px; margin-bottom: 4px; border-radius: 14px;
  text-decoration: none; transition: background var(--t-fast) var(--ease);
}
.auth-menu-head:hover { background: var(--inner); }
.auth-menu-head .auth-avatar { width: 42px; height: 42px; }
.auth-menu-head .auth-avatar .av-core { font-size: 14px; }
.auth-menu-id { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.auth-menu-name { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 15px; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.auth-menu-email { font-family: 'Inter', sans-serif; font-size: 12.5px; color: var(--mute); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Qruplar + ayırıcı */
.auth-menu-group { display: flex; flex-direction: column; gap: 2px; }
.auth-menu-sep { height: 1px; background: var(--border-soft); margin: 8px 6px; border: 0; }

/* Elementlər */
.auth-menu-item {
  display: flex; align-items: center; gap: 14px; width: 100%; box-sizing: border-box;
  font-family: 'Inter', sans-serif; font-size: 15px; font-weight: 500; color: var(--ink);
  background: none; border: none; border-radius: 12px; padding: 11px 12px; cursor: pointer;
  text-decoration: none; text-align: left;
  transition: background var(--t-fast) var(--ease), color var(--t-fast) var(--ease);
}
.auth-menu-item span { flex: 1 1 auto; }
.auth-menu-item:hover,
.auth-menu-item.is-active { background: var(--inner); }
.auth-menu-item.is-active { font-weight: 600; }
.auth-menu-item svg { width: 21px; height: 21px; flex: 0 0 21px; stroke: currentColor; color: var(--ink); }
.auth-menu-item.is-logout:hover { color: #DC2626; background: #FEF2F2; }
.auth-menu-item.is-logout:hover svg { color: #DC2626; }

/* PRO badge (Təqaüdlər) — screendəki yaşıl pill */
.auth-menu-badge {
  flex: 0 0 auto; display: inline-flex; align-items: center; gap: 3px;
  font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 10.5px; letter-spacing: .04em;
  color: #15803D; background: var(--green-soft, #DCFCE7); border: 1px solid #BBF7D0;
  padding: 3px 8px 3px 6px; border-radius: 999px;
}
.auth-menu-badge svg { width: 11px !important; height: 11px !important; flex: 0 0 11px !important; color: #16A34A; }

/* ===== MODAL ===== */
.auth-overlay {
  position: fixed; inset: 0; z-index: 2000; background: rgba(26,26,77,.55); backdrop-filter: blur(4px);
  display: flex; align-items: center; justify-content: center; overflow-y: auto;
  padding: 20px; opacity: 0; visibility: hidden; transition: opacity var(--t-med) var(--ease), visibility var(--t-med);
}
.auth-modal { margin: auto 0; }
.auth-overlay.is-open { opacity: 1; visibility: visible; }
.auth-modal {
  width: 100%; max-width: 440px; background: var(--card-bg); border-radius: var(--r-xl);
  box-shadow: var(--shadow-lg); padding: 40px 38px; position: relative; transform: translateY(16px) scale(.98);
  transition: transform var(--t-med) var(--ease-out);  /* daxili sürüşmə yoxdur */
}
.auth-overlay.is-open .auth-modal { transform: translateY(0) scale(1); }
.auth-close {
  position: absolute; top: 18px; right: 18px; width: 34px; height: 34px; border-radius: 50%;
  border: none; background: var(--inner); color: var(--ink-2); cursor: pointer; display: grid; place-items: center;
  transition: background var(--t-fast) var(--ease);
}
.auth-close:hover { background: var(--inner-2); }
.auth-close svg { width: 16px; height: 16px; stroke: currentColor; }

.auth-title { font-family: 'Montserrat',sans-serif; font-weight: 700; font-size: 28px; color: var(--ink); text-align: center; margin: 4px 0 28px; }

/* Alt-xətli (underline) inputlar — U-Pass formatı */
.auth-field { position: relative; margin-bottom: 6px; }
.auth-field input {
  width: 100%; box-sizing: border-box; font-family: 'Inter', sans-serif; font-size: 16px; color: var(--ink);
  background: rgba(91, 79, 207, 0.045); border: 1.5px solid transparent; border-radius: 14px; padding: 15px 16px;
  transition: border-color var(--t-fast) var(--ease), background var(--t-fast) var(--ease);
}
.auth-field input:focus { outline: none; border-color: var(--brand); background: #fff; }
.auth-field input::placeholder { color: var(--mute); }
.auth-field-pass input { padding-right: 46px; }
.auth-eye {
  position: absolute; right: 12px; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; border: none; background: none;
  color: var(--mute); cursor: pointer; display: grid; place-items: center;
}
.auth-eye svg { width: 19px; height: 19px; }
.auth-eye.is-on { color: var(--brand); }

/* «Şifrəni unutmusan?» sırası. «Məni xatırla» silindi (ölü kontrol idi),
   ona görə space-between yerinə flex-end — düymə sağda qalır. */
.auth-row { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin: 12px 0 22px; flex-wrap: wrap; }

/* Yumru (rounded) checkbox — razılıq qutusu üçün */
.auth-consent input {
  -webkit-appearance: none; appearance: none;
  width: 19px; height: 19px; flex-shrink: 0;
  border: 1.5px solid var(--border); border-radius: 7px;
  background: #fff; cursor: pointer; position: relative;
  transition: background var(--t-fast) var(--ease), border-color var(--t-fast) var(--ease);
}
.auth-consent input:checked {
  background: var(--brand-gradient); border-color: transparent;
}
.auth-consent input:checked::after {
  content: ''; position: absolute; left: 6px; top: 2.5px;
  width: 5px; height: 9px; border: solid #fff; border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.auth-forgot { background: none; border: none; color: var(--brand); font-family: 'Inter', sans-serif; font-weight: 600; font-size: 14px; cursor: pointer; }
.auth-forgot:hover { text-decoration: underline; }

/* Gizlilik/Şərtlər razılığı (yalnız qeydiyyat) */
.auth-consent { display: flex; align-items: flex-start; gap: 9px; margin: -6px 0 18px; font-family: 'Inter', sans-serif; font-size: 13.5px; line-height: 1.45; color: var(--ink-2); cursor: pointer; }
/* [hidden] atributu display:flex tərəfindən üstələnirdi — yalnız qeydiyyatda göstər */
.auth-consent[hidden] { display: none; }
.auth-consent input { margin-top: 1px; }
.auth-consent a { color: var(--brand); font-weight: 600; text-decoration: none; }
.auth-consent a:hover { text-decoration: underline; }

/* Qradiyent əsas düymə */
.auth-submit {
  width: 100%; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 16px; color: #fff;
  background: var(--brand-gradient);
  border: none; border-radius: var(--r-pill); padding: 16px; cursor: pointer; margin-top: 4px;
  box-shadow: none; transition: transform var(--t-fast) var(--ease), filter var(--t-fast) var(--ease);
}
.auth-submit:hover { transform: translateY(-2px); filter: brightness(1.05); }
.auth-submit:disabled { opacity: .6; cursor: not-allowed; transform: none; }

.auth-divider { text-align: center; color: var(--mute); font-family: 'Inter', sans-serif; font-size: 14px; margin: 18px 0; }

/* Konturlu Google düyməsi */
.auth-google {
  display: flex; align-items: center; justify-content: center; gap: 11px; width: 100%; box-sizing: border-box;
  font-family: 'Montserrat', sans-serif; font-weight: 600; font-size: 15px; color: var(--brand);
  background: var(--card-bg); border: 1.5px solid var(--brand); border-radius: var(--r-pill); padding: 14px;
  cursor: pointer; transition: background var(--t-fast) var(--ease);
}
.auth-google:hover { background: var(--brand-soft); }
.auth-google img { width: 19px; height: 19px; }

.auth-error { font-family: 'Inter', sans-serif; font-size: 13.5px; color: #DC2626; background: #FEF2F2; border: 1px solid #FECACA; border-radius: var(--r-sm); padding: 11px 14px; margin-bottom: 16px; display: none; }
.auth-error.is-on { display: block; }
.auth-note { font-family: 'Inter', sans-serif; font-size: 13.5px; color: #15803D; background: var(--green-soft); border-radius: var(--r-sm); padding: 11px 14px; margin-bottom: 16px; display: none; }
.auth-note.is-on { display: block; }

.auth-switch { font-family: 'Inter', sans-serif; font-size: 14px; color: var(--ink-2); font-weight: 600; text-align: center; margin: 20px 0 0; }
.auth-switch button { background: none; border: none; color: var(--brand); font-weight: 700; cursor: pointer; font-size: 14px; }
.auth-switch button:hover { text-decoration: underline; }

/* yalnız giriş edənə / etməyənə görə görünmə */
[data-auth="in"], [data-auth="out"] { display: none; }
body.is-authed [data-auth="in"] { display: revert; }
body:not(.is-authed) [data-auth="out"] { display: revert; }

@media (max-width: 600px) {
  .auth-modal { padding: 34px 24px; }
  .auth-menu { width: min(300px, calc(100vw - 28px)); right: 0; }
  .auth-avatar { width: 42px; height: 42px; }
}
