/* =========================================================================
   Pages — sayfaya özgü bölüm kurguları
   ========================================================================= */

/* Koyu bölümlerde numaralar açık mavi kalsın */
.section--dark .index-num, .page-hero .index-num, .cta-block .index-num { color: var(--color-accent-lt); }

/* ------------------------------------------- Giriş bandı (slogan + logo) */
.intro-band { background: var(--color-bg-alt); }
.intro-band__grid {
  display: grid; grid-template-columns: 1.15fr .85fr;
  gap: clamp(40px, 6vw, 110px); align-items: center;
}
.intro-band__slogan {
  font-size: clamp(2.4rem, 5.4vw, 5rem);
  line-height: 1.02; letter-spacing: -.04em; font-weight: 500;
  margin: clamp(20px, 3vw, 34px) 0 clamp(18px, 2.4vw, 30px);
  max-width: 14ch;
}
.intro-band__slogan em { font-style: normal; color: var(--color-accent); }
.intro-band .lead { max-width: 46ch; }
.intro-band__logo { display: flex; justify-content: center; }
/* Logonun arkasında yumuşak, koyulaşan bir hale — logo öne çıksın */
.intro-band__logo {
  --logo-w: clamp(210px, 24vw, 340px);   /* hale bu ölçüden türetilir */
  position: relative;
  display: grid; place-items: center;
  width: max-content;                    /* kutu logoyu sarar */
  justify-self: center;                  /* sütun içinde konumu */
  isolation: isolate;
}
.intro-band__logo::before {
  content: ""; position: absolute; z-index: -1;
  /* Hale her zaman logonun tam merkezinde ve logo genişliğine bağlı:
     sütun genişleyince ne kayar ne de büyüyüp butonları yutar. */
  left: 50%; top: 50%; transform: translate(-50%, -50%);
  width: calc(var(--logo-w) * 1.75); aspect-ratio: 1;
  border-radius: 50%;
  /* Marka laciverti — merkez dolu, kenara doğru çok kademeli sönüyor.
     Düşük saydamlıkta lacivert açık zeminde griye dönüyordu; hale artık
     gerçekten lacivert okunuyor, logo da açık sürümüyle önde duruyor. */
  background: radial-gradient(circle at 50% 47%,
    var(--color-bg-dark) 0%,
    rgba(23, 69, 107, .96) 24%,
    rgba(23, 69, 107, .88) 40%,
    rgba(23, 69, 107, .70) 54%,
    rgba(23, 69, 107, .44) 66%,
    rgba(23, 69, 107, .21) 78%,
    rgba(23, 69, 107, .07) 88%,
    rgba(23, 69, 107, 0) 96%);
  filter: blur(26px);
}
.intro-band__logo::before { display: none; }
.intro-band__logo img {
  position: relative; z-index: 1;
  width: var(--logo-w); height: auto;
  filter: none;
}

/* Satır satır başlık açılışı */
.reveal-line { display: block; overflow: hidden; }
.reveal-line > span {
  display: block; transform: translateY(105%);
  animation: lineUp .95s var(--ease) forwards;
}
.reveal-line:nth-child(1) > span { animation-delay: .10s; }
.reveal-line:nth-child(2) > span { animation-delay: .22s; }
.reveal-line:nth-child(3) > span { animation-delay: .34s; }
@keyframes lineUp { to { transform: translateY(0); } }

.fade-in { opacity: 0; animation: fadeIn .9s var(--ease) forwards; }
.fade-in--1 { animation-delay: .40s; }
.fade-in--2 { animation-delay: .55s; }
.fade-in--3 { animation-delay: .70s; }
@keyframes fadeIn { to { opacity: 1; } }

/* --------------------------------------------------------- Sayfa başlığı */
.page-hero {
  position: relative; isolation: isolate; color: var(--color-text-invert);
  padding-top: clamp(72px, 10vw, 150px);
  padding-bottom: var(--space-xl);
  overflow: hidden;
}
.page-hero__media {
  position: absolute; inset: 0; z-index: -2; overflow: hidden;
  background:
    radial-gradient(circle at 82% 18%, rgba(130, 190, 228, .32), transparent 28%),
    radial-gradient(circle at 18% 86%, rgba(72, 136, 184, .28), transparent 34%),
    linear-gradient(135deg, #0c2942 0%, #17456b 54%, #275f88 100%);
}
.page-hero__media::before {
  content: ""; position: absolute; inset: -18%; opacity: .18;
  background:
    repeating-linear-gradient(112deg, transparent 0 86px, rgba(255,255,255,.26) 87px 88px),
    repeating-linear-gradient(22deg, transparent 0 132px, rgba(255,255,255,.14) 133px 134px);
  transform: rotate(-4deg);
}
.page-hero::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, rgba(8, 31, 50, .38) 0%, rgba(8, 31, 50, .08) 72%, rgba(8, 31, 50, .18) 100%);
}
.page-hero h1 {
  font-size: clamp(2.6rem, 6.4vw, 6rem); font-weight: 500;
  letter-spacing: -.042em; line-height: 1.02; max-width: 15ch;
}
.page-hero__desc { margin-top: var(--space-sm); max-width: 46ch; color: rgba(243, 247, 251,.78); font-size: var(--fs-lead); }

