/* Tüm ikonlar inline SVG — Material Symbols kaldırıldı */

/* Clean card style */
.glass-card {
    background: #263548;
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
    transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.glass-card:hover {
    border-color: rgba(96,165,250,0.3);
    background: #2d3f54;
    box-shadow: 0 8px 32px -4px rgba(37,99,235,0.25), 0 0 0 1px rgba(96,165,250,0.1);
    transform: translateY(-4px);
}
.glass-card .icon-box { transition: transform 0.35s cubic-bezier(0.4,0,0.2,1), box-shadow 0.35s ease; }
.glass-card:hover .icon-box {
    transform: scale(1.1);
    box-shadow: 0 4px 16px rgba(37,99,235,0.35);
}
.glass-card .card-title { transition: color 0.3s ease; }
.glass-card:hover .card-title { color: #60a5fa; }

/* Service kartları — her biri kendi renk paleti */
.svc-cards > *:nth-child(2).glass-card:hover .card-title { color: #34d399; }
.svc-cards > *:nth-child(3).glass-card:hover .card-title { color: #22d3ee; }
.svc-cards > *:nth-child(4).glass-card:hover .card-title { color: #fb923c; }
.svc-cards > *:nth-child(2).glass-card:hover { border-color: rgba(52,211,153,0.3); box-shadow: 0 8px 32px -4px rgba(5,150,105,0.25), 0 0 0 1px rgba(52,211,153,0.1); }
.svc-cards > *:nth-child(3).glass-card:hover { border-color: rgba(34,211,238,0.3); box-shadow: 0 8px 32px -4px rgba(8,145,178,0.25), 0 0 0 1px rgba(34,211,238,0.1); }
.svc-cards > *:nth-child(4).glass-card:hover { border-color: rgba(251,146,60,0.3); box-shadow: 0 8px 32px -4px rgba(234,88,12,0.25), 0 0 0 1px rgba(251,146,60,0.1); }
.svc-cards > :nth-child(1).card-accent::before { background: linear-gradient(90deg, #2563eb, #60a5fa); }
.svc-cards > :nth-child(2).card-accent::before { background: linear-gradient(90deg, #059669, #34d399); }
.svc-cards > :nth-child(3).card-accent::before { background: linear-gradient(90deg, #0891b2, #22d3ee); }
.svc-cards > :nth-child(4).card-accent::before { background: linear-gradient(90deg, #ea580c, #fb923c); }

/* Icon glow on hover — renk bazlı */
.svc-cards > *:nth-child(2).glass-card:hover .icon-box { box-shadow: 0 4px 16px rgba(5,150,105,0.35); }
.svc-cards > *:nth-child(3).glass-card:hover .icon-box { box-shadow: 0 4px 16px rgba(8,145,178,0.35); }
.svc-cards > *:nth-child(4).glass-card:hover .icon-box { box-shadow: 0 4px 16px rgba(234,88,12,0.35); }

/* Hero grid dots */
.hero-grid {
    background-image: radial-gradient(rgba(37, 99, 235, 0.06) 1px, transparent 1px);
    background-size: 32px 32px;
}

/* Glow filter */
.glow-effect { filter: drop-shadow(0 0 15px rgba(37, 99, 235, 0.15)); }

/* Animated gradient background */
@keyframes gradient {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}
.animate-gradient { animation: gradient 6s ease infinite; background-size: 200% auto; }

/* Slow bounce for WhatsApp */
@keyframes bounce-slow {
    0%, 100% { transform: translateY(-5%); }
    50% { transform: translateY(0); }
}
.animate-bounce-slow { animation: bounce-slow 3s ease-in-out infinite; }

/* Scroll reveal */
.reveal {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}
.reveal.visible { opacity: 1; transform: translateY(0); }

/* Terminal cursor blink */
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:0} }
.cursor {
    display: inline-block; width: 8px; height: 18px;
    background: #2563eb; animation: blink 1s step-end infinite;
    vertical-align: middle; margin-left: 2px; border-radius: 1px;
}

/* Mobile menu — fullscreen overlay */
.mobile-nav {
    position: fixed; inset: 0; z-index: 200;
    background: rgba(15, 23, 42, 0.97);
    backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    display: flex; align-items: center; justify-content: center;
    opacity: 0; visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.mobile-nav.open { opacity: 1; visibility: visible; }
.mobile-nav nav { display: flex; flex-direction: column; align-items: center; gap: 1.75rem; }
.mobile-nav a {
    font-size: 1.75rem; font-weight: 500; color: #cbd5e1;
    text-decoration: none; opacity: 0; transform: translateY(20px);
    transition: opacity 0.4s ease, transform 0.4s ease, color 0.2s ease;
    transition-delay: calc(var(--i) * 0.07s);
}
.mobile-nav.open a { opacity: 1; transform: translateY(0); }
.mobile-nav a:hover, .mobile-nav a:active { color: #60a5fa; }
.mobile-nav .menu-cta {
    font-size: 1rem; padding: 0.75rem 2rem;
    background: linear-gradient(110deg, #2563eb 0%, #3b82f6 25%, #60a5fa 50%, #3b82f6 75%, #2563eb 100%);
    background-size: 200% 100%; animation: shimmer 4s linear infinite;
    border-radius: 0.75rem; color: #fff; font-weight: 600;
}

/* Hamburger bars → X morph */
.hamburger { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 6px; width: 48px; height: 48px; background: none; border: none; cursor: pointer; z-index: 201; }
.hamburger .bar { display: block; width: 26px; height: 2px; background: #e2e8f0; border-radius: 2px; transition: transform 0.3s ease, opacity 0.3s ease; }
.hamburger.active .bar:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.hamburger.active .bar:nth-child(2) { opacity: 0; }
.hamburger.active .bar:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* Preloader */
.preloader {
    position: fixed; inset: 0; z-index: 9999;
    background: #1e293b;
    display: flex; align-items: center; justify-content: center;
    transition: opacity 0.5s ease, visibility 0.5s ease;
}
.preloader.hidden { opacity: 0; visibility: hidden; }
.preloader-dot {
    width: 14px; height: 14px; border-radius: 50%; margin: 0 6px;
    animation: preloader-bounce 1.4s ease-in-out infinite;
}
.preloader-dot:nth-child(1) { background: #2563eb; animation-delay: 0s; }
.preloader-dot:nth-child(2) { background: #3b82f6; animation-delay: 0.2s; }
.preloader-dot:nth-child(3) { background: #60a5fa; animation-delay: 0.4s; }
@keyframes preloader-bounce { 0%,80%,100%{transform:scale(0)} 40%{transform:scale(1)} }

/* Back to top */
.back-to-top {
    position: fixed; bottom: 5rem; left: 1rem; z-index: 59;
    width: 44px; height: 44px; border-radius: 50%;
    background: #263548; border: 1px solid rgba(255,255,255,0.1);
    color: #94a3b8; display: flex; align-items: center; justify-content: center;
    opacity: 0; transform: translateY(20px); transition: all 0.3s ease; cursor: pointer;
}
.back-to-top.visible { opacity: 1; transform: translateY(0); }
.back-to-top:hover { background: #2d3f54; color: #60a5fa; }

/* Active nav link */
nav a.nav-active { color: #60a5fa !important; }
nav a.nav-link { position: relative; }
nav a.nav-link::after {
    content: ''; position: absolute; bottom: -6px; left: 0; width: 0; height: 2px;
    background: #60a5fa;
    transition: width 0.4s cubic-bezier(0.16,1,0.3,1);
}
nav a.nav-active::after { width: 100%; }
nav a.nav-link:hover::after { width: 100%; }

/* Tech marquee scroll */
@keyframes scroll-left { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* Tech item */
.tech-item {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 0 36px; white-space: nowrap;
    font-family: 'JetBrains Mono', monospace;
    font-size: 17px; font-weight: 600;
    color: rgba(148,163,184,0.6);
    transition: color 0.4s ease, text-shadow 0.4s ease;
    position: relative;
}
@media (min-width: 640px) { .tech-item { font-size: 19px; padding: 0 40px; gap: 12px; } }
.tech-item::after {
    content: ''; position: absolute; right: 0; top: 50%;
    width: 5px; height: 5px; border-radius: 50%;
    background: rgba(96,165,250,0.35);
    transform: translateY(-50%);
}
.tech-item:hover {
    color: #60a5fa;
    text-shadow: 0 0 20px rgba(96,165,250,0.4), 0 0 40px rgba(37,99,235,0.15);
}
.tech-item svg {
    width: 18px; height: 18px; color: rgba(96,165,250,0.35);
    transition: color 0.4s ease, filter 0.4s ease;
}
@media (min-width: 640px) { .tech-item svg { width: 22px; height: 22px; } }
.tech-item:hover svg {
    color: #60a5fa;
    filter: drop-shadow(0 0 8px rgba(96,165,250,0.5));
}

/* Marquee seamless */
.tech-scroll { display: flex; gap: 0; animation: scroll-left 35s linear infinite; }
.tech-scroll:hover { animation-play-state: paused; }

/* Grain/noise overlay */
body::after {
    content: '';
    position: fixed; inset: 0; z-index: 9998;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
    background-repeat: repeat;
    background-size: 256px 256px;
    opacity: 0.03;
}

/* Card accent top border on hover */
.card-accent { position: relative; overflow: hidden; }
.card-accent::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, #2563eb, #3b82f6);
    transform: scaleX(0); transform-origin: left;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.card-accent:hover::before { transform: scaleX(1); }

/* Project card hover */
.project-card {
    background: #263548;
    border: 1px solid rgba(255,255,255,0.08);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.project-card:hover {
    border-color: rgba(96,165,250,0.3);
    box-shadow: 0 12px 40px -4px rgba(37,99,235,0.3), 0 0 0 1px rgba(96,165,250,0.1);
    transform: translateY(-6px);
}
.project-card h3 { transition: color 0.3s ease; }
.project-card:hover h3 { color: #60a5fa; }

/* Proje kartları — her biri kendi renk hover'ı */
.proj-cards > :nth-child(1).project-card:hover { border-color: rgba(96,165,250,0.3); box-shadow: 0 12px 40px -4px rgba(37,99,235,0.3); }
.proj-cards > :nth-child(1).project-card:hover h3 { color: #60a5fa; }
.proj-cards > :nth-child(2).project-card:hover { border-color: rgba(52,211,153,0.3); box-shadow: 0 12px 40px -4px rgba(5,150,105,0.3); }
.proj-cards > :nth-child(2).project-card:hover h3 { color: #34d399; }
.proj-cards > :nth-child(3).project-card:hover { border-color: rgba(34,211,238,0.3); box-shadow: 0 12px 40px -4px rgba(8,145,178,0.3); }
.proj-cards > :nth-child(3).project-card:hover h3 { color: #22d3ee; }
.proj-cards > :nth-child(4).project-card:hover { border-color: rgba(251,146,60,0.3); box-shadow: 0 12px 40px -4px rgba(234,88,12,0.3); }
.proj-cards > :nth-child(4).project-card:hover h3 { color: #fb923c; }

/* Stats card hover — renk bazlı */
.stats-card { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.stats-card:hover { transform: translateY(-3px); }
.stagger-children > :nth-child(1).stats-card:hover { border-color: rgba(96,165,250,0.3); box-shadow: 0 8px 24px -4px rgba(37,99,235,0.3); }
.stagger-children > :nth-child(2).stats-card:hover { border-color: rgba(52,211,153,0.3); box-shadow: 0 8px 24px -4px rgba(5,150,105,0.3); }
.stagger-children > :nth-child(3).stats-card:hover { border-color: rgba(34,211,238,0.3); box-shadow: 0 8px 24px -4px rgba(8,145,178,0.3); }
.stagger-children > :nth-child(4).stats-card:hover { border-color: rgba(251,146,60,0.3); box-shadow: 0 8px 24px -4px rgba(234,88,12,0.3); }

/* Text reveal */
.text-reveal-line { overflow: hidden; display: block; }
.text-reveal-line > span {
    display: inline-block;
    transform: translateY(105%);
    transition: transform 0.8s cubic-bezier(0.23, 1, 0.32, 1);
}
.text-reveal-line.revealed > span { transform: translateY(0); }

/* Magnetic button */
.magnetic-btn { transition: transform 0.3s cubic-bezier(0.23, 1, 0.32, 1); }

/* Blur reveal */
.blur-reveal { filter: blur(6px); opacity: 0; transition: filter 0.8s ease, opacity 0.8s ease; }
.blur-reveal.visible { filter: blur(0); opacity: 1; }

/* Hero floating orbs */
@keyframes float-orb-1 { 0%,100%{transform:translate(0,0) scale(1)} 25%{transform:translate(60px,-40px) scale(1.1)} 50%{transform:translate(-30px,-80px) scale(0.95)} 75%{transform:translate(-60px,20px) scale(1.05)} }
@keyframes float-orb-2 { 0%,100%{transform:translate(0,0) scale(1)} 33%{transform:translate(-50px,60px) scale(1.15)} 66%{transform:translate(40px,-30px) scale(0.9)} }
@keyframes float-orb-3 { 0%,100%{transform:translate(0,0) scale(1)} 20%{transform:translate(40px,50px) scale(1.08)} 40%{transform:translate(-60px,-20px) scale(0.92)} 60%{transform:translate(20px,-60px) scale(1.12)} 80%{transform:translate(-40px,30px) scale(0.96)} }
.orb-1 { animation: float-orb-1 15s ease-in-out infinite; }
.orb-2 { animation: float-orb-2 20s ease-in-out infinite; }
.orb-3 { animation: float-orb-3 18s ease-in-out infinite; }

/* Button fill animation */
.btn-fill { position: relative; overflow: hidden; z-index: 1; }
.btn-fill::before {
    content: ''; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(135deg, rgba(37,99,235,0.08), rgba(59,130,246,0.08));
    transform: scaleX(0); transform-origin: right;
    transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}
.btn-fill:hover::before { transform: scaleX(1); transform-origin: left; }

/* Stagger children */
.stagger-children > * { opacity: 0; transform: translateY(30px); transition: opacity 0.6s ease, transform 0.6s ease; }
.stagger-children.visible > *:nth-child(1) { transition-delay: 0s; }
.stagger-children.visible > *:nth-child(2) { transition-delay: 0.1s; }
.stagger-children.visible > *:nth-child(3) { transition-delay: 0.15s; }
.stagger-children.visible > *:nth-child(4) { transition-delay: 0.2s; }
.stagger-children.visible > * { opacity: 1; transform: translateY(0); }

/* Process step entrance */
.process-step.entered { opacity: 1 !important; transform: translateY(0) !important; }
.process-step-mobile.entered { opacity: 1 !important; transform: translateX(0) !important; }

/* Process step active glow */
.process-step.active .process-num-circle, .process-step-mobile.active .process-num-circle { transform: scale(1.1); }
.process-step.active .process-num-circle::after, .process-step-mobile.active .process-num-circle::after { content: ''; position: absolute; inset: -6px; border-radius: 50%; border: 2px solid rgba(96,165,250,0.3); animation: process-pulse 2s ease-in-out infinite; }
.process-step.active .process-card, .process-step-mobile.active .process-card { transform: translateY(-4px); }

/* Process kartları — her biri kendi renk hover'ı */
.process-step:nth-child(1) .glass-card:hover { border-color: rgba(96,165,250,0.3); box-shadow: 0 8px 32px -4px rgba(37,99,235,0.25); }
.process-step:nth-child(2) .glass-card:hover { border-color: rgba(52,211,153,0.3); box-shadow: 0 8px 32px -4px rgba(5,150,105,0.25); }
.process-step:nth-child(3) .glass-card:hover { border-color: rgba(34,211,238,0.3); box-shadow: 0 8px 32px -4px rgba(8,145,178,0.25); }
.process-step:nth-child(4) .glass-card:hover { border-color: rgba(251,146,60,0.3); box-shadow: 0 8px 32px -4px rgba(234,88,12,0.25); }
.process-step-mobile:nth-child(1) .glass-card:hover { border-color: rgba(96,165,250,0.3); box-shadow: 0 8px 32px -4px rgba(37,99,235,0.25); }
.process-step-mobile:nth-child(2) .glass-card:hover { border-color: rgba(52,211,153,0.3); box-shadow: 0 8px 32px -4px rgba(5,150,105,0.25); }
.process-step-mobile:nth-child(3) .glass-card:hover { border-color: rgba(34,211,238,0.3); box-shadow: 0 8px 32px -4px rgba(8,145,178,0.25); }
.process-step-mobile:nth-child(4) .glass-card:hover { border-color: rgba(251,146,60,0.3); box-shadow: 0 8px 32px -4px rgba(234,88,12,0.25); }
@keyframes process-pulse { 0%,100%{transform:scale(1);opacity:0.5} 50%{transform:scale(1.2);opacity:0} }

/* Custom scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #0f172a; }
::-webkit-scrollbar-thumb { background: #3b82f6; border-radius: 3px; }

/* Selection */
::selection { background: #2563eb; color: #fff; }

/* Mobile safe area adjustments */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
    #waButton { bottom: calc(1.5rem + env(safe-area-inset-bottom)) !important; }
    #callButton { bottom: calc(5rem + env(safe-area-inset-bottom)) !important; }
    #instagramButton { bottom: calc(8.5rem + env(safe-area-inset-bottom)) !important; }
}

/* Prevent horizontal overflow on mobile */
html { overflow-x: hidden; }

/* Mobile menu body lock */
body.menu-open { overflow: hidden; }

/* Floating code particles */
@keyframes float-particle { 0%,100%{transform:translateY(0) rotate(0deg);opacity:0.08} 50%{transform:translateY(-20px) rotate(5deg);opacity:0.15} }

/* Shimmer Button */
@keyframes shimmer { 0%{background-position:-200% 0} 100%{background-position:200% 0} }
.btn-shimmer { background: linear-gradient(110deg, #2563eb 0%, #3b82f6 25%, #60a5fa 50%, #3b82f6 75%, #2563eb 100%); background-size: 200% 100%; animation: shimmer 4s linear infinite; }

/* Four-direction scroll reveals */
.reveal { will-change: transform, opacity; }
.reveal-left { opacity:0; transform:translateX(-60px); transition:opacity 0.8s cubic-bezier(0.16,1,0.3,1), transform 0.8s cubic-bezier(0.16,1,0.3,1); }
.reveal-right { opacity:0; transform:translateX(60px); transition:opacity 0.8s cubic-bezier(0.16,1,0.3,1), transform 0.8s cubic-bezier(0.16,1,0.3,1); }
.reveal-scale { opacity:0; transform:scale(0.88); transition:opacity 0.8s cubic-bezier(0.16,1,0.3,1), transform 0.8s cubic-bezier(0.16,1,0.3,1); }
.reveal-left.visible, .reveal-right.visible, .reveal-scale.visible { opacity:1; transform:translateX(0) scale(1); }

/* Pulse-glow */
@keyframes pulse-glow { 0%,100%{box-shadow:0 0 8px rgba(37,99,235,0.15)} 50%{box-shadow:0 0 24px rgba(37,99,235,0.3),0 0 48px rgba(37,99,235,0.1)} }
.pulse-glow { animation: pulse-glow 2.5s ease-in-out infinite; }

/* Process line fill animation */
@keyframes processLineFill { 0%{transform:scaleX(0)} 100%{transform:scaleX(1)} }

/* Katakana decorative elements */
.hero-kanji, .deco-kanji { position: absolute; writing-mode: vertical-rl; pointer-events: none; user-select: none; color: rgba(37,99,235,0.12); font-size: 1.5rem; letter-spacing: 0.5em; font-family: 'Space Grotesk', sans-serif; }
@media (max-width: 768px) { .hero-kanji { display: none; } }

/* Stagger delays */
.stagger-1 { transition-delay: 0.1s !important; }
.stagger-2 { transition-delay: 0.2s !important; }
.stagger-3 { transition-delay: 0.3s !important; }
.stagger-4 { transition-delay: 0.4s !important; }
.stagger-5 { transition-delay: 0.5s !important; }
.stagger-6 { transition-delay: 0.6s !important; }

/* Before/After comparison */
.comparison-card { border-radius: 16px; overflow: hidden; border: 1px solid rgba(255,255,255,0.08); }
.comparison-card.before { background: #1a2536; border-style: dashed; border-color: rgba(255,255,255,0.12); opacity: 0.85; }
.comparison-card.after { background: linear-gradient(135deg, #263548 0%, #1e3a5f 100%); border-color: rgba(96,165,250,0.3); box-shadow: 0 10px 40px -10px rgba(37,99,235,0.3); }
.browser-bar { display: flex; align-items: center; gap: 6px; padding: 10px 14px; background: #1a2536; border-bottom: 1px solid rgba(255,255,255,0.06); }
.browser-dot { width: 8px; height: 8px; border-radius: 50%; }
.browser-dot:nth-child(1) { background: #fca5a5; }
.browser-dot:nth-child(2) { background: #fcd34d; }
.browser-dot:nth-child(3) { background: #6ee7b7; }
.comparison-label { display: inline-flex; align-items: center; gap: 6px; padding: 5px 14px; border-radius: 100px; font-size: 13px; font-weight: 600; }
.comparison-label.before-label { background: rgba(220,38,38,0.1); color: #fca5a5; border: 1px solid rgba(220,38,38,0.2); }
.comparison-label.after-label { background: rgba(37,99,235,0.15); color: #60a5fa; border: 1px solid rgba(96,165,250,0.3); }

/* WhatsApp bounce */
@keyframes wa-bounce { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-6px)} }
.wa-btn-bounce { animation: wa-bounce 2s ease-in-out infinite; }
.wa-btn-bounce:hover { animation: none; transform: scale(1.1); }

/* Mobile menu close spin */
@keyframes spinIn { from{transform:rotate(-90deg) scale(0.5);opacity:0} to{transform:rotate(0) scale(1);opacity:1} }
.mobile-menu.open #menuClose { animation: spinIn 0.3s ease-out forwards; }

/* === JAPANESE AESTHETIC ELEMENTS === */
/* Japanese divider lines — soldan sağa dolma */
@keyframes jp-line-flow {
    0% { width: 0; opacity: 0; }
    20% { opacity: 1; }
    60% { width: 120px; opacity: 1; }
    80% { opacity: 0; }
    100% { width: 120px; opacity: 0; }
}
.jp-line-left, .jp-line-right { width: 0; }
.jp-divider.visible .jp-line-left { animation: jp-line-flow 4s ease-in-out infinite; }
.jp-divider.visible .jp-line-right { animation: jp-line-flow 4s ease-in-out infinite; }
@media (min-width: 640px) {
    @keyframes jp-line-flow { 0%{width:0;opacity:0} 20%{opacity:1} 60%{width:160px;opacity:1} 80%{opacity:0} 100%{width:160px;opacity:0} }
}

/* Japanese divider SVG — soldan sağa çizilme döngüsü */
@keyframes jp-stroke-ltr {
    0% { stroke-dashoffset: var(--dash); opacity: 0; }
    10% { opacity: 1; }
    60% { stroke-dashoffset: 0; opacity: 1; }
    80% { opacity: 0; }
    100% { stroke-dashoffset: 0; opacity: 0; }
}
.jp-draw { will-change: stroke-dashoffset, opacity; }
.jp-divider.visible .jp-draw { animation: jp-stroke-ltr 4s ease-in-out infinite; }
.jp-divider.visible .jp-draw:nth-child(1) { animation-delay: 0s; }
.jp-divider.visible .jp-draw:nth-child(2) { animation-delay: 0.2s; }
.jp-divider.visible .jp-draw:nth-child(3) { animation-delay: 0.4s; }
.jp-divider.visible .jp-draw:nth-child(4) { animation-delay: 0.6s; }
.jp-divider.visible .jp-draw:nth-child(5) { animation-delay: 0.8s; }

.section-kanji { position: absolute; right: 5%; top: 50%; transform: translateY(-50%); font-size: clamp(100px, 15vw, 180px); color: rgba(96,165,250,0.06); pointer-events: none; user-select: none; z-index: 0; font-family: serif; line-height: 1; }
@media (max-width: 640px) { .section-kanji { font-size: 80px; right: 2%; } }

.hanko { width: 52px; height: 52px; border: 2px solid rgba(96,165,250,0.3); border-radius: 4px; display: flex; align-items: center; justify-content: center; transform: rotate(-8deg); position: relative; font-family: serif; font-size: 18px; font-weight: 700; color: rgba(96,165,250,0.4); letter-spacing: 0.1em; flex-shrink: 0; }
.hanko::before { content: ''; position: absolute; inset: 3px; border: 1px solid rgba(96,165,250,0.15); border-radius: 2px; }

.japanese-num { position: absolute; top: 12px; right: 16px; font-size: 32px; color: rgba(96,165,250,0.08); font-family: serif; pointer-events: none; user-select: none; }

.ma-space { display: flex; align-items: center; justify-content: center; gap: 24px; padding: 40px 0; }
.ma-line { height: 1px; width: 80px; background: linear-gradient(to right, transparent, rgba(96,165,250,0.15), transparent); }
.ma-char { font-size: 18px; color: rgba(96,165,250,0.12); font-family: serif; letter-spacing: 0.3em; }

.wabi-line { height: 1px; width: 100%; max-width: 200px; background: linear-gradient(90deg, transparent, rgba(96,165,250,0.1) 20%, rgba(96,165,250,0.2) 40%, rgba(96,165,250,0.08) 70%, transparent); margin: 0 auto; }

/* Reduced motion — erişilebilirlik */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
    .tech-scroll { animation: none !important; }
    .orb-1, .orb-2, .orb-3 { animation: none !important; }
    .reveal, .reveal-left, .reveal-right, .reveal-scale { opacity: 1 !important; transform: none !important; }
    .stagger-children > * { opacity: 1 !important; transform: none !important; }
    .preloader { display: none !important; }
    .kanji-glow { opacity: 1 !important; animation: none !important; }
    .terminal-glow { animation: none !important; }
    .scroll-dot, .scroll-arrow { animation: none !important; }
    .jp-draw { animation: none !important; stroke-dashoffset: 0 !important; opacity: 1 !important; }
    .jp-line-left, .jp-line-right { animation: none !important; width: 80px !important; }
}

/* Kanji glow animation */
@keyframes kanji-pulse {
    0%, 100% { opacity: 1; text-shadow: none; }
    50% { opacity: 0.7; text-shadow: 0 0 30px rgba(96,165,250,0.3), 0 0 60px rgba(96,165,250,0.1); }
}
.kanji-glow {
    animation: kanji-pulse 6s ease-in-out infinite;
    transition: transform 0.1s ease-out;
    will-change: transform;
}
.hero-kanji:nth-child(1) { animation-delay: 0s; }
.hero-kanji:nth-child(2) { animation-delay: 1.5s; }
.hero-kanji:nth-child(3) { animation-delay: 3s; }
.hero-kanji:nth-child(4) { animation-delay: 4.5s; }

/* Kanji fade-in on load */
@keyframes kanji-fadein {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}
.kanji-glow { opacity: 0; animation: kanji-fadein 1s ease forwards, kanji-pulse 6s ease-in-out 1s infinite; }
.hero-kanji:nth-child(1) { animation-delay: 1.2s, 2.2s; }
.hero-kanji:nth-child(2) { animation-delay: 1.5s, 2.5s; }
.hero-kanji:nth-child(3) { animation-delay: 1.8s, 2.8s; }
.hero-kanji:nth-child(4) { animation-delay: 2.1s, 3.1s; }

/* Terminal glow pulse */
@keyframes terminal-glow-pulse {
    0%, 100% { box-shadow: 0 0 15px rgba(37,99,235,0.08), 0 8px 32px rgba(0,0,0,0.3); border-color: rgba(96,165,250,0.15); }
    50% { box-shadow: 0 0 30px rgba(96,165,250,0.15), 0 8px 32px rgba(0,0,0,0.3); border-color: rgba(96,165,250,0.25); }
}
.terminal-glow { animation: terminal-glow-pulse 4s ease-in-out infinite; }
.terminal-glow:hover { box-shadow: 0 0 40px rgba(96,165,250,0.2), 0 8px 32px rgba(0,0,0,0.3); border-color: rgba(96,165,250,0.3); }

/* Scroll indicator */
@keyframes scroll-bounce {
    0%, 100% { transform: translateY(0); opacity: 1; }
    50% { transform: translateY(6px); opacity: 0.3; }
}
.scroll-dot { animation: scroll-bounce 2s ease-in-out infinite; }
@keyframes scroll-arrow-bounce { 0%,100%{transform:translateY(0);opacity:0.6} 50%{transform:translateY(4px);opacity:1} }
.scroll-arrow { animation: scroll-arrow-bounce 2s ease-in-out infinite; animation-delay: 0.5s; }

@keyframes scroll-fade {
    0% { opacity: 1; }
    100% { opacity: 0; transform: translateY(-20px); }
}
.scroll-indicator { transition: opacity 0.4s ease, transform 0.4s ease; }
.scroll-indicator.hidden { opacity: 0; transform: translate(-50%, 20px); pointer-events: none; }

/* Mobile card glow — scroll ile tetiklenir */
@media (max-width: 768px) {
    .glass-card.in-view { border-color: rgba(96,165,250,0.25); box-shadow: 0 4px 20px -4px rgba(37,99,235,0.2); }
    .glass-card.in-view .card-title { color: #60a5fa; }
    .glass-card.in-view .icon-box { transform: scale(1.05); box-shadow: 0 4px 12px rgba(37,99,235,0.25); }

    /* Hizmet kartları — kendi renkleri */
    .svc-cards > :nth-child(2).glass-card.in-view { border-color: rgba(52,211,153,0.25); box-shadow: 0 4px 20px -4px rgba(5,150,105,0.2); }
    .svc-cards > :nth-child(2).glass-card.in-view .card-title { color: #34d399; }
    .svc-cards > :nth-child(3).glass-card.in-view { border-color: rgba(34,211,238,0.25); box-shadow: 0 4px 20px -4px rgba(8,145,178,0.2); }
    .svc-cards > :nth-child(3).glass-card.in-view .card-title { color: #22d3ee; }
    .svc-cards > :nth-child(4).glass-card.in-view { border-color: rgba(251,146,60,0.25); box-shadow: 0 4px 20px -4px rgba(234,88,12,0.2); }
    .svc-cards > :nth-child(4).glass-card.in-view .card-title { color: #fb923c; }

    /* Proje kartları */
    .proj-cards > :nth-child(1).project-card.in-view { border-color: rgba(96,165,250,0.25); box-shadow: 0 4px 20px -4px rgba(37,99,235,0.2); }
    .proj-cards > :nth-child(2).project-card.in-view { border-color: rgba(52,211,153,0.25); box-shadow: 0 4px 20px -4px rgba(5,150,105,0.2); }
    .proj-cards > :nth-child(3).project-card.in-view { border-color: rgba(34,211,238,0.25); box-shadow: 0 4px 20px -4px rgba(8,145,178,0.2); }
    .proj-cards > :nth-child(4).project-card.in-view { border-color: rgba(251,146,60,0.25); box-shadow: 0 4px 20px -4px rgba(234,88,12,0.2); }
    .project-card.in-view h3 { color: #60a5fa; }
    .proj-cards > :nth-child(2).project-card.in-view h3 { color: #34d399; }
    .proj-cards > :nth-child(3).project-card.in-view h3 { color: #22d3ee; }
    .proj-cards > :nth-child(4).project-card.in-view h3 { color: #fb923c; }

    /* Process kartları */
    .process-step:nth-child(1) .glass-card.in-view { border-color: rgba(96,165,250,0.25); box-shadow: 0 4px 20px -4px rgba(37,99,235,0.2); }
    .process-step:nth-child(2) .glass-card.in-view { border-color: rgba(52,211,153,0.25); box-shadow: 0 4px 20px -4px rgba(5,150,105,0.2); }
    .process-step:nth-child(3) .glass-card.in-view { border-color: rgba(34,211,238,0.25); box-shadow: 0 4px 20px -4px rgba(8,145,178,0.2); }
    .process-step:nth-child(4) .glass-card.in-view { border-color: rgba(251,146,60,0.25); box-shadow: 0 4px 20px -4px rgba(234,88,12,0.2); }

    /* Problem/Çözüm kartları */
    .comparison-card.in-view, .glass-card.in-view[class*="border-l"] { transform: translateY(-2px); }
}

/* FAQ accordion */
.faq-open .faq-answer { max-height: 200px; padding-bottom: 0; }
.faq-open button .material-symbols-outlined { transform: rotate(180deg); }

/* Cookie consent banner */
.cookie-banner { position: fixed; bottom: 0; left: 0; right: 0; z-index: 9997; transform: translateY(100%); transition: transform 0.4s ease; }
.cookie-banner.visible { transform: translateY(0); }
