/* ============ HOME HERO ============ */
.hero {
  position: relative;
  padding: calc(var(--header-h) + var(--space-8)) 0 var(--space-8);
  overflow: hidden;
}
.hero__inner {
  position: relative;
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 3rem;
  align-items: center;
}
@media (max-width: 900px) { .hero__inner { grid-template-columns: 1fr; } }
.hero .hero__inner { grid-template-columns: 1fr; }
.hero h1 {
  font-size: clamp(2.6rem, 1.8rem + 4vw, 5rem);
  line-height: 1.02;
  letter-spacing: -0.035em;
  margin: 1.25rem 0 1.5rem;
}
.hero h1 em { font-style: normal; }
.hero__lede {
  font-size: var(--fs-lg);
  color: rgba(255,255,255,0.72);
  max-width: 54ch;
  margin-bottom: 2rem;
}
.hero__cta { display: flex; flex-wrap: wrap; gap: .75rem; margin-bottom: 2.5rem; }
.hero__meta {
  display: flex; flex-wrap: wrap; gap: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--color-border);
}
.hero__meta .stat { padding: 0; }
.hero__meta .stat-value { font-size: clamp(1.6rem, 1rem + 1.5vw, 2.2rem); }

/* Hero visual – orb & floating cards */
.hero__visual {
  position: relative;
  aspect-ratio: 1;
  max-width: 560px;
  margin-left: auto;
  width: 100%;
}

/* Image inside hero__orb */
.hero__orb-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
  z-index: 0;
}
.hero__orb-img--full {
  object-fit: contain;
  border-radius: 0;
}
.hero__orb::before { z-index: 1; }

/* Hero visual wrapper (bireysel / kurumsal) */
.hero__visual-col {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hero__visual-caption {
  margin-top: 1.5rem;
  font-family: var(--font-display);
  font-size: var(--fs-lg);
  font-weight: 700;
  color: #fff;
  text-align: center;
  letter-spacing: -0.01em;
  text-shadow: 0 2px 16px rgba(14,72,246,0.35);
}
.hero__visual-caption--float {
  position: absolute;
  bottom: -6%;
  left: 50%;
  z-index: 2;
  margin-top: 0;
  padding: .9rem 2rem;
  background: rgba(22,20,29,0.85);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-full);
  backdrop-filter: blur(20px);
  box-shadow: var(--shadow-md);
  font-size: var(--fs-2xl);
  white-space: nowrap;
  transform: translateX(-50%);
  animation: float 6s ease-in-out infinite;
}
.hero__orb {
  position: absolute; inset: 10%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 30%, #da00ff, transparent 55%),
    radial-gradient(circle at 70% 70%, #0e48f6, transparent 55%),
    radial-gradient(circle at 50% 50%, #7d0bb2, #0a0a15 75%);
  filter: blur(.3px);
  box-shadow: inset 0 0 100px rgba(255,255,255,0.08), 0 40px 80px rgba(14,72,246,0.45);
  animation: orbFloat 9s ease-in-out infinite;
}
.hero__orb::before {
  content: '';
  position: absolute; inset: 0;
  border-radius: 50%;
  background: conic-gradient(from 0deg, transparent, rgba(255,255,255,0.08), transparent 30%, transparent 60%, rgba(255,255,255,0.1), transparent);
  animation: spin 20s linear infinite;
}
.hero__orb::after {
  content: '';
  position: absolute; inset: -4%;
  border-radius: 50%;
  border: 1px dashed rgba(255,255,255,0.2);
  animation: spin 40s linear infinite reverse;
}
@keyframes orbFloat { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-16px)} }
@keyframes spin { to { transform: rotate(360deg); } }

.hero__float {
  position: absolute;
  padding: .9rem 1.1rem;
  background: rgba(22,20,29,0.85);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-md);
  backdrop-filter: blur(20px);
  box-shadow: var(--shadow-md);
  display: flex; align-items: center; gap: .75rem;
  font-size: var(--fs-xs);
  min-width: 180px;
  animation: float 6s ease-in-out infinite;
}
.hero__float .dot { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 8px #22c55e; }
.hero__float strong { color: #fff; font-weight: 600; display: block; font-size: var(--fs-sm); font-family: var(--font-display); }
.hero__float span { color: rgba(255,255,255,0.55); font-family: var(--font-mono); letter-spacing: 0.08em; text-transform: uppercase; font-size: .65rem; }
.hero__float--1 { top: 10%; left: -4%; animation-delay: 0s; }
.hero__float--2 { top: 46%; right: -8%; animation-delay: -2s; }
.hero__float--3 { bottom: 8%; left: 8%; animation-delay: -4s; }
@keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-10px)} }