/* --------------------------------------------------- Editorial statement */
.statement-block { display: grid; grid-template-columns: 3fr 9fr; gap: var(--space-md); }
.statement-block__meta {
  display: flex; flex-direction: column; gap: 10px;
  font-size: var(--fs-eyebrow); letter-spacing: var(--ls-wide);
  text-transform: uppercase; color: var(--color-muted);
  padding-top: 10px;
}
.statement-block__meta b { color: var(--color-accent); font-weight: 500; }
.statement-block__body p + p { margin-top: var(--space-sm); }
.statement-block .lead { margin-top: var(--space-md); }
/* Hakkımızda metni dört paragraf — ince bir şerit hâlinde akmasın */
.statement-block__body .lead { max-width: 64ch; }

/* -------------------------------------------------- Seçili projeler akışı */
.showcase { display: grid; gap: var(--space-xl); }
.showcase__row { display: grid; gap: var(--space-md); align-items: end; }
.showcase__row--a { grid-template-columns: 7fr 4fr; }
.showcase__row--b { grid-template-columns: 4fr 7fr; }
.showcase__row--full { grid-template-columns: 1fr; }

.showcase-head {
  display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between;
  gap: var(--space-md); margin-bottom: var(--space-xl);
}
.showcase-head h2 { max-width: 14ch; }

/* ------------------------------------------------------ Kurumsal önizleme */
.about-split { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(32px, 5vw, 96px); align-items: center; }
.about-split__media { position: relative; }
.about-split__media img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.about-split__caption {
  position: absolute; left: 0; bottom: 0;
  background: var(--color-bg); padding: var(--space-sm) var(--space-md) var(--space-sm) 0;
  max-width: 70%;
}
.about-split__caption span {
  display: block; font-size: var(--fs-eyebrow); letter-spacing: var(--ls-wide);
  text-transform: uppercase; color: var(--color-muted); margin-bottom: 6px;
}
.about-split__caption strong { font-family: var(--font-display); font-weight: 500; font-size: 1.05rem; }
.section--alt .about-split__caption { background: var(--color-bg-alt); }

/* ------------------------------------------------------------------- CTA */
.cta-block {
  position: relative; isolation: isolate; overflow: hidden;
  color: var(--color-text-invert);
  padding-block: clamp(96px, 14vw, 220px);
}
.cta-block__media {
  position: absolute; inset: 0; z-index: -2; overflow: hidden;
  background:
    radial-gradient(circle at 76% 34%, rgba(131, 192, 228, .34), transparent 27%),
    linear-gradient(125deg, #0b2942 0%, #17456b 58%, #2b668f 100%);
}
.cta-block__media::before {
  content: ""; position: absolute; right: -5%; bottom: -42%;
  width: min(58vw, 820px); aspect-ratio: 1; border-radius: 42% 58% 48% 52%;
  border: 1px solid rgba(255,255,255,.2);
  box-shadow: 0 0 0 58px rgba(255,255,255,.035), 0 0 0 116px rgba(255,255,255,.025);
  transform: rotate(18deg);
}
.cta-block::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, rgba(8, 31, 50,.58) 8%, rgba(8, 31, 50,.08) 100%);
}
.cta-block h2 {
  font-size: clamp(2.6rem, 6.6vw, 6.4rem); font-weight: 500;
  letter-spacing: -.045em; line-height: .98; max-width: 12ch;
}
.cta-block p { margin-top: var(--space-sm); max-width: 40ch; color: rgba(243, 247, 251,.76); font-size: var(--fs-lead); }
.cta-block__contact {
  margin-top: var(--space-md); display: flex; flex-wrap: wrap; gap: var(--space-md);
  font-size: var(--fs-sm); color: rgba(243, 247, 251,.6);
}
.cta-block__contact a { color: var(--color-text-invert); }
.cta-block__contact a:hover { color: var(--color-accent); }

/* ----------------------------------------------------- Hizmetler sayfası */
.service-block {
  display: grid; grid-template-columns: 6fr 6fr; gap: clamp(30px, 5vw, 90px);
  align-items: center; padding-block: var(--space-xl);
  border-top: 1px solid var(--color-line);
}
.service-block:first-of-type { border-top: 0; padding-top: 0; }
.service-block--rev .service-block__media { order: -1; }
.service-block__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.service-block__index { display: block; margin-bottom: var(--space-sm); }
.service-block h2 { font-size: clamp(1.7rem, 3vw, 2.8rem); margin-bottom: var(--space-sm); font-weight: 500; }
.service-block ul { margin-top: var(--space-sm); display: grid; gap: 10px; }
.service-block li {
  padding-left: 22px; position: relative;
  font-size: var(--fs-sm); color: var(--color-muted-dark);
}
.service-block li::before {
  content: ""; position: absolute; left: 0; top: 12px;
  width: 10px; height: 1px; background: var(--color-accent);
}

