/* ---------- İç sayfa hero: yörünge sahnesi + kelime kelime başlık ---------- */
.inner-hero { position: relative; padding: clamp(130px, 12vw, 170px) 0 clamp(60px, 7vw, 96px); overflow: hidden; isolation: isolate; }
.inner-hero::before { content: ''; position: absolute; inset: 0; opacity: .55; background-image: linear-gradient(rgba(var(--cyan-rgb),.07) 1px, transparent 1px), linear-gradient(90deg, rgba(var(--cyan-rgb),.07) 1px, transparent 1px); background-size: 54px 54px; -webkit-mask-image: radial-gradient(ellipse at 72% 50%, #000 12%, transparent 62%); mask-image: radial-gradient(ellipse at 72% 50%, #000 12%, transparent 62%); pointer-events: none; }
.inner-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(230px, .5fr) 1.5fr; gap: 30px; }
.inner-hero h1 { grid-column: 2; max-width: 760px; font-size: var(--h1); }
.inner-hero .lead { grid-column: 2; max-width: 600px; margin-top: 30px; color: var(--muted); }
.inner-hero .eyebrow::before { content: ''; display: inline-block; width: 0; height: 1px; margin-right: 10px; vertical-align: middle; background: var(--cyan); box-shadow: 0 0 8px var(--cyan); transition: width .9s var(--ease) .15s; }
.inner-hero .eyebrow.is-visible::before { width: 22px; }
/* Kelime kelime açılan başlık (JS .w sarmalayıcıları ekler; JS yoksa normal görünür) */
.js .inner-hero h1.is-split { opacity: 1; transform: none; }
.inner-hero h1 .w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .14em; margin-bottom: -.14em; }
.inner-hero h1 .w > i { display: inline-block; font-style: normal; transform: translateY(112%); transition: transform .95s var(--ease); transition-delay: calc(60ms + var(--i) * 75ms); }
.inner-hero h1.is-visible .w > i { transform: none; }

.inner-orbit { --px: 0; --py: 0; position: absolute; z-index: 1; top: 57%; right: 1%; width: min(34vw, 440px); aspect-ratio: 1; perspective: 900px; transform: translateY(-50%); pointer-events: none; }
.orbit-glow { position: absolute; inset: 8%; border-radius: 50%; background: radial-gradient(circle, rgba(var(--cyan-rgb),.2), rgba(var(--cyan-rgb),.05) 42%, transparent 68%); filter: blur(22px); animation: orbit-pulse 6s ease-in-out infinite alternate; }
.orbit-scene { position: absolute; inset: 0; transform-style: preserve-3d; transform: translate(calc(var(--px) * 16px), calc(var(--py) * 12px)) rotateX(64deg) rotateZ(-14deg); transition: transform .4s ease-out; }
.orbit-ring { position: absolute; inset: 0; border: 1px dashed rgba(var(--cyan-rgb),.42); border-radius: 50%; animation: orbit-spin 32s linear infinite; }
.ring-2 { inset: 17%; border-style: solid; border-color: rgba(var(--cyan-rgb),.2); box-shadow: 0 0 40px rgba(var(--cyan-rgb),.08) inset; animation-duration: 22s; animation-direction: reverse; }
.ring-3 { inset: 34%; border-color: rgba(var(--cyan-rgb),.5); animation-duration: 15s; }
.orbit-node { position: absolute; top: -5px; left: 50%; width: 10px; height: 10px; margin-left: -5px; border-radius: 50%; background: var(--node); box-shadow: 0 0 6px var(--node), 0 0 18px 6px rgba(var(--cyan-rgb),.65); }
.orbit-node.node-alt { top: auto; bottom: -4px; width: 7px; height: 7px; background: var(--amber); box-shadow: 0 0 6px var(--amber), 0 0 16px 5px rgba(255,158,82,.5); }
.orbit-core { position: absolute; inset: 45%; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #8ff5fb, var(--cyan) 35%, #045a6b 80%); box-shadow: 0 0 30px rgba(var(--cyan-rgb),.7), 0 0 90px rgba(var(--cyan-rgb),.35); animation: orbit-pulse 3.5s ease-in-out infinite alternate; }
.orbit-chips span { position: absolute; padding: 8px 13px; border: 1px solid var(--line-bright); border-radius: 6px; color: var(--cyan); background: rgba(var(--surface-rgb),.82); box-shadow: 0 18px 30px -12px var(--shadow), inset 0 1px var(--highlight); font: 500 var(--text-sm) var(--mono); letter-spacing: .1em; text-transform: uppercase; backdrop-filter: blur(6px); animation: chip-float 6s ease-in-out infinite; animation-delay: calc(var(--d) * -1.5s); }
.orbit-chips span:nth-child(1) { top: 18%; left: 8%; }
.orbit-chips span:nth-child(2) { top: 26%; right: 9%; }
.orbit-chips span:nth-child(3) { bottom: 24%; left: 24%; }
.orbit-chips span:nth-child(4) { bottom: 12%; right: 12%; }

@keyframes orbit-spin { to { transform: rotate(360deg); } }
@keyframes orbit-pulse { from { opacity: .7; scale: .96; } to { opacity: 1; scale: 1.05; } }
@keyframes chip-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-12px); } }