/* ============ SLIDER ============ */
.slider {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-xl);
  background: rgba(255,255,255,0.02);
}
.slider__track {
  display: flex;
  transition: transform .7s var(--ease-out);
  touch-action: pan-y;
  cursor: grab;
  user-select: none;
}
.slider__track:active { cursor: grabbing; }
.slider__slide {
  min-width: 100%;
  padding: 3rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: center;
  min-height: 420px;
  position: relative;
}
@media (max-width: 760px) { .slider__slide { grid-template-columns: 1fr; padding: 2rem; min-height: 0; } }
.slider__slide .slide-eyebrow {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--color-primary-accent);
  margin-bottom: 1rem;
}
.slider__slide h3 { font-size: var(--fs-3xl); margin-bottom: 1rem; }
.slider__slide p { color: rgba(255,255,255,0.7); margin-bottom: 1.5rem; max-width: 48ch; }
.slider__visual {
  aspect-ratio: 5/4;
  border-radius: var(--radius-lg);
  background: var(--gradient-primary);
  position: relative; overflow: hidden;
}
.slider__visual svg { width: 100%; height: 100%; }
.slider__controls {
  position: absolute; bottom: 1.5rem; right: 1.5rem;
  display: flex; gap: .4rem; z-index: 3;
}
.slider__btn {
  width: 44px; height: 44px; border-radius: 50%;
  background: rgba(255,255,255,0.08);
  border: 1px solid var(--color-border-strong);
  display: grid; place-items: center; color: #fff;
  backdrop-filter: blur(8px);
  transition: all .25s var(--ease);
}
.slider__btn:hover { background: rgba(218,0,255,0.3); border-color: rgba(218,0,255,0.5); }
.slider__dots {
  position: absolute; bottom: 2rem; left: 3rem;
  display: flex; gap: .4rem; z-index: 3;
}
.slider__dot {
  width: 32px; height: 4px; border-radius: 2px;
  background: rgba(255,255,255,0.2);
  cursor: pointer; transition: all .3s var(--ease);
}
.slider__dot.is-active { width: 48px; background: var(--gradient-cta); }

.slider--testimonial {
  background: none;
}
.slider--testimonial .slider__dots {
  position: static;
  justify-content: center;
  margin-top: 1.5rem;
}
/* ============ DUAL-PATH (bireysel/kurumsal) ============ */
.dual-path { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
@media (max-width: 760px) { .dual-path { grid-template-columns: 1fr; } }
.path-card {
  position: relative;
  padding: 2.5rem;
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-strong);
  overflow: hidden;
  min-height: 360px;
  display: flex; flex-direction: column;
  justify-content: space-between;
  background: rgba(255,255,255,0.02);
  transition: transform .4s var(--ease-out), border-color .4s var(--ease);
}
.path-card::before {
  content: '';
  position: absolute; inset: 0;
  opacity: .75;
  transition: opacity .4s var(--ease);
  z-index: -1;
}
.path-card--b::before {
  background: radial-gradient(circle at 30% 20%, rgba(14,72,246,0.5), transparent 65%);
}
.path-card--k::before {
  background: radial-gradient(circle at 70% 80%, rgba(218,0,255,0.4), transparent 65%),
              radial-gradient(circle at 20% 90%, rgba(125,11,178,0.45), transparent 60%);
}
.path-card:hover { transform: translateY(-4px); border-color: var(--color-primary-accent); }
.path-card:hover::before { opacity: 1; }
.path-card__icon {
  width: 64px; height: 64px;
  border-radius: var(--radius-md);
  background: rgba(255,255,255,0.06);
  border: 1px solid var(--color-border-strong);
  display: grid; place-items: center;
  color: #fff;
  margin-bottom: 2rem;
}
.path-card h3 { font-size: var(--fs-2xl); margin-bottom: .75rem; }
.path-card p { margin-bottom: 1.5rem; }
.path-card__cta {
  display: inline-flex; align-items: center; gap: .5rem;
  font-family: var(--font-display); font-weight: 600;
  color: #fff;
}
.path-card__cta::after {
  content: '→'; transition: transform .3s var(--ease);
}
.path-card:hover .path-card__cta::after { transform: translateX(4px); }

