/* ---------- LP HERO ---------- */
.lp-hero{
  position:relative;
  background: var(--sanctuary);
  padding: 180px 48px 120px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  overflow:hidden;
}
.lp-hero__arch{
  top:-20%;
  background: radial-gradient(ellipse at 50% 30%, rgba(167,179,166,0.24) 0%, rgba(167,179,166,0.09) 40%, rgba(167,179,166,0) 72%);
  mix-blend-mode: normal;
}
.lp-hero__back{
  position:relative; z-index:1;
  font-family: var(--ff-body);
  font-size: 14px;
  font-weight:600;
  color: var(--linen-dim);
  margin-bottom: 28px;
  transition: color .3s ease;
}
.lp-hero__back:hover{ color: var(--clay-warm); }

.lp-hero .eyebrow{ position:relative; z-index:1; color: var(--clay-warm); }

.lp-hero__title{
  position:relative; z-index:1;
  font-family: var(--ff-display);
  font-variation-settings: 'opsz' 144;
  font-weight: 600;
  font-size: clamp(38px, 5.6vw, 72px);
  line-height: 1.04;
  color: var(--linen);
  max-width: 16ch;
}

.lp-hero__sub{
  position:relative; z-index:1;
  font-family: var(--ff-body);
  font-size: 17px;
  color: var(--linen-dim);
  max-width: 50ch;
  margin: 26px 0 34px;
  line-height: 1.65;
}

.lp-hero__meta{
  position:relative; z-index:1;
  list-style:none;
  display:flex; flex-wrap:wrap; justify-content:center; gap: 10px;
  margin-bottom: 8px;
}
.lp-hero__meta li{
  font-family: var(--ff-body);
  font-size: 12px;
  font-weight:600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--linen-dim);
  border: 1px solid var(--sanctuary-line);
  border-radius: 999px;
  padding: 6px 14px;
}

.lp-hero .btn{ position:relative; z-index:1; margin-top: 8px; }

.lp-hero__sub + .lp-hero__meta{ margin-top: -6px; }

.lp-price__note{
  position:relative; z-index:1;
  font-family: var(--ff-body);
  font-size: 13px;
  color: var(--linen-dim);
  margin-top: 14px;
}

/* ---------- PRICE ---------- */
.lp-price{
  display:flex; align-items:center; flex-wrap:wrap; gap: 14px;
  margin: 26px 0 6px;
}
.lp-price__badge{
  font-family: var(--ff-body);
  font-size: 11px;
  font-weight:700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--sanctuary-deep);
  background: var(--sanctuary-light);
  border-radius: 999px;
  padding: 5px 12px;
}
.lp-price__old{
  font-family: var(--ff-body);
  font-size: 16px;
  color: var(--linen-dim);
  text-decoration: line-through;
  text-decoration-color: rgba(250,249,245,0.5);
}
.lp-price__new{
  font-family: var(--ff-display);
  font-variation-settings: 'opsz' 40;
  font-weight: 600;
  font-size: 28px;
  color: var(--linen);
}
.lp-price--card{
  margin: 0 0 24px;
  justify-content: flex-start !important;
}
.lp-price--card .lp-price__old{ color: var(--ink-soft); text-decoration-color: rgba(16,37,31,0.4); }
.lp-price--card .lp-price__new{ color: var(--ink); }
.lp-price--card .lp-price__badge{ color: var(--stone); background: var(--clay); }
.lp-price--on-dark{ justify-content:center; }

/* program-card zemini karta göre değişir (öne çıkan kart açık, diğerleri koyu) —
   fiyat rengi de buna göre otomatik uyarlanır, kart tipi ne olursa olsun okunur kalır */
.program-card:not(.program-card--featured) .lp-price--card .lp-price__new{ color: var(--linen); }
.program-card:not(.program-card--featured) .lp-price--card .lp-price__old{ color: var(--linen-dim); text-decoration-color: rgba(250,249,245,0.5); }
.program-card:not(.program-card--featured) .lp-price--card .lp-price__badge{ color: var(--sanctuary-deep); background: var(--sanctuary-light); }

/* ---------- LP ABOUT ---------- */
.lp-about{
  background: var(--stone);
  padding: 140px 48px;
  display:grid;
  grid-template-columns: 1fr 0.9fr;
  gap: 72px;
  align-items:center;
  max-width: 1160px;
  margin: 0 auto;
}
.lp-about .eyebrow{ color: var(--clay); }
.lp-about .section-title{ color: var(--ink); }
.lp-about__media img{
  width:100%; height:auto;
  display:block;
  transition: transform .5s cubic-bezier(.2,.8,.2,1);
}
.lp-about__media:hover img{ transform: translateY(-6px) scale(1.03); }