@media (max-width: 1050px) { .inner-orbit { right: -8%; width: min(44vw, 420px); } }
@media (max-width: 850px) { .inner-orbit { top: 58%; right: -22%; width: min(80vw, 400px); opacity: .55; } .orbit-chips { display: none; } }
@media (prefers-reduced-motion: reduce) { .orbit-ring, .orbit-glow, .orbit-core, .orbit-chips span { animation: none; } .orbit-scene { transition: none; } }

.inner-media-section { padding: 0 0 clamp(72px, 8vw, 120px); }
.inner-media { position: relative; min-height: 430px; aspect-ratio: 16 / 7; overflow: hidden; isolation: isolate; }
.inner-media::after { content: ''; position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg, transparent 38%, rgba(var(--bg-rgb),.9) 100%), linear-gradient(90deg, rgba(var(--bg-rgb),.38), transparent 38%); pointer-events: none; }
.inner-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease), filter 1.2s ease; }
.inner-media:hover img { transform: scale(1.025); filter: saturate(1.1); }
.inner-media figcaption { position: absolute; z-index: 2; right: 38px; bottom: 34px; left: 38px; display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.inner-media figcaption span { color: var(--cyan); font: 500 var(--text-sm) var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.inner-media figcaption strong { max-width: 650px; font-size: var(--h3); line-height: 1.3; text-align: right; }
.inner-section { padding-block: clamp(80px, 10vw, 145px); border-top: 1px solid var(--line); }
.editorial-grid { display: grid; grid-template-columns: .45fr 1.55fr; gap: 30px; }
.editorial-index { color: var(--cyan); font: var(--text-sm)/2 var(--mono); }.editorial-index span { color: var(--muted); }
.editorial-copy { max-width: 850px; }.editorial-copy > h2 { font-size: var(--h2); }.editorial-copy > p { max-width: 680px; margin: 35px 0 70px; color: var(--muted); font-size: var(--text); }
.value-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.value-grid article { padding: 30px 30px 30px 0; border-bottom: 1px solid var(--line); }.value-grid article:nth-child(odd) { border-right: 1px solid var(--line); }.value-grid article:nth-child(even) { padding-left: 30px; }
.value-grid b { color: var(--cyan); font: var(--text-sm) var(--mono); }.value-grid h3 { margin: 15px 0 12px; font-size: var(--h3); }.value-grid p { color: var(--muted); font-size: 18px; line-height: 1.7; }

.detailed-services { border-top: 1px solid var(--line); }
.detailed-service { display: grid; grid-template-columns: 55px 70px 1fr 1.1fr 1fr; gap: 24px; align-items: start; padding: 55px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 100px; }
.detailed-service > span { color: var(--muted); font: var(--text-sm) var(--mono); }.detailed-service h2 { font-size: var(--h2-sm); }.detailed-service > p { color: var(--muted); font-size: 18px; line-height: 1.7; }.detailed-service li { color: var(--muted); }
.detailed-service li { padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 18px; }.detailed-service li::before { content: '↳'; margin-right: 8px; color: var(--cyan); }
.compact-process { color: var(--paper); background: var(--surface); }.compact-process .eyebrow { margin-bottom: 45px; color: var(--cyan); }
.project-archive { padding-top: 0; border-top: 0; }
.portfolio-listing { padding-top: clamp(80px, 8vw, 120px); }
.archive-heading { display: grid; grid-template-columns: .45fr 1.55fr; gap: 30px; align-items: end; margin-bottom: 55px; }
.archive-heading h2 { font-size: var(--h2); }
.archive-heading h2 span { color: var(--cyan); }
.technology-catalog-section { padding-top: clamp(80px, 8vw, 120px); }
.technology-catalog { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.technology-card { position: relative; min-height: 335px; padding: 32px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: linear-gradient(145deg, rgba(var(--surface-rgb),.78), rgba(var(--surface-rgb),.45)); transition: background .3s ease, transform .3s var(--ease); }
.technology-card:hover { z-index: 1; background: rgba(var(--surface-rgb),.94); transform: translateY(-5px); }
.technology-card-icon { display: grid; place-items: center; width: 76px; height: 76px; margin-bottom: 38px; border: 1px solid var(--line-bright); border-radius: 12px; background: rgba(var(--cyan-rgb),.035); }
.technology-card-icon img { width: 52px; height: 52px; object-fit: contain; filter: drop-shadow(0 0 15px rgba(var(--cyan-rgb),.16)); }
.technology-card > p { color: var(--cyan); font: 500 var(--text-sm) var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.technology-card h2 { margin-top: 10px; font-size: var(--h2-sm); }
.technology-card-line { width: 45px; height: 1px; margin: 22px 0; background: var(--cyan); transition: width .3s var(--ease); }
.technology-card:hover .technology-card-line { width: 90px; }
.technology-card > span { display: block; max-width: 360px; color: var(--muted); font-size: 18px; line-height: 1.7; }
.case-placeholder { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 50px; border: 1px solid var(--line); background: var(--surface); }

@media (max-width: 850px) {
    .inner-hero-grid, .editorial-grid { grid-template-columns: 1fr; }
    .inner-hero h1, .inner-hero .lead { grid-column: 1; }
    .detailed-service { grid-template-columns: 45px 55px 1fr; }.detailed-service > p, .detailed-service ul { grid-column: 3; }
    .archive-heading { grid-template-columns: 1fr; }
    .technology-catalog { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 580px) {
    .inner-media { min-height: 390px; aspect-ratio: auto; }
    .inner-media figcaption { right: 22px; bottom: 22px; left: 22px; align-items: start; flex-direction: column; }
    .inner-media figcaption strong { text-align: left; }
    .value-grid { grid-template-columns: 1fr; }.value-grid article, .value-grid article:nth-child(even) { padding: 25px 0; border-right: 0; }
    .detailed-service { grid-template-columns: 38px 1fr; }.detailed-service .service-icon { display: none; }.detailed-service h2, .detailed-service > p, .detailed-service ul { grid-column: 2; }
    .technology-catalog { grid-template-columns: 1fr; }
    .technology-card { min-height: auto; }
    .case-placeholder { align-items: stretch; flex-direction: column; padding: 28px; }
}

.error-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* Proje detayı */
.project-facts { display: grid; gap: 22px; align-content: start; }
.project-facts div { display: grid; gap: 4px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.project-facts span { color: var(--muted); font: var(--text-sm) var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.project-facts b { font-weight: 600; }
.project-facts .project-metric { color: var(--cyan); font-size: var(--h2); font-weight: 800; line-height: 1.1; }
.project-body { max-width: 680px; margin: 35px 0 50px; color: var(--muted); }
.project-body p + p { margin-top: 18px; }
.project-archive .archive-heading { margin-bottom: 40px; }

/* Hizmet detayı */
.service-scope { display: grid; gap: 18px; align-content: start; }
.service-scope ul { display: grid; gap: 0; border-top: 1px solid var(--line); }
.service-scope li { padding: 12px 0; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 18px; line-height: 1.5; }
.service-scope li::before { content: '↳'; margin-right: 8px; color: var(--cyan); }
.service-scope .button { justify-self: start; margin-top: 10px; }
.service-body { margin-bottom: 0; }
.detailed-service h2 a { color: inherit; }.detailed-service h2 a:hover { color: var(--cyan); }
.detailed-service .service-more::before { content: none; }.detailed-service .service-more a { color: var(--cyan); }
.faq-section { background: var(--surface); }
.faq-list h2 { margin-bottom: 30px; font-size: var(--h2); }
.faq-item { border-top: 1px solid var(--line); }
.faq-item:last-child { border-bottom: 1px solid var(--line); }
.faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 20px 0; cursor: pointer; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary h3 { font-size: var(--h3); }
.faq-item summary span { flex: 0 0 auto; display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid var(--line-bright); border-radius: 5px; color: var(--cyan); font: 400 18px var(--mono); transition: transform .25s var(--ease); }
.faq-item[open] summary span { transform: rotate(45deg); }
.faq-item p { max-width: 720px; padding: 0 0 22px; color: var(--muted); font-size: 18px; line-height: 1.7; }
.other-services .service-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.other-services .service-card h3 a { color: inherit; }.other-services .service-card h3 a:hover { color: var(--cyan); }
@media (max-width: 850px) { .other-services .service-list { grid-template-columns: 1fr; } }

/* Vaka çalışması */
.case-study { display: grid; gap: 34px; max-width: 720px; margin: 10px 0 50px; }
.case-block h3 { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; font-size: var(--h3); }
.case-block h3 span { color: var(--cyan); font: var(--text-sm) var(--mono); }
.case-block p { color: var(--muted); font-size: var(--text); line-height: 1.7; }
.case-block p + p { margin-top: 14px; }
.case-results { display: grid; gap: 8px; }
.case-results li { padding: 12px 0; border-bottom: 1px solid var(--line); color: var(--paper); font-size: 18px; }
.case-results li::before { content: '↗'; margin-right: 10px; color: var(--cyan); }
.solution-list { margin-top: 40px; }

/* Yönetilebilir ekip ve proje referansları */
.team-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.team-card { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.team-photo { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.team-info { padding: 28px; overflow-wrap: anywhere; }
.team-info h3 { margin: 10px 0 6px; font-size: 24px; }
.team-role { color: var(--cyan); }
.team-bio { margin: 20px 0; color: var(--muted); }
.team-section .section-heading { margin-bottom: 32px; }
.inner-hero .demo-notice { grid-column: 2; max-width: 760px; margin: 0; padding: 14px 18px; border: 1px solid var(--line-bright); border-radius: 8px; background: var(--surface); color: var(--paper); font-size: 15px; }
.contact-hero-compact { padding: 110px 0 26px; }
.contact-hero-compact .inner-hero-grid { gap: 18px; }
.contact-hero-compact .lead { margin-top: 0; }
@media (max-width: 850px) {
    .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .inner-hero .demo-notice { grid-column: 1 / -1; }
}
@media (max-width: 650px) {
    .team-grid { grid-template-columns: 1fr; }
    .contact-hero-compact { padding: 90px 0 18px; }
    .contact-hero-compact h1 { font-size: clamp(26px, 7vw, 34px); }
    .contact-hero-compact .lead { font-size: 16px; }
    .contact-hero-compact .inner-hero-grid { gap: 12px; }
}
