/* Hizmet sayfaları (3d-urun-animasyonu/, 3d-fuar-ve-sunum-animasyonu/, 3d-render/) */

/* Giriş bandı: ana sayfadaki koyu bölümlerle aynı dil */
.page-hero {
  background: #111;
  padding: 17rem 0 9rem;
  text-align: center;
}
.page-hero .section-intro { margin-bottom: 0; }
.page-hero .section-intro h1 { color: #fff; margin-bottom: 2.4rem; }
.page-hero .section-intro .eyebrow { color: rgba(242, 242, 242, .5); }
.page-hero .section-intro .lead { color: rgba(242, 242, 242, .6); margin-bottom: 0; }

.breadcrumb {
  font-family: "montserrat-regular", sans-serif;
  font-size: 1.3rem;
  letter-spacing: .05rem;
  margin: 0 0 3rem;
  padding: 0;
  list-style: none;
  color: rgba(242, 242, 242, .65);
}
.breadcrumb li { display: inline; margin: 0; padding: 0; }
.breadcrumb li + li::before { content: "/"; margin: 0 .8rem; }
.breadcrumb a { color: rgba(242, 242, 242, .75); text-decoration: underline; text-underline-offset: 3px; }
.breadcrumb a:hover { color: #fff; }

/* İçerik */
.page-body { background: #fff; padding: 9rem 0 6rem; }
.page-wrap { max-width: 920px; margin: 0 auto; padding: 0 24px; }
.page-block { margin-bottom: 7.2rem; }
.page-block:last-child { margin-bottom: 0; }

.page-body h2 {
  font-family: "librebaskerville-bold", serif;
  font-size: 3.2rem;
  line-height: 1.35;
  color: #151515;
  margin: 0 0 2.4rem;
}
.page-body h3 {
  font-family: "montserrat-bold", sans-serif;
  font-size: 1.7rem;
  line-height: 1.5;
  color: #151515;
  margin: 0 0 1rem;
}
.page-body p, .page-body li {
  font-family: "montserrat-regular", sans-serif;
  font-size: 1.7rem;
  line-height: 1.85;
  color: #4f4f4f;
}
.page-body p { margin: 0 0 2rem; }
.page-body a { color: #07617d; }
.page-body p a { text-decoration: underline; text-underline-offset: 3px; }
.page-body a:hover { color: #151515; }
.page-body strong { font-family: "montserrat-bold", sans-serif; font-weight: normal; color: #151515; }

/* Madde listesi */
.checks { list-style: none; margin: 0 0 2rem; padding: 0; }
.checks li { position: relative; padding-left: 3.2rem; margin: 0 0 1.2rem; }
.checks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .85rem;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  background: #ffd828;
}

/* Kart ızgarası (kullanım alanları, sektörler) */
.cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.4rem; }
.card { background: #f6f6f6; padding: 2.8rem 3rem; border-left: 4px solid #ffd828; }
.card h3 { margin-bottom: .8rem; }
.card p { margin: 0; font-size: 1.6rem; line-height: 1.75; }

/* Süreç adımları */
.steps { list-style: none; counter-reset: adim; margin: 0; padding: 0; }
.steps li { counter-increment: adim; position: relative; padding: 0 0 2.8rem 7rem; margin: 0; }
.steps li::before {
  content: counter(adim, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: -.2rem;
  font-family: "librebaskerville-bold", serif;
  font-size: 2.8rem;
  line-height: 1;
  color: #d3b105;
}
.steps li h3 { margin-bottom: .4rem; }
.steps li p { margin: 0; }

/* Videolar: kapak görseli + tıklayınca Vimeo oynatıcısı (sayfa hızı için) */
.videos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 3.2rem 2.4rem; }
.video figure { margin: 0; }
.video-frame { position: relative; aspect-ratio: 16 / 9; background: #111; overflow: hidden; }
.video-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.video-play {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  border: 0;
  background: #111;
  cursor: pointer;
}
.video-play img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0; transition: transform .4s ease, opacity .3s; }
.video-play:hover img { transform: scale(1.03); opacity: .85; }
.video-play .play-icon {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 68px;
  height: 68px;
  margin: -34px 0 0 -34px;
  border-radius: 50%;
  background: rgba(17, 17, 17, .75);
  border: 2px solid #fff;
}
.video-play .play-icon::after {
  content: "";
  position: absolute;
  left: 27px;
  top: 21px;
  border-style: solid;
  border-width: 12px 0 12px 19px;
  border-color: transparent transparent transparent #fff;
}
.video-play:hover .play-icon { background: #d3b105; }
.video figcaption { padding-top: 1.4rem; }
.video figcaption h3 { margin-bottom: .4rem; }
.video figcaption p { font-size: 1.5rem; line-height: 1.7; margin: 0; }

/* Görsel ızgara (render sayfası) */
.stills { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem; }
.stills figure { margin: 0; }
.stills img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; margin: 0; }
.stills figcaption { font-size: 1.4rem; line-height: 1.6; color: #777; padding-top: .8rem; }

/* Sık sorulan sorular */
.faq details { border-top: 1px solid #e5e5e5; }
.faq details:last-child { border-bottom: 1px solid #e5e5e5; }
.faq summary {
  cursor: pointer;
  list-style: none;
  padding: 2rem 4rem 2rem 0;
  position: relative;
  font-family: "montserrat-bold", sans-serif;
  font-size: 1.7rem;
  line-height: 1.5;
  color: #151515;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 1.6rem;
  font-size: 2.6rem;
  line-height: 1;
  color: #d3b105;
}
.faq details[open] summary::after { content: "–"; }
.faq details p { padding-bottom: 1rem; }

/* İletişim çağrısı */
.page-cta { background: #111; padding: 8rem 0; text-align: center; }
.page-cta h2 {
  font-family: "librebaskerville-bold", serif;
  font-size: 3.4rem;
  line-height: 1.35;
  color: #fff;
  margin: 0 0 1.6rem;
}
.page-cta p {
  font-family: "montserrat-regular", sans-serif;
  font-size: 1.7rem;
  line-height: 1.8;
  color: rgba(242, 242, 242, .6);
  margin: 0 auto 3.6rem;
  max-width: 640px;
}
.cta-buttons { display: flex; flex-wrap: wrap; gap: 1.6rem; justify-content: center; }
.cta-buttons a {
  display: inline-block;
  padding: 0 3rem;
  height: 5.4rem;
  line-height: 5.4rem;
  font-family: "montserrat-bold", sans-serif;
  font-size: 1.3rem;
  letter-spacing: .25rem;
  text-transform: uppercase;
  border: 2px solid #fff;
  color: #fff;
}
.cta-buttons a.cta-main { background: #ffd828; border-color: #ffd828; color: #111; }
.cta-buttons a:hover { background: #fff; border-color: #fff; color: #111; }

/* Diğer hizmetler */
.related { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.4rem; }
.related a {
  display: block;
  padding: 2.8rem 3rem;
  border: 1px solid #e5e5e5;
  color: #151515;
  transition: border-color .2s;
}
.related a:hover { border-color: #d3b105; color: #151515; }
.related strong { display: block; font-size: 1.8rem; margin-bottom: .6rem; }
.related span { font-family: "montserrat-regular", sans-serif; font-size: 1.5rem; line-height: 1.7; color: #666; }

@media (max-width: 768px) {
  .page-hero { padding: 14rem 0 7rem; }
  .page-body { padding: 6rem 0 4rem; }
  .page-body h2 { font-size: 2.6rem; }
  .cards, .videos, .related { grid-template-columns: 1fr; }
  .stills { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .steps li { padding-left: 5.4rem; }
  .page-cta h2 { font-size: 2.8rem; }
}

/* Video altındaki canlı demo linki ve "daha fazla çalışma" satırı */
.video figcaption .video-demo { margin-top: .8rem; }
.video-demo a { font-family: "montserrat-bold", sans-serif; font-size: 1.4rem; letter-spacing: .05rem; text-decoration: none; }
.page-body .more-work { margin-top: 3.6rem; }
.related { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }

/* ===================== Blog ===================== */
.page-hero .lead time { color: inherit; }

/* Yazı metni */
.prose { max-width: 760px; margin: 0 auto; }
.prose h2 { font-size: 2.8rem; margin: 5.6rem 0 2rem; }
.prose h3 { font-size: 1.9rem; margin: 3.6rem 0 1.2rem; }
.prose h4 { font-family: "montserrat-bold", sans-serif; font-size: 1.6rem; color: #151515; margin: 2.8rem 0 1rem; }
.prose ul, .prose ol { margin: 0 0 2.4rem 2.4rem; padding: 0; }
.prose ul li { list-style: disc; margin-bottom: .6rem; }
.prose ol li { list-style: decimal; margin-bottom: .6rem; }
.prose li ul, .prose li ol { margin-top: .6rem; margin-bottom: .6rem; }
.prose a { text-decoration: underline; text-underline-offset: 3px; }
.prose hr { border: 0; border-top: 1px solid #e5e5e5; margin: 4.8rem 0; }
.prose blockquote { margin: 0 0 2.4rem; padding: 1.6rem 2.4rem; border-left: 4px solid #ffd828; background: #f6f6f6; }
.prose figure { margin: 3.2rem 0; }
.prose img { display: block; max-width: 100%; height: auto; margin: 0 auto; }
.prose figcaption { font-size: 1.4rem; color: #777; text-align: center; padding-top: .8rem; }
.table-wrap { overflow-x: auto; margin: 0 0 2.8rem; }
.prose table { width: 100%; border-collapse: collapse; font-size: 1.5rem; }
.prose td, .prose th { border: 1px solid #e5e5e5; padding: 1rem 1.4rem; text-align: left; vertical-align: top; font-size: 1.5rem; line-height: 1.6; }
.prose tr:first-child td, .prose th { background: #f6f6f6; font-family: "montserrat-bold", sans-serif; color: #151515; }
.post-video { margin: 3.2rem 0; }

/* İçindekiler */
.toc { background: #f6f6f6; border-left: 4px solid #ffd828; padding: 2.4rem 2.8rem; margin: 0 0 4.8rem; }
.toc .toc-title { font-family: "montserrat-bold", sans-serif; font-size: 1.4rem; letter-spacing: .2rem; text-transform: uppercase; color: #151515; margin: 0 0 1.2rem; }
.toc ul { margin: 0 0 0 1.8rem; }
.toc li { font-size: 1.5rem; line-height: 1.7; margin-bottom: .4rem; }
.toc a { text-decoration: none; }

/* Yazı sonu hizmet kutusu */
.post-cta { background: #111; color: #fff; padding: 4rem 4.4rem; margin: 6.4rem auto 0; max-width: 760px; }
.post-cta .eyebrow-dark { font-family: "montserrat-bold", sans-serif; font-size: 1.3rem; letter-spacing: .25rem; text-transform: uppercase; color: rgba(242, 242, 242, .6); margin: 0 0 1rem; }
.page-body .post-cta h2 { color: #fff; font-size: 2.6rem; margin: 0 0 1.4rem; }
.page-body .post-cta p { color: rgba(242, 242, 242, .7); }
.page-body a.post-cta-btn {
  display: inline-block; margin-top: .8rem; padding: 0 2.8rem; height: 5rem; line-height: 5rem;
  background: #ffd828; color: #111; font-family: "montserrat-bold", sans-serif; font-size: 1.3rem;
  letter-spacing: .2rem; text-transform: uppercase; text-decoration: none;
}
.page-body a.post-cta-btn:hover { background: #fff; color: #111; }
.post-related { max-width: 760px; margin: 6.4rem auto 0; }
.post-related .related span { font-size: 1.4rem; }
.post-services a { margin-left: 1.2rem; }

/* Blog ana sayfası kartları */
.post-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 2.4rem; }
.post-card { display: flex; flex-direction: column; gap: 1rem; padding: 2.8rem 3rem; border: 1px solid #e5e5e5; border-top: 4px solid #ffd828; color: #151515; transition: border-color .2s, box-shadow .2s; }
.post-card:hover { border-color: #d3b105; box-shadow: 0 8px 24px rgba(0, 0, 0, .06); color: #151515; }
.post-card strong { font-family: "librebaskerville-bold", serif; font-weight: normal; font-size: 2rem; line-height: 1.4; }
.post-card-date { font-family: "montserrat-bold", sans-serif; font-size: 1.2rem; letter-spacing: .15rem; text-transform: uppercase; color: #8a7400; }
.post-card-desc { font-family: "montserrat-regular", sans-serif; font-size: 1.5rem; line-height: 1.7; color: #555; }

@media (max-width: 768px) {
  .prose h2 { font-size: 2.4rem; }
  .post-cta { padding: 3.2rem 2.4rem; }
}
/* WordPress başlıkların içine <strong> koymuş: başlık fontu bozulmasın */
.prose h2 strong, .prose h3 strong, .prose h4 strong { font-family: inherit; font-size: inherit; color: inherit; font-weight: inherit; }

/* Kapak görselleri (2026-10-24) */
.post-cover { max-width: 960px; margin: 0 auto 5.6rem; }
.post-cover img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; margin: 0; background: #f0f0f0; }
.post-card { padding: 0; gap: 0; overflow: hidden; }
.post-card-img { display: block; aspect-ratio: 16 / 9; background: #f0f0f0; overflow: hidden; }
.post-card-img img { display: block; width: 100%; height: 100%; object-fit: cover; margin: 0; transition: transform .4s ease; }
.post-card:hover .post-card-img img { transform: scale(1.04); }
.post-card-body { display: flex; flex-direction: column; gap: 1rem; padding: 2.4rem 2.8rem 2.8rem; }