/* ============ INSTRUCTOR CARD ============ */
.instructor-card {
  padding: 0;
  overflow: hidden;
  display: flex; flex-direction: column;
}
.instructor-card__img {
  aspect-ratio: 4/5;
  background: var(--gradient-primary);
  position: relative; overflow: hidden;
}
.instructor-card__img svg { width: 100%; height: 100%; }
.instructor-card__body { padding: 1.25rem 1.25rem 1.5rem; }
.instructor-card__name { font-family: var(--font-display); font-size: var(--fs-lg); font-weight: 600; color: #fff; margin-bottom: .25rem; }
.instructor-card__title { font-size: var(--fs-sm); color: rgba(255,255,255,0.6); margin-bottom: .75rem; }
.instructor-card__tags { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1rem; }
.instructor-card__tags .badge { font-size: .62rem; padding: .2rem .55rem; }
.instructor-card__social { display: flex; gap: .35rem; margin-bottom: 1rem; }
.instructor-card__social a {
  width: 30px; height: 30px; border-radius: 50%;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--color-border);
  display: grid; place-items: center;
  color: rgba(255,255,255,0.7);
  transition: all .25s var(--ease);
}
.instructor-card__social a:hover { color: var(--color-primary-accent); border-color: var(--color-primary-accent); }

/* ============ POPUP (first-visit mode selector) ============ */
.mode-popup-inner {
  max-width: 680px !important;
}
.mode-popup-inner h2 { font-size: var(--fs-3xl); margin-bottom: .5rem; }
.mode-popup-inner > p { color: rgba(255,255,255,0.7); margin-bottom: 2rem; }
.mode-popup-inner .dual-path { margin-top: 1.5rem; }
.mode-popup-inner .path-card { min-height: 220px; padding: 1.5rem; }
.mode-popup-inner .path-card h3 { font-size: var(--fs-xl); }
.mode-popup-inner .path-card p { font-size: var(--fs-sm); margin-bottom: .75rem; }