/* --------------------------------------------------------- Proje ızgarası */
.project-grid {
  display: grid; grid-template-columns: repeat(2, 1fr);
  gap: var(--space-xl) var(--space-md);
}
.project-grid .project-card.is-hidden { display: none; }
.project-grid .project-card:nth-child(4n+2),
.project-grid .project-card:nth-child(4n+3) { margin-top: var(--space-lg); }
.project-empty {
  grid-column: 1 / -1; padding-block: var(--space-xl);
  color: var(--color-muted); border-top: 1px solid var(--color-line);
}

/* ------------------------------------------------------ Proje detay sayfası */
.pdp-hero {
  position: relative; isolation: isolate; color: var(--color-text-invert);
  min-height: 78svh; display: flex; align-items: flex-end;
  padding-top: var(--space-xl);
  padding-bottom: var(--space-lg); overflow: hidden;
}
.pdp-hero__media { position: absolute; inset: 0; z-index: -2; }
.pdp-hero__media img { width: 100%; height: 100%; object-fit: cover; filter: none; }
.pdp-hero::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(8, 26, 45,0) 0%, rgba(8, 26, 45,0) 35%, rgba(8, 26, 45,.25) 68%, rgba(8, 26, 45,.72) 100%);
}
.pdp-hero h1 { font-size: clamp(2.4rem, 6vw, 5.4rem); font-weight: 500; letter-spacing: -.042em; max-width: 16ch; }
.pdp-hero__tags { display: flex; flex-wrap: wrap; gap: 10px var(--space-sm); margin-top: var(--space-sm); font-size: var(--fs-sm); color: rgba(243, 247, 251,.75); }
.pdp-hero__tags span { display: inline-flex; align-items: center; gap: 10px; }
.pdp-hero__tags span + span::before { content: ""; width: 3px; height: 3px; background: var(--color-accent); border-radius: 50%; }

.pdp-meta { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-md); }
.pdp-meta div { border-top: 1px solid var(--color-line); padding-top: var(--space-xs); }
.pdp-meta dt { font-size: var(--fs-eyebrow); letter-spacing: var(--ls-wide); text-transform: uppercase; color: var(--color-muted); margin-bottom: 8px; }
.pdp-meta dd { margin: 0; font-family: var(--font-display); font-weight: 500; font-size: clamp(1.05rem, 1.5vw, 1.4rem); }

.pdp-statement { display: grid; grid-template-columns: 4fr 8fr; gap: var(--space-md); }

.pdp-gallery { display: grid; gap: var(--space-md); grid-template-columns: repeat(12, 1fr); }
.pdp-gallery figure { margin: 0; }
.pdp-gallery img { width: 100%; object-fit: cover; }
.pdp-gallery figcaption { margin-top: 12px; font-size: var(--fs-xs); color: var(--color-muted); }
.pdp-gallery .g-wide { grid-column: span 12; }
.pdp-gallery .g-wide img { aspect-ratio: 21 / 9; }
.pdp-gallery .g-half { grid-column: span 6; }
.pdp-gallery .g-half img { aspect-ratio: 4 / 3; }

.pdp-nav {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-md);
  padding-block: var(--space-md); border-top: 1px solid var(--color-line);
}
.pdp-nav a { display: grid; gap: 6px; }
.pdp-nav span { font-size: var(--fs-eyebrow); letter-spacing: var(--ls-wide); text-transform: uppercase; color: var(--color-muted); }
.pdp-nav strong { font-family: var(--font-display); font-weight: 500; font-size: clamp(1.1rem, 1.8vw, 1.6rem); }
.pdp-nav a:hover strong { color: var(--color-accent); }
.pdp-nav .is-right { text-align: right; }

/* ----------------------------------------------------- Kurumsal tarihçesi */
.history { border-top: 1px solid var(--color-line); }
.history__row {
  display: grid; grid-template-columns: 2fr 3fr 7fr; gap: var(--space-md);
  padding-block: var(--space-md); border-bottom: 1px solid var(--color-line);
  align-items: baseline;
}
.history__year { font-family: var(--font-display); font-weight: 500; font-size: clamp(1.6rem, 3vw, 2.6rem); letter-spacing: -.03em; }
.history__title { font-family: var(--font-display); font-weight: 500; font-size: var(--fs-h3); }
.history__text { color: var(--color-muted-dark); font-size: var(--fs-sm); max-width: 56ch; }