/* ---------- FOR WHO ---------- */
.lp-for-who{ padding: 140px 48px; }
.lp-grid{
  list-style:none;
  max-width: 1160px;
  margin: 64px auto 0;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
.lp-grid__item{
  border-top: 1px solid var(--sanctuary-line);
  padding-top: 24px;
}
.lp-grid__item h3{
  font-family: var(--ff-display);
  font-variation-settings: 'opsz' 40;
  font-weight:600;
  font-size: 21px;
  color: var(--linen);
  margin-bottom: 12px;
  line-height:1.3;
}
.lp-grid__item p{
  font-family: var(--ff-body);
  font-size: 15px;
  line-height: 1.6;
  color: var(--linen-dim);
}

/* ---------- CURRICULUM ---------- */
.lp-curriculum{
  background: var(--stone);
  padding: 140px 48px;
}
.lp-curriculum .eyebrow{ color: var(--clay); }
.lp-curriculum .section-title,
.lp-curriculum .section-sub{ color: var(--ink); }
.lp-curriculum .section-sub{ color: var(--ink-soft); }

.lp-modules{
  list-style:none;
  max-width: 1160px;
  margin: 64px auto 0;
  display:flex;
  align-items:stretch;
  border-top: 1px solid rgba(16,37,31,0.14);
  border-bottom: 1px solid rgba(16,37,31,0.14);
  overflow-x:auto;
}
.lp-module{
  flex: 0 0 76px;
  min-width: 76px;
  max-width: 76px;
  min-height: 460px;
  border-right: 1px solid rgba(16,37,31,0.14);
  transition: flex-basis .5s cubic-bezier(.2,.8,.2,1), max-width .5s cubic-bezier(.2,.8,.2,1);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.lp-module:last-child{ border-right:none; }
.lp-module.is-open{ flex: 1 1 340px; max-width: 480px; }

.lp-module__head{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap: 20px;
  width:100%;
  height:100%;
  padding: 28px 18px;
  background:none;
  border:none;
  cursor:pointer;
  text-align:left;
  font:inherit;
}
.lp-module.is-open .lp-module__head{ height:auto; flex:0 0 auto; }

.lp-module__num{
  font-family: var(--ff-display);
  font-style: italic;
  font-weight: 500;
  font-size: 24px;
  color: var(--clay);
  writing-mode: vertical-rl;
  white-space:nowrap;
}
.lp-module.is-open .lp-module__num{ writing-mode: horizontal-tb; }

.lp-module__title{
  font-family: var(--ff-display);
  font-variation-settings: 'opsz' 40;
  font-weight:600;
  font-size: 18px;
  color: var(--ink);
  line-height:1.35;
  writing-mode: vertical-rl;
  white-space:nowrap;
}
.lp-module.is-open .lp-module__title{
  writing-mode: horizontal-tb;
  white-space:normal;
  font-size: clamp(19px, 2vw, 23px);
}

.lp-module__panel{
  max-height:0;
  opacity:0;
  overflow:hidden;
  transition: max-height .3s ease, opacity .25s ease;
}
.lp-module.is-open .lp-module__panel{
  max-height:280px;
  opacity:1;
  transition: max-height .35s ease .3s, opacity .3s ease .3s;
}
.lp-module__list{
  list-style:none;
  padding: 0 18px 24px;
}
.lp-module__list li{
  font-family: var(--ff-body);
  font-size: 14px;
  line-height: 1.9;
  color: var(--ink-soft);
  white-space:nowrap;
}

/* ---------- FORMAT ---------- */
.lp-format{ padding: 140px 48px; }
.lp-format__grid{ margin-top: 64px; }
.lp-format__grid .program-card{ min-height: unset; }

@media (max-width: 960px){
  .lp-hero{ padding: 140px 24px 90px; }
  .lp-about{ grid-template-columns: 1fr; gap:48px; padding: 90px 24px; }
  .lp-about__media{ order:-1; }
  .lp-for-who{ padding: 90px 24px; }
  .lp-grid{ grid-template-columns:1fr; gap:32px; }
  .lp-curriculum{ padding: 90px 24px; }
  .lp-module{ flex-basis: 56px; min-width: 56px; max-width: 56px; min-height: 380px; }
  .lp-module.is-open{ flex-basis: 260px; max-width: 300px; }
  .lp-format{ padding: 90px 24px; }
  .lp-price{ flex-wrap:wrap; justify-content:center; }
}

@media (max-width: 640px){
  .lp-modules{
    flex-direction: column;
    overflow-x: visible;
  }
  .lp-module{
    flex-basis:auto; min-width:0; max-width:none; min-height:0;
    border-right:none;
    border-bottom: 1px solid rgba(16,37,31,0.14);
  }
  .lp-module:last-child{ border-bottom:none; }
  .lp-module.is-open{ flex-basis:auto; max-width:none; }
  .lp-module__head{
    flex-direction:row;
    align-items:center;
    height:auto;
    padding: 20px 4px;
  }
  .lp-module__num,
  .lp-module__title{
    writing-mode: horizontal-tb;
    white-space:normal;
  }
  .lp-module__title{ font-size:16px; }
  .lp-module.is-open .lp-module__panel{ max-height:900px; }
  .lp-module__list li{ white-space:normal; }
}