/* ============ TESTIMONIAL ============ */
.testimonial {
  padding: 2.5rem;
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border-strong);
  background: linear-gradient(180deg, rgba(218,0,255,0.06), rgba(14,72,246,0.04));
  position: relative;
  overflow: hidden;
}
.testimonial::before {
  content: '"'; position: absolute; top: -20px; left: 1rem;
  font-size: 10rem; font-family: var(--font-display); font-weight: 800;
  color: rgba(218,0,255,0.15); line-height: 1;
}
.testimonial__quote { font-family: var(--font-display); font-size: var(--fs-xl); color: #fff; line-height: 1.5; margin-bottom: 1.5rem; position: relative; }
.testimonial__author { display: flex; align-items: center; gap: .75rem; }
.testimonial__avatar {
  width: 48px; height: 48px; border-radius: 50%;
  background: var(--gradient-primary);
  display: grid; place-items: center;
  color: #fff; font-weight: 700;
}
.testimonial__meta { display: flex; flex-direction: column; }
.testimonial__meta strong { color: #fff; font-weight: 600; }
.testimonial__meta span { font-size: var(--fs-xs); color: rgba(255,255,255,0.55); font-family: var(--font-mono); letter-spacing: 0.08em; text-transform: uppercase; }

/* ============ BLOG CARD ============ */
.blog-card { padding: 0; overflow: hidden; }
.blog-card__img { aspect-ratio: 16/10; background: var(--gradient-primary); }
.blog-card__img svg { width: 100%; height: 100%; }
.blog-card__body { padding: 1.5rem; }
.blog-card__meta { display: flex; gap: .75rem; font-family: var(--font-mono); font-size: var(--fs-xs); letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255,255,255,0.5); margin-bottom: .75rem; }
.blog-card__title { font-family: var(--font-display); font-size: var(--fs-lg); font-weight: 600; color: #fff; margin-bottom: .6rem; }
.blog-card__excerpt { font-size: var(--fs-sm); color: rgba(255,255,255,0.65); margin-bottom: 1rem; }
.blog-card__read { display: inline-flex; gap: .4rem; font-family: var(--font-display); font-weight: 600; color: var(--color-primary-accent); font-size: var(--fs-sm); }

/* ============ STATS ROW ============ */
.stats-row {
  display: grid; grid-template-columns: repeat(4,1fr);
  gap: 1rem;
  padding: 2rem;
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border);
  background: rgba(255,255,255,0.02);
  backdrop-filter: blur(10px);
}
@media (max-width: 760px) { .stats-row { grid-template-columns: repeat(2,1fr); } }

/* ============ REFERENCE LOGOS GRID ============ */
.ref-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
@media (max-width: 760px) { .ref-grid { grid-template-columns: repeat(2,1fr); } }
.ref-logo {
  aspect-ratio: 2.5/1;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  display: grid; place-items: center;
  background: rgba(255,255,255,0.02);
  font-family: var(--font-display); font-weight: 600;
  color: rgba(255,255,255,0.65);
  font-size: var(--fs-base);
  transition: all .3s var(--ease);
}
.ref-logo:hover { border-color: var(--color-primary-accent); color: #fff; background: rgba(218,0,255,0.05); }

/* ============ FILTER PILLS ============ */
.filter-pills { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 2rem; }
.filter-pill {
  padding: .55rem 1rem;
  border-radius: var(--radius-full);
  border: 1px solid var(--color-border-strong);
  background: rgba(255,255,255,0.03);
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.65);
  cursor: pointer;
  transition: all .25s var(--ease);
}
.filter-pill:hover { color: #fff; border-color: rgba(255,255,255,0.3); }
.filter-pill.is-active {
  background: var(--gradient-cta);
  border-color: transparent;
  color: #fff;
}

/* ============ PROGRAM DAY ============ */
.program-day {
  padding: 1.5rem;
  border-left: 3px solid transparent;
  border-image: var(--gradient-cta) 1;
  background: rgba(255,255,255,0.02);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  display: flex; gap: 1.25rem;
}
.program-day__num {
  font-family: var(--font-display); font-weight: 800;
  font-size: var(--fs-2xl);
  color: var(--color-primary-accent);
  line-height: 1;
  min-width: 60px;
}
.program-day__title { font-family: var(--font-display); font-weight: 600; font-size: var(--fs-lg); color: #fff; margin-bottom: .4rem; }
.program-day__desc { color: rgba(255,255,255,0.65); font-size: var(--fs-sm); }

/* ============ GALLERY ============ */
.gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 180px;
  gap: 10px;
}
.gallery-item {
  background: var(--gradient-primary);
  border-radius: var(--radius-md);
  position: relative; overflow: hidden;
  cursor: pointer;
  transition: transform .35s var(--ease);
}
.gallery-item:hover { transform: scale(1.02); }
.gallery-item:nth-child(1) { grid-column: span 2; grid-row: span 2; }
.gallery-item:nth-child(6) { grid-column: span 2; }
@media (max-width: 760px) { .gallery { grid-template-columns: repeat(2, 1fr); } .gallery-item:nth-child(1), .gallery-item:nth-child(6) { grid-column: span 1; } }
.gallery-item svg { width: 100%; height: 100%; }

/* ============ PRICING BOX ============ */
.price-box {
  padding: 2rem;
  border-radius: var(--radius-xl);
  border: 1px solid rgba(218,0,255,0.3);
  background: linear-gradient(180deg, rgba(218,0,255,0.08), rgba(14,72,246,0.04));
  backdrop-filter: blur(16px);
  position: sticky; top: calc(var(--header-h) + 1rem);
}
.price-box__price {
  font-family: var(--font-display); font-weight: 800;
  font-size: var(--fs-4xl);
  color: #fff;
  line-height: 1;
  margin-bottom: .25rem;
  display: flex; align-items: baseline; gap: .25rem;
}
.price-box__price small { font-size: var(--fs-base); color: rgba(255,255,255,0.5); font-weight: 400; }
.price-box__label { font-family: var(--font-mono); font-size: var(--fs-xs); letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255,255,255,0.6); margin-bottom: 1.5rem; }
.price-box__meta { display: flex; flex-direction: column; gap: .6rem; margin: 1.5rem 0; padding: 1rem 0; border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.price-box__meta > div { display: flex; justify-content: space-between; font-size: var(--fs-sm); }
.price-box__meta > div span:first-child { color: rgba(255,255,255,0.55); }
.price-box__meta > div span:last-child { color: #fff; font-weight: 500; }
.price-box .btn { width: 100%; }

/* ============ TWO-COL LAYOUT (detail pages) ============ */
.detail-layout {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 3rem;
}
@media (max-width: 900px) { .detail-layout { grid-template-columns: 1fr; } }

/* ============ PROSE ============ */
.prose h2 { font-size: var(--fs-2xl); margin: 2.5rem 0 1rem; }
.prose h3 { font-size: var(--fs-xl); margin: 2rem 0 .75rem; }
.prose p { margin-bottom: 1rem; color: rgba(232,230,242,0.8); line-height: 1.75; }
.prose ul { padding-left: 1.25rem; margin-bottom: 1rem; }
.prose ul li { list-style: disc; color: rgba(232,230,242,0.8); margin-bottom: .35rem; }
.prose blockquote {
  margin: 1.5rem 0;
  padding: 1.25rem 1.5rem;
  border-left: 3px solid var(--color-primary-accent);
  background: rgba(218,0,255,0.05);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  font-family: var(--font-display);
  font-size: var(--fs-lg);
  color: #fff;
}

/* ============ TAG CLOUD / CATEGORY ============ */
.tag-cloud { display: flex; flex-wrap: wrap; gap: .4rem; }

/* ============ CONTACT MAP ============ */
.map-placeholder {
  aspect-ratio: 16/9;
  border-radius: var(--radius-lg);
  background:
    linear-gradient(135deg, rgba(14,72,246,0.25), rgba(218,0,255,0.15)),
    repeating-linear-gradient(45deg, rgba(255,255,255,0.03) 0 1px, transparent 1px 20px),
    repeating-linear-gradient(-45deg, rgba(255,255,255,0.03) 0 1px, transparent 1px 20px);
  border: 1px solid var(--color-border-strong);
  position: relative; overflow: hidden;
  display: grid; place-items: center;
}
.map-pin {
  width: 48px; height: 48px; border-radius: 50% 50% 50% 0;
  background: var(--gradient-cta);
  transform: rotate(-45deg);
  box-shadow: 0 0 0 10px rgba(218,0,255,0.15), 0 0 40px rgba(218,0,255,0.4);
  animation: pinBob 2s ease-in-out infinite;
}
@keyframes pinBob { 0%,100%{transform:rotate(-45deg) translateY(0)} 50%{transform:rotate(-45deg) translateY(-10px)} }

/* ============ PROCESS GRID ============ */
.process-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; }
@media (max-width:900px){ .process-grid{grid-template-columns:repeat(2,1fr);} }
.process-step { padding:2rem; border:1px solid var(--color-border); border-radius:var(--radius-lg); background:var(--color-surface); }
.process-step__num { font-family:var(--font-mono); font-size:var(--fs-sm); color:var(--color-primary-accent); margin-bottom:1rem; }
.process-step h3 { font-family:var(--font-display); font-size:var(--fs-lg); margin-bottom:.5rem; color:#fff; }
.process-step p { color:rgba(255,255,255,.65); font-size:var(--fs-sm); }

/* ============ REASON LIST (Neden Şimdi?) ============ */
.reason-list { display:grid; grid-template-columns:repeat(2,1fr); gap:2.5rem 3rem; }
@media (max-width:768px){ .reason-list{grid-template-columns:1fr; gap:2rem;} }
.reason-item { display:flex; gap:1.25rem; align-items:flex-start; }
.reason-item__num {
  flex-shrink:0; width:56px; height:56px; border-radius:50%;
  border:2px solid var(--color-primary-accent); background:rgba(14,72,246,.08);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-weight:800; font-size:var(--fs-xl);
  color:var(--color-primary-accent);
}
.reason-item h3 { font-family:var(--font-display); font-size:var(--fs-base); font-weight:700; color:#fff; margin-bottom:.4rem; }
.reason-item p { color:rgba(255,255,255,.65); font-size:var(--fs-sm); line-height:1.6; }

/* ============ SERVICE CARDS ============ */
.service-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:1.25rem; }
@media (max-width:1100px){ .service-grid{grid-template-columns:repeat(3,1fr);} }
@media (max-width:640px){ .service-grid{grid-template-columns:repeat(2,1fr);} }
.service-card { display:flex; flex-direction:column; align-items:flex-start; height:100%; }
.service-card .badge { margin-top:auto; }
.service-card__icon {
  width:44px; height:44px;
  border-radius:var(--radius-md);
  background:var(--gradient-cta);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:1.25rem;
}
.service-card .card-title { font-size:var(--fs-base); margin-bottom:.5rem; }
.service-card .card-desc { margin-bottom:1.25rem; }

/* ============ FEATURE STRIP (3 başlık) ============ */
.feature-strip { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
@media (max-width:768px){ .feature-strip{grid-template-columns:1fr;} }
.feature-strip__item {
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:1.1rem;
  padding:2.25rem 1.5rem;
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  background:var(--color-surface);
}
.feature-strip__icon {
  width:56px;
  height:56px;
  border-radius:50%;
  background:var(--gradient-cta);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.feature-strip__item h3 { font-size:var(--fs-base); margin:0; }

/* ============ DÖNÜŞÜM EKSENİ CARDS ============ */
.axis-card { padding:0; display:flex; flex-direction:column; }
.axis-card__header {
  background:linear-gradient(90deg,#1a0a3d,#7d0bb2);
  color:#fff;
  font-family:var(--font-display);
  font-weight:700;
  font-size:var(--fs-base);
  padding:1.25rem 1.5rem;
}
.axis-card__body { padding:1.5rem; display:flex; flex-direction:column; flex:1; }
.axis-card__body .card-desc { margin-bottom:1.25rem; }
.axis-card__list {
  list-style:none;
  margin-top:auto;
  padding-top:1rem;
  border-top:1px solid var(--color-border);
  display:flex;
  flex-direction:column;
  gap:.5rem;
}
.axis-card__list li {
  font-family:var(--font-display);
  font-weight:600;
  font-style:italic;
  font-size:var(--fs-sm);
  color:var(--color-primary-accent);
}
.axis-card__list li::before { content:"• "; }

/* ============ LOGO WALL ============ */
.logo-wall { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--color-border); border:1px solid var(--color-border); border-radius:var(--radius-lg); overflow:hidden; }
.logo-wall--big { grid-template-columns:repeat(6,1fr); }
@media (max-width:900px){ .logo-wall--big{grid-template-columns:repeat(3,1fr);} }
.logo-wall__cell { background:var(--color-surface); padding:1rem; display:grid; place-items:center; font-family:var(--font-display); font-weight:600; color:rgba(255,255,255,.55); letter-spacing:-.01em; text-align:center; min-height:80px; }
.logo-wall__cell img { width:100%; height:100%; max-width:100%; max-height:100%; object-fit:contain; }

/* ============ AREAS LAYOUT ============ */
.areas-layout { display:grid; grid-template-columns:240px 1fr; gap:3rem; align-items:start; }
@media (max-width:900px){ .areas-layout{grid-template-columns:1fr;} }
.areas-nav { position:sticky; top:calc(var(--header-h) + 1rem); display:flex; flex-direction:column; gap:.25rem; }
.areas-nav__title { font-family:var(--font-mono); font-size:var(--fs-xs); color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:.1em; margin-bottom:.75rem; }
.areas-nav a { display:block; padding:.75rem 1rem; border-radius:var(--radius-md); color:rgba(255,255,255,.65); font-size:var(--fs-sm); transition:all .2s; border-left:2px solid transparent; }
.areas-nav a:hover, .areas-nav a.is-active { color:#fff; background:var(--color-surface); border-left-color:var(--color-primary-accent); }
.area-group { margin-bottom:3rem; }
.area-group h2 { font-family:var(--font-display); font-size:var(--fs-2xl); margin-bottom:1.5rem; color:#fff; }
.area-list { display:flex; flex-direction:column; gap:.75rem; }
.area-item { display:grid; grid-template-columns:auto 1fr auto; gap:1.5rem; padding:1.25rem 1.5rem; border:1px solid var(--color-border); border-radius:var(--radius-md); background:var(--color-surface); align-items:center; transition:all .2s; }
.area-item:hover { background:var(--color-surface-hi); border-color:rgba(218,0,255,.3); }
.area-item__code { font-family:var(--font-mono); font-size:var(--fs-xs); color:var(--color-primary-accent); padding:.25rem .5rem; border:1px solid rgba(218,0,255,.4); border-radius:var(--radius-sm); white-space:nowrap; }
.area-item h3 { font-family:var(--font-display); font-size:var(--fs-base); font-weight:600; color:#fff; margin-bottom:.25rem; }
.area-item p { font-size:var(--fs-sm); color:rgba(255,255,255,.65); }
.area-item__duration { font-family:var(--font-mono); font-size:var(--fs-xs); color:rgba(255,255,255,.55); white-space:nowrap; }

/* ============ INSTRUCTOR CARD ============ */
.instructor-card { padding:1.5rem; border:1px solid var(--color-border); border-radius:var(--radius-lg); background:var(--color-surface); text-align:center; transition:all .2s; text-decoration:none; color:inherit; display:block; }
.instructor-card:hover { background:var(--color-surface-hi); transform:translateY(-3px); border-color:rgba(218,0,255,.3); }
.instructor-card__avatar { width:80px; height:80px; border-radius:50%; margin:0 auto 1rem; display:grid; place-items:center; color:#fff; font-family:var(--font-display); font-weight:800; font-size:var(--fs-lg); }
.instructor-card h3 { font-family:var(--font-display); font-size:var(--fs-base); font-weight:600; color:#fff; margin-bottom:.25rem; }
.instructor-card p { font-size:var(--fs-xs); color:rgba(255,255,255,.6); margin-bottom:.75rem; }
.instructor-card__tags { display:flex; flex-wrap:wrap; gap:.25rem; justify-content:center; }
.instructor-card__tags span { font-size:10px; font-family:var(--font-mono); padding:.2rem .5rem; border-radius:999px; background:rgba(218,0,255,.12); color:var(--color-primary-accent); }

/* ============ CASE & TESTIMONIAL ============ */
.case-card { padding:2rem; border:1px solid var(--color-border); border-radius:var(--radius-lg); background:var(--color-surface); }
.case-card__meta { display:flex; justify-content:space-between; font-size:var(--fs-xs); color:rgba(255,255,255,.6); margin-bottom:1rem; font-family:var(--font-mono); }
.case-card h3 { font-family:var(--font-display); font-size:var(--fs-lg); color:#fff; margin-bottom:.75rem; }
.case-card p { color:rgba(255,255,255,.7); font-size:var(--fs-sm); margin-bottom:1.5rem; }
.case-card__kpis { display:flex; gap:2rem; padding-top:1rem; border-top:1px solid var(--color-border); }
.case-card__kpis div { display:flex; flex-direction:column; }
.case-card__kpis strong { font-family:var(--font-display); font-size:var(--fs-xl); color:var(--color-primary-accent); font-weight:800; }
.case-card__kpis span { font-size:var(--fs-xs); color:rgba(255,255,255,.55); }

.testimonial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
@media (max-width:900px){ .testimonial-grid{grid-template-columns:1fr;} }
.testimonial { padding:2rem; border:1px solid var(--color-border); border-radius:var(--radius-lg); background:var(--color-surface); border-left:3px solid var(--color-primary-accent); }
.testimonial p { color:rgba(255,255,255,.85); font-size:var(--fs-base); line-height:1.6; margin-bottom:1.5rem; font-family:var(--font-display); }
.testimonial footer { display:flex; flex-direction:column; border:none; padding:0; margin:0; }
.testimonial footer strong { color:#fff; font-size:var(--fs-sm); }
.testimonial footer span { color:rgba(255,255,255,.55); font-size:var(--fs-xs); }

/* ============ DETAIL LAYOUT ============ */
.detail-layout { display:grid; grid-template-columns:1.6fr .9fr; gap:3rem; align-items:start; }
@media (max-width:900px){ .detail-layout{grid-template-columns:1fr;} }
.price-box { padding:2rem; border:1px solid var(--color-border); border-radius:var(--radius-lg); background:var(--color-surface); position:sticky; top:calc(var(--header-h) + 1rem); }
.price-box__price { font-family:var(--font-display); font-size:var(--fs-3xl); font-weight:800; color:#fff; letter-spacing:-.03em; }
.price-box__price small { font-size:var(--fs-sm); color:rgba(255,255,255,.6); font-weight:400; }
.price-box__label { font-size:var(--fs-xs); color:rgba(255,255,255,.55); font-family:var(--font-mono); margin-bottom:1.5rem; }
.price-box__meta { display:flex; flex-direction:column; gap:.75rem; padding:1.5rem 0; border-top:1px solid var(--color-border); border-bottom:1px solid var(--color-border); margin-bottom:1.5rem; }
.price-box__meta > div { display:flex; justify-content:space-between; font-size:var(--fs-sm); }
.price-box__meta > div span:first-child { color:rgba(255,255,255,.6); }
.price-box__meta > div span:last-child { color:#fff; font-weight:500; }
.price-box .btn-primary { width:100%; justify-content:center; }

/* ============ FILTER PILLS ============ */
.filter-pills { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:2.5rem; }
.filter-pill { padding:.5rem 1rem; border-radius:999px; border:1px solid var(--color-border); background:var(--color-surface); color:rgba(255,255,255,.7); font-size:var(--fs-sm); font-family:var(--font-body); cursor:pointer; transition:all .2s; }
.filter-pill:hover { color:#fff; }
.filter-pill.is-active { background:var(--color-primary-accent); border-color:var(--color-primary-accent); color:#fff; }

/* ============ BLOG ============ */
.blog-hero { display:grid; grid-template-columns:1.3fr .7fr; gap:2rem; margin-bottom:3rem; }
@media (max-width:900px){ .blog-hero{grid-template-columns:1fr;} }
.blog-card { border:1px solid var(--color-border); border-radius:var(--radius-lg); background:var(--color-surface); overflow:hidden; display:flex; flex-direction:column; text-decoration:none; color:inherit; transition:all .2s; }
.blog-card:hover { background:var(--color-surface-hi); transform:translateY(-3px); }
.blog-card__image { aspect-ratio:16/9; background:linear-gradient(135deg,#0e48f6,#da00ff); }
.blog-card__body { padding:1.5rem; }
.blog-card__meta { display:flex; gap:1rem; font-size:var(--fs-xs); color:rgba(255,255,255,.55); font-family:var(--font-mono); margin-bottom:.75rem; }
.blog-card h3 { font-family:var(--font-display); font-size:var(--fs-lg); color:#fff; margin-bottom:.5rem; line-height:1.25; }
.blog-card p { color:rgba(255,255,255,.65); font-size:var(--fs-sm); }

/* ============ CONTACT ============ */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:3rem; }
@media (max-width:900px){ .contact-grid{grid-template-columns:1fr;} }
.form-field { margin-bottom:1.25rem; }
.form-field label { display:block; font-size:var(--fs-xs); font-family:var(--font-mono); color:rgba(255,255,255,.7); margin-bottom:.5rem; text-transform:uppercase; letter-spacing:.05em; }
.form-field input, .form-field textarea, .form-field select { width:100%; padding:.9rem 1rem; background:var(--color-surface); border:1px solid var(--color-border); border-radius:var(--radius-md); color:#fff; font-family:var(--font-body); font-size:var(--fs-base); transition:border-color .2s; }
.form-field input:focus, .form-field textarea:focus, .form-field select:focus { outline:none; border-color:var(--color-primary-accent); }
.form-field textarea { min-height:140px; resize:vertical; }

/* Contact Form 7 — match the .btn-primary.btn-lg look, full width */
.contact-form-card input[type="submit"].wpcf7-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 1.1rem 2rem;
  border-radius: var(--radius-full);
  background: var(--gradient-cta);
  color: #fff;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--fs-base);
  letter-spacing: 0.01em;
  border: none;
  cursor: pointer;
  box-shadow: 0 10px 28px rgba(14,72,246,0.38), 0 4px 10px rgba(218,0,255,0.22);
  transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}
.contact-form-card input[type="submit"].wpcf7-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(14,72,246,0.5), 0 8px 20px rgba(218,0,255,0.35);
}
.contact-form-card input[type="submit"].wpcf7-submit:disabled {
  opacity: .4;
  cursor: not-allowed;
  box-shadow: none;
  transform: none;
}
.contact-form-card .wpcf7-acceptance .wpcf7-list-item {
  display: block;
  margin: 0;
}
.contact-form-card .wpcf7-acceptance label {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  text-transform: none;
  font-family: var(--font-body);
  font-size: var(--fs-sm);
  color: rgba(255,255,255,.7);
  margin-bottom: 0;
  cursor: pointer;
}
.contact-form-card .wpcf7-acceptance input[type="checkbox"] { margin-top: .25rem; flex-shrink: 0; width:auto; }
.contact-form-card .wpcf7-not-valid-tip { color: #ff6b6b; font-size: var(--fs-xs); margin-top: .35rem; display: block; }
.contact-form-card .wpcf7-response-output { border-radius: var(--radius-md); margin-top: 1rem; font-size: var(--fs-sm); }

/* ============ STK ============ */
.stk-card { padding:2rem; border:1px solid var(--color-border); border-radius:var(--radius-lg); background:var(--color-surface); transition:all .2s; }
.stk-card:hover { border-color:rgba(218,0,255,.3); background:var(--color-surface-hi); }
.stk-card__icon { width:56px; height:56px; border-radius:var(--radius-md); background:var(--gradient-cta); display:grid; place-items:center; margin-bottom:1.25rem; color:#fff; font-family:var(--font-display); font-weight:800; }
.stk-card h3 { font-family:var(--font-display); font-size:var(--fs-lg); color:#fff; margin-bottom:.5rem; }
.stk-card p { color:rgba(255,255,255,.65); font-size:var(--fs-sm); margin-bottom:1rem; }
.stk-card__link { color:var(--color-primary-accent); font-size:var(--fs-sm); font-weight:600; }

/* ============ TIMELINE ============ */
.timeline { display:flex; flex-direction:column; gap:1rem; max-width:820px; }
.timeline-item { display:grid; grid-template-columns:120px 1fr; gap:2rem; padding:1.5rem 0; border-bottom:1px solid var(--color-border); align-items:start; }
.timeline-item__year { font-family:var(--font-display); font-size:var(--fs-xl); font-weight:800; color:var(--color-primary-accent); letter-spacing:-.02em; }
.timeline-item h3 { font-family:var(--font-display); font-size:var(--fs-lg); color:#fff; margin-bottom:.25rem; }
.timeline-item p { color:rgba(255,255,255,.65); font-size:var(--fs-sm); }

/* ============ PROSE ============ */
.prose h2 { font-family:var(--font-display); font-size:var(--fs-2xl); color:#fff; margin:2.5rem 0 1rem; letter-spacing:-.02em; }
.prose h3 { font-family:var(--font-display); font-size:var(--fs-lg); color:#fff; margin:2rem 0 .75rem; }
.prose p, .prose ul, .prose ol { color:rgba(255,255,255,.78); line-height:1.7; margin-bottom:1.25rem; }
.prose ul, .prose ol { padding-left:1.5rem; }
.prose ul li, .prose ol li { margin-bottom:.5rem; }
.prose a { color:var(--color-primary-accent); text-decoration:underline; }