/* --------------------------------------------------------- İletişim sayfası */
.contact-split { display: grid; grid-template-columns: 4fr 7fr; gap: clamp(36px, 6vw, 110px); align-items: start; }

/* ------------------------------------------------------- Scroll reveal */
/* Yazı: neredeyse anında — bekletmesin, sadece yumuşasın */
.rv {
  opacity: 0; transform: translateY(10px);
  transition: opacity .34s var(--ease), transform .34s var(--ease);
}
.rv.is-in { opacity: 1; transform: none; }
.rv[data-rv="1"] { transition-delay: .05s; }
.rv[data-rv="2"] { transition-delay: .10s; }
.rv[data-rv="3"] { transition-delay: .15s; }
.rv[data-rv="4"] { transition-delay: .20s; }

/* Görsel: akıcı — hafif büyüyerek ve yumuşayarak gelir (clip-path yerine) */
.rv-img {
  opacity: 0; transform: scale(1.03) translateY(14px);
  transition: opacity .75s var(--ease), transform .95s var(--ease);
}
.rv-img.is-in { opacity: 1; transform: none; }

/* =========================================================================
   Yumuşak hatlar — hero ve tam genişlik blokların kavisleri
   ========================================================================= */

/* Üst taraf: koyu bant ile görselin birleştiği yer yuvarlanır,
   sayfanın en üstünde keskin bir kesik kalmaz. */
.page-hero, .pdp-hero, .hero {
  /* Kenarlardan içeri alınıp dört köşesi de yuvarlatıldı — üstte keskin kesik kalmaz */
  margin-inline: var(--gutter);
  margin-top: var(--space-xs);
  border-radius: var(--radius-xl);
  overflow: hidden;
}

/* CTA bandı kenarlardan içeri alınıp yuvarlanıyor — panel gibi durur */
.cta-block {
  border-radius: var(--radius-xl);
  overflow: hidden;
  margin-inline: var(--gutter);
  width: auto;
}

/* Giriş bandı (ana sayfa) alt kenarı da yumuşasın */
.intro-band {
  margin-inline: var(--gutter);
  margin-top: var(--space-xs);
  /* Aşağıdaki bölümle arasında tatlı bir boşluk kalsın */
  margin-bottom: clamp(40px, 5vw, 88px);
  border-radius: var(--radius-xl);
}

/* Koyu bölümler panel gibi dursun */
.section--dark, .section--charcoal {
  border-radius: var(--radius-xl);
  margin-inline: var(--gutter);
}

/* Hero görselleri: bina tepeleri kırpılmasın diye kadraj yukarı çekildi */
.pdp-hero__media img,
.hero__media img { object-position: center 28%; }

/* ------------------------------------------------- Ana sayfa proje haritası */
.map-split {
  display: grid; grid-template-columns: 1.35fr .65fr;
  gap: clamp(24px, 3vw, 48px); align-items: stretch;
  margin-top: var(--space-lg);
}
.map-frame {
  position: relative; overflow: hidden;
  border-radius: var(--radius-lg);
  border: 1px solid var(--color-line);
  background: var(--color-bg-alt);
  min-height: 420px;
}
.map-frame iframe {
  position: absolute; inset: 0;
  width: 100%; height: 100%; border: 0; display: block;
}

.map-list { display: flex; flex-direction: column; }
.map-list ul { display: grid; gap: 2px; }
.map-list li {
  padding: 16px 20px;
  border-radius: var(--radius-sm);
  background: var(--color-bg-alt);
  transition: background var(--duration-fast) var(--ease);
}
.map-list li:hover { background: var(--color-line); }
.map-list__place {
  display: flex; align-items: baseline; justify-content: space-between; gap: 12px;
  font-family: var(--font-display); font-weight: 500; font-size: 1.02rem;
  color: var(--color-text);
}
.map-list__place em {
  font-style: normal; font-size: var(--fs-xs);
  letter-spacing: .1em; text-transform: uppercase; color: var(--color-accent-ink);
}
.map-list__items {
  display: block; margin-top: 6px;
  font-size: var(--fs-sm); line-height: 1.7; color: var(--color-muted-dark);
}
.map-list__items a { transition: color var(--duration-fast) var(--ease); }
.map-list__items a:hover { color: var(--color-accent-ink); }
.map-note {
  margin-top: auto; padding-top: var(--space-sm);
  font-size: var(--fs-xs); color: var(--color-muted);
}

/* İletişim sayfası ofis haritası */
.map-frame--office { min-height: clamp(320px, 46vh, 520px); }

/* Tam genişlik açık bantlar da panel gibi yuvarlansın — keskin kesik kalmasın */
.section--alt, .contact-band {
  border-radius: var(--radius-xl);
  margin-inline: var(--gutter);
}
