/* ============================================
   Kilikya Digital — Ana Stil
   ============================================ */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-family: 'Manrope', system-ui, sans-serif; color: #0A1130; background: #F3F5FF; overflow-x: hidden; -webkit-font-smoothing: antialiased; }
::selection { background: #CBFF45; color: #0A1130; }
a { color: inherit; }
button, input, select, textarea { font-family: inherit; }

/* ---- Animations ---- */
@keyframes kdReveal  { from { opacity:0; transform:translateY(30px) } to { opacity:1; transform:none } }
@keyframes kdBlob    { 0%,100%{transform:translate(0,0) scale(1)} 33%{transform:translate(50px,-40px) scale(1.12)} 66%{transform:translate(-36px,28px) scale(.92)} }
@keyframes kdPulse   { 0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)} 70%{box-shadow:0 0 0 16px rgba(37,211,102,0)} 100%{box-shadow:0 0 0 0 rgba(37,211,102,0)} }
@keyframes kdFloat   { 0%,100%{transform:translateY(0) rotate(var(--r,0deg))} 50%{transform:translateY(-14px) rotate(var(--r,0deg))} }

[data-reveal] { opacity:0; transform:translateY(30px); transition: opacity .6s ease, transform .6s ease; }
[data-reveal].visible { opacity:1; transform:none; }

/* ---- Layout ---- */
.kd-container { max-width:1240px; margin:0 auto; padding:0 clamp(18px,5vw,64px); }
.kd-section   { padding:clamp(72px,9vw,128px) 0; }
.kd-section-light { background:#F3F5FF; }
.kd-section-dark  { background:#0A1130; color:#fff; }
.kd-tc { text-align:center; }

/* ---- NAV ---- */
.kd-nav {
  position:fixed; top:14px; left:16px; right:16px; z-index:60;
  max-width:1240px; margin:0 auto;
  display:flex; align-items:center; gap:18px;
  padding:10px 14px 10px 20px;
  background:rgba(255,255,255,.78); backdrop-filter:blur(18px) saturate(180%);
  border:1px solid rgba(255,255,255,.6);
  border-radius:18px;
  box-shadow:0 10px 30px rgba(10,17,48,.07), 0 1px 2px rgba(10,17,48,.04);
  transition:box-shadow .25s, background .25s;
}
.kd-logo { text-decoration:none; display:flex; flex-direction:column; line-height:.92; }
.kd-logo-name { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:21px; letter-spacing:-.04em; color:#0A1130; }
.kd-logo-sub  { font-family:'Space Grotesk',sans-serif; font-weight:500; font-size:9px; letter-spacing:.4em; color:#5B6488; margin-top:2px; }
.dot { color:#2A4BFF; }
.kd-nav-links { display:flex; align-items:center; gap:2px; font-weight:600; font-size:14.5px; margin-left:auto; }
.kd-nav-links a { color:#3B4468; text-decoration:none; transition:all .18s; padding:9px 14px; border-radius:10px; }
.kd-nav-links a:hover { color:#0A1130; background:rgba(10,17,48,.05); }
.kd-nav-admin { display:inline-flex; align-items:center; gap:6px; color:#5B6488 !important; }
.dot-sq { width:7px; height:7px; border-radius:2px; background:#2A4BFF; display:inline-block; }
.kd-nav-right { display:flex; align-items:center; gap:8px; margin-left:6px; padding-left:14px; border-left:1px solid rgba(10,17,48,.08); }
.kd-btn-ghost { background:transparent; border:none; cursor:pointer; font-weight:700; font-size:14px; color:#2A3358; padding:9px 14px; border-radius:10px; transition:background .18s; }
.kd-btn-ghost:hover { background:rgba(10,17,48,.05); color:#0A1130; }
.kd-btn-dark  { text-decoration:none; background:#0A1130; color:#fff; font-weight:700; font-size:14px; padding:10px 18px; border-radius:11px; transition:all .2s; display:inline-flex; align-items:center; gap:6px; }
.kd-btn-dark:hover { background:#2A4BFF; box-shadow:0 8px 20px rgba(42,75,255,.32); transform:translateY(-1px); }
.kd-mobile-menu-btn { display:none; background:none; border:none; font-size:22px; cursor:pointer; margin-left:auto; color:#0A1130; }
.kd-mobile-menu { display:none; position:fixed; top:78px; left:16px; right:16px; max-width:1240px; margin:0 auto; background:rgba(255,255,255,.96); backdrop-filter:blur(18px); border:1px solid rgba(255,255,255,.6); border-radius:18px; box-shadow:0 10px 30px rgba(10,17,48,.1); z-index:59; padding:14px 20px 18px; flex-direction:column; gap:14px; }
.kd-mobile-menu a { color:#2A3358; text-decoration:none; font-weight:600; font-size:16px; padding:8px 0; border-bottom:1px solid #E4E7F5; }

/* ---- AUTH MODAL ---- */
.auth-panel {
  position:relative; width:100%; max-width:840px;
  display:grid; grid-template-columns:300px 1fr;
  border-radius:24px; overflow:hidden;
  box-shadow:0 32px 80px rgba(6,10,32,.4);
  max-height:92vh;
}
.auth-close {
  position:absolute; top:14px; right:14px; width:32px; height:32px;
  border:none; background:#EEF1F8;
  border-radius:50%; font-size:15px; line-height:1; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  color:#5B6488; z-index:20; transition:background .18s, color .18s;
}
.auth-close:hover { background:#E0E4F0; color:#0A1130; }
.auth-brand {
  background:#0A1130; padding:40px 32px;
  display:flex; flex-direction:column; position:relative; overflow:hidden;
}
.auth-brand::before {
  content:''; position:absolute; top:-90px; right:-90px;
  width:280px; height:280px;
  background:radial-gradient(circle,rgba(42,75,255,.5),transparent 68%);
  border-radius:50%;
}
.auth-brand::after {
  content:''; position:absolute; bottom:-70px; left:-70px;
  width:220px; height:220px;
  background:radial-gradient(circle,rgba(22,224,255,.28),transparent 68%);
  border-radius:50%;
}
.auth-brand-logo { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:24px; letter-spacing:-.04em; color:#fff; position:relative; z-index:1; }
.auth-brand-logo span { color:#CBFF45; }
.auth-brand-sub { font-family:'Space Grotesk',sans-serif; font-size:9px; letter-spacing:.38em; color:rgba(255,255,255,.35); margin-top:4px; position:relative; z-index:1; }
.auth-brand-body { margin-top:auto; padding-top:32px; position:relative; z-index:1; }
.auth-brand-title { font-family:'Space Grotesk',sans-serif; font-size:20px; font-weight:700; line-height:1.28; color:#fff; margin-bottom:22px; }
.auth-features { display:flex; flex-direction:column; gap:13px; }
.auth-feature { display:flex; align-items:flex-start; gap:10px; font-size:13px; color:rgba(255,255,255,.65); line-height:1.4; }
.auth-feature-check { width:20px; height:20px; border-radius:6px; flex-shrink:0; background:rgba(203,255,69,.12); border:1px solid rgba(203,255,69,.2); display:flex; align-items:center; justify-content:center; margin-top:1px; }
.auth-feature-check svg { width:10px; height:10px; stroke:#CBFF45; fill:none; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.auth-brand-footer { font-size:11px; color:rgba(255,255,255,.2); margin-top:auto; padding-top:28px; position:relative; z-index:1; }
.auth-form-panel { background:#fff; padding:56px 36px 40px; display:flex; flex-direction:column; overflow-y:auto; }
.auth-tabs { display:flex; background:#F3F5FF; border-radius:12px; padding:4px; gap:4px; margin-bottom:22px; }
.auth-tab { flex:1; border:none; background:transparent; padding:10px 0; border-radius:9px; font-family:'Manrope',sans-serif; font-weight:700; font-size:13.5px; color:#5B6488; cursor:pointer; transition:all .18s; }
.auth-tab.auth-tab-active { background:#fff; color:#0A1130; box-shadow:0 1px 8px rgba(10,17,48,.1); }
.auth-error { background:#FEF2F2; color:#B91C1C; border-radius:10px; padding:10px 14px; font-size:13px; font-weight:600; margin-bottom:14px; }
.auth-field { display:flex; flex-direction:column; gap:6px; }
.auth-label { font-size:12px; font-weight:700; color:#2A3358; letter-spacing:.01em; }
.auth-input { width:100%; font-family:'Manrope',sans-serif; font-size:14.5px; padding:12px 14px; border:1.5px solid #DCE1F4; border-radius:11px; outline:none; background:#F7F8FE; color:#0A1130; transition:border-color .18s, background .18s; }
.auth-input:focus { border-color:#2A4BFF; background:#fff; }
.auth-input::placeholder { color:#A8B2CC; }
.auth-row-2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.auth-submit { border:none; cursor:pointer; background:#0A1130; color:#fff; font-family:'Manrope',sans-serif; font-weight:800; font-size:15px; padding:14px 20px; border-radius:13px; display:flex; align-items:center; justify-content:center; transition:all .2s; margin-top:6px; letter-spacing:.01em; }
.auth-submit:hover { background:#2A4BFF; transform:translateY(-1px); box-shadow:0 8px 22px rgba(42,75,255,.3); }
.auth-submit:disabled { opacity:.55; transform:none; box-shadow:none; cursor:not-allowed; }
.auth-forgot { font-size:12px; color:#2A4BFF; font-weight:700; text-decoration:none; }
.auth-switch-hint { text-align:center; font-size:13px; color:#5B6488; margin-top:8px; }
.auth-switch-btn { background:none; border:none; cursor:pointer; font-family:'Manrope',sans-serif; font-size:13px; color:#2A4BFF; font-weight:700; padding:0; }
.auth-kvkk { display:flex; align-items:flex-start; gap:9px; cursor:pointer; font-size:12px; color:#5B6488; line-height:1.55; margin-top:2px; }
.auth-kvkk-link { color:#2A4BFF; font-weight:700; text-decoration:none; }
@media(max-width:660px) {
  .auth-panel { grid-template-columns:1fr; }
  .auth-brand { display:none; }
  .auth-form-panel { padding:52px 20px 26px; border-radius:20px; }
  .auth-row-2 { grid-template-columns:1fr; gap:13px; }
}

/* ---- HERO ---- */
.kd-hero { position:relative; background:#0A1130; color:#fff; padding:clamp(120px,15vw,180px) clamp(18px,5vw,64px) clamp(60px,7vw,96px); overflow:hidden; }
.kd-hero-blob { position:absolute; border-radius:50%; }
.kd-hero-blob-1 { width:520px; height:520px; top:-120px; right:-80px; background:radial-gradient(circle at 30% 30%,#2A4BFF,transparent 70%); filter:blur(20px); opacity:.55; animation:kdBlob 16s ease-in-out infinite; }
.kd-hero-blob-2 { width:440px; height:440px; bottom:-160px; left:-100px; background:radial-gradient(circle at 50% 50%,#16E0FF,transparent 70%); filter:blur(24px); opacity:.32; animation:kdBlob 20s ease-in-out infinite reverse; }
.kd-hero-grid  { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:64px 64px; mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,#000,transparent); }
.kd-hero-inner { position:relative; max-width:1240px; margin:0 auto; display:flex; flex-wrap:wrap; gap:56px; align-items:center; }
.kd-hero-text  { flex:1 1 480px; min-width:300px; }
.kd-badge      { display:inline-flex; align-items:center; gap:9px; padding:7px 14px; border:1px solid rgba(255,255,255,.16); border-radius:100px; font-size:12.5px; font-weight:600; letter-spacing:.14em; color:#AAB4E8; text-transform:uppercase; }
.kd-badge-dot  { width:7px; height:7px; border-radius:50%; background:#CBFF45; box-shadow:0 0 12px #CBFF45; }
.kd-hero-h1   { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:clamp(44px,7vw,86px); line-height:.98; letter-spacing:-.035em; margin:22px 0 0; }
.kd-gradient-text { background:linear-gradient(100deg,#16E0FF,#2A4BFF 55%,#CBFF45); -webkit-background-clip:text; background-clip:text; color:transparent; }
.kd-hero-desc  { max-width:540px; font-size:clamp(16px,1.5vw,19px); line-height:1.6; color:#AAB4E8; margin:26px 0 0; font-weight:500; }
.kd-hero-ctas  { display:flex; flex-wrap:wrap; gap:14px; margin-top:36px; }
.kd-btn-lime   { text-decoration:none; background:#CBFF45; color:#0A1130; font-weight:800; font-size:16px; padding:16px 28px; border-radius:14px; box-shadow:0 12px 34px rgba(203,255,69,.28); transition:transform .2s; display:inline-block; }
.kd-btn-lime:hover { transform:translateY(-2px); }
.kd-btn-outline-white { text-decoration:none; color:#fff; font-weight:700; font-size:16px; padding:16px 28px; border-radius:14px; border:1px solid rgba(255,255,255,.22); display:inline-block; transition:background .2s; }
.kd-btn-outline-white:hover { background:rgba(255,255,255,.08); }
.kd-hero-stats { display:flex; flex-wrap:wrap; gap:24px; margin-top:40px; font-size:14px; color:#8A94C8; font-weight:600; }
.hl-lime  { color:#CBFF45; }
.hl-white { color:#fff; }
.sep      { opacity:.3; }
/* Hero visual */
.kd-hero-visual { flex:1 1 380px; min-width:300px; position:relative; }
.kd-browser-mock { background:#fff; border-radius:20px; padding:14px; box-shadow:0 40px 90px rgba(0,0,0,.45); transform:rotate(-2deg); }
.kd-browser-bar  { display:flex; gap:7px; padding:4px 6px 12px; align-items:center; }
.dot-red    { width:11px; height:11px; border-radius:50%; background:#FF5F57; }
.dot-yellow { width:11px; height:11px; border-radius:50%; background:#FEBC2E; }
.dot-green  { width:11px; height:11px; border-radius:50%; background:#28C840; }
.kd-browser-url { margin-left:10px; font-size:11px; color:#9AA1C0; font-family:'Space Grotesk',monospace; }
.kd-browser-content { border-radius:12px; overflow:hidden; border:1px solid #ECEEF8; }
.kd-browser-header { height:92px; background:linear-gradient(120deg,#0A1130,#2A4BFF); }
.kd-browser-body { padding:16px; background:#fff; }
.kd-browser-img  { height:72px; border-radius:8px; background:#F5F7FD; padding:14px 14px; display:flex; flex-direction:column; justify-content:center; gap:8px; }
.kd-bl { height:9px; width:70%; border-radius:5px; background:linear-gradient(90deg,#DFE4F4,#EDF0F9); }
.kd-browser-btns { display:flex; gap:10px; margin-top:12px; }
.kd-bb       { flex:1; height:38px; border-radius:8px; }
.kd-bb-grey  { background:#EEF1FB; }
.kd-bb-blue  { background:#2A4BFF; }
.kd-float-badge  { position:absolute; background:#fff; color:#0A1130; border-radius:14px; padding:12px 16px; box-shadow:0 18px 40px rgba(0,0,0,.22); font-weight:800; }
.kd-float-top  { top:-22px; right:-8px; --r:4deg; animation:kdFloat 5s ease-in-out infinite; }
.kd-float-label { font-size:11px; color:#5B6488; font-weight:600; }
.kd-float-value { font-size:20px; font-family:'Space Grotesk',sans-serif; }
.kd-float-bottom { bottom:-18px; left:-14px; background:#CBFF45; box-shadow:0 18px 40px rgba(203,255,69,.4); display:flex; align-items:center; gap:8px; --r:-3deg; animation:kdFloat 6s ease-in-out infinite .6s; }
.kd-float-lime { }
.kd-float-dot { width:9px; height:9px; border-radius:50%; background:#0A1130; }

/* ---- SECTION HEADERS ---- */
.kd-section-head { max-width:720px; }
.kd-label        { font-size:13px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.kd-label-blue   { color:#2A4BFF; }
.kd-label-cyan   { color:#16E0FF; }
.kd-h2   { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:clamp(34px,4.6vw,58px); line-height:1.02; letter-spacing:-.03em; margin:16px 0 0; }
.kd-h2-white { color:#fff; }
.kd-section-sub  { color:#AAB4E8; font-size:16px; margin-top:16px; }

/* ---- SERVICE CARDS ---- */
.kd-grid-3 { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:18px; }
.kd-card   { background:#fff; border:1px solid #E4E7F5; border-radius:20px; padding:30px; transition:transform .35s,box-shadow .35s,border-color .35s; }
.kd-card-hover:hover { transform:translateY(-6px); box-shadow:0 26px 50px rgba(10,17,48,.1); border-color:#2A4BFF; }
.kd-card-icon { width:46px; height:46px; border-radius:13px; background:#EFF2FF; display:flex; align-items:center; justify-content:center; margin-bottom:20px; transition:background .3s; }
.kd-card-icon svg { width:22px; height:22px; stroke:#2A4BFF; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; transition:stroke .3s; }
.kd-card-hover:hover .kd-card-icon { background:#2A4BFF; }
.kd-card-hover:hover .kd-card-icon svg { stroke:#fff; }
.kd-card-no    { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:13px; color:#A0AACF; letter-spacing:.06em; }
.kd-card-title { font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:20px; letter-spacing:-.02em; margin:10px 0 10px; }
.kd-card-desc  { font-size:14.5px; line-height:1.6; color:#5B6488; margin:0; }

/* ---- PACKAGES ---- */
.kd-grid-packages { display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:20px; align-items:stretch; }
.kd-pkg      { position:relative; border-radius:24px; padding:34px 30px; display:flex; flex-direction:column; }
.kd-pkg-dark { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); color:#DCE1F4; }
.kd-pkg-blue { background:linear-gradient(165deg,#2A4BFF,#1226A8); border:1px solid rgba(255,255,255,.25); color:#fff; }
.kd-pkg-popular { }
.kd-popular-badge { position:absolute; top:22px; right:22px; background:#CBFF45; color:#0A1130; font-size:11.5px; font-weight:800; letter-spacing:.06em; padding:6px 11px; border-radius:100px; }
.kd-pkg-name  { font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:23px; margin:0; }
.kd-pkg-tag   { color:#8A94C8; font-size:14px; margin:8px 0 22px; min-height:40px; }
.kd-pkg-price { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:38px; letter-spacing:-.02em; }
.kd-pkg-note  { color:#8A94C8; font-size:13px; margin-top:4px; }
.kd-pkg-hr    { height:1px; background:rgba(255,255,255,.12); border:none; margin:24px 0; }
.kd-pkg-features { list-style:none; padding:0; margin:0 0 28px; display:flex; flex-direction:column; gap:13px; flex:1; font-size:14.5px; }
.kd-pkg-features li { display:flex; gap:11px; align-items:flex-start; }
.tick { font-weight:800; flex-shrink:0; }
.tick-cyan { color:#16E0FF; }
.tick-lime { color:#CBFF45; }
.kd-btn-pkg { border:none; cursor:pointer; width:100%; font-family:'Manrope',sans-serif; font-weight:800; font-size:15.5px; padding:15px; border-radius:14px; transition:transform .2s,filter .2s; }
.kd-btn-pkg:hover { transform:translateY(-2px); filter:brightness(1.05); }
.kd-btn-pkg-white { background:#fff; color:#0A1130; }
.kd-btn-pkg-lime  { background:#CBFF45; color:#0A1130; }
.kd-btn-pkg-ghost { background:transparent; color:#fff; border:1px solid rgba(255,255,255,.3); }
.kd-pkg-footer { text-align:center; color:#6E78AC; font-size:13.5px; margin-top:26px; }

/* ---- STEPS ---- */
.kd-grid-4 { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:18px; }
.kd-step       { padding:28px 26px; border-radius:20px; background:#fff; border:1px solid #E4E7F5; position:relative; overflow:hidden; }
.kd-step::before { content:''; position:absolute; top:0; left:0; width:3px; height:0; background:linear-gradient(180deg,#2A4BFF,#16E0FF); border-radius:0 0 3px 0; transition:height .35s ease; }
.kd-step:hover::before { height:100%; }
.kd-step-no    { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:38px; letter-spacing:-.03em; color:transparent; background:linear-gradient(135deg,#D0D8FF,#B8C4F0); -webkit-background-clip:text; background-clip:text; }
.kd-step-title { font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:19px; margin:8px 0 8px; }
.kd-step-desc  { font-size:14px; line-height:1.55; color:#5B6488; margin:0; }

/* ---- STATS ---- */
.kd-stats { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:1px; margin-top:56px; background:#E4E7F5; border:1px solid #E4E7F5; border-radius:20px; overflow:hidden; }
.kd-stat  { background:#fff; padding:34px 24px; text-align:center; }
.kd-stat-val { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:clamp(34px,4vw,46px); letter-spacing:-.03em; color:#2A4BFF; }
.kd-stat-lbl { font-size:13.5px; color:#5B6488; font-weight:600; margin-top:6px; }

/* ---- CONTACT ---- */
.kd-contact-box  { background:#0A1130; border-radius:28px; overflow:hidden; display:flex; flex-wrap:wrap; box-shadow:0 40px 90px rgba(10,17,48,.22); }
.kd-contact-info { flex:1 1 360px; min-width:280px; padding:clamp(36px,5vw,56px); color:#fff; position:relative; overflow:hidden; }
.kd-contact-blob { position:absolute; width:320px; height:320px; bottom:-120px; right:-80px; border-radius:50%; background:radial-gradient(circle,#2A4BFF,transparent 70%); opacity:.5; filter:blur(10px); }
.kd-contact-inner { position:relative; }
.kd-contact-h2 { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:clamp(30px,3.6vw,44px); line-height:1.04; letter-spacing:-.03em; margin:0; }
.kd-contact-sub { color:#AAB4E8; font-size:15.5px; line-height:1.6; margin:20px 0 34px; max-width:360px; }
.kd-contact-list { display:flex; flex-direction:column; gap:18px; font-weight:600; }
.kd-contact-item { display:flex; gap:12px; align-items:center; }
.kd-ci-icon { width:40px; height:40px; border-radius:11px; background:rgba(255,255,255,.08); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.kd-ci-icon svg { width:18px; height:18px; stroke:rgba(255,255,255,.7); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.kd-ci-lbl { font-size:12px; color:#8A94C8; font-weight:600; }
.kd-ci-val { font-size:15.5px; }
.kd-contact-form-wrap { flex:1 1 380px; min-width:300px; background:#fff; padding:clamp(36px,5vw,56px); }

/* ---- FORM ---- */
.kd-form     { display:flex; flex-direction:column; gap:16px; }
.kd-form-h3  { font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:22px; margin:0 0 4px; }
.kd-field    { display:flex; flex-direction:column; gap:6px; }
.kd-field label { font-size:13px; font-weight:700; color:#2A3358; }
.kd-field input, .kd-field select, .kd-field textarea {
  font-family:'Manrope',sans-serif; font-size:15px; padding:13px 15px;
  border:1px solid #DCE1F4; border-radius:12px; outline:none;
  background:#F7F8FE; transition:border-color .2s, background .2s;
}
.kd-field input:focus, .kd-field select:focus, .kd-field textarea:focus {
  border-color:#2A4BFF; background:#fff;
}
.kd-field textarea { resize:vertical; }
.kd-row-2 { display:flex; gap:12px; flex-wrap:wrap; }
.kd-row-2 .kd-field { flex:1 1 140px; }
.kd-btn-submit { border:none; cursor:pointer; background:#2A4BFF; color:#fff; font-family:'Manrope',sans-serif; font-weight:800; font-size:16px; padding:16px; border-radius:14px; margin-top:4px; transition:background .2s; }
.kd-btn-submit:hover { background:#1c39d6; }
.kd-btn-submit:disabled { opacity:.6; cursor:not-allowed; }
.kd-form-success { height:100%; min-height:380px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.kd-success-icon { width:72px; height:72px; border-radius:50%; background:#CBFF45; display:flex; align-items:center; justify-content:center; font-size:34px; color:#0A1130; }
.kd-success-h3 { font-family:'Space Grotesk',sans-serif; font-size:26px; margin:22px 0 8px; }
.kd-success-p  { color:#5B6488; font-size:15px; max-width:300px; margin:0 0 24px; }
.kd-btn-outline-dark { border:1px solid #D7DBF0; background:#fff; cursor:pointer; font-weight:700; font-size:14px; padding:12px 22px; border-radius:12px; }

/* ---- PORTFÖY ---- */
.kd-portfolio-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
@media(max-width:900px) { .kd-portfolio-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:580px) { .kd-portfolio-grid { grid-template-columns:1fr; } }

.kd-pf-card { background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:18px; overflow:hidden; transition:transform .25s,border-color .25s; }
.kd-pf-card:hover { transform:translateY(-6px); border-color:rgba(203,255,69,.35); }

.kd-pf-thumb { height:160px; display:flex; align-items:center; justify-content:center; padding:20px; }
.kd-pf-browser { width:100%; max-width:240px; background:rgba(0,0,0,.25); border-radius:8px; overflow:hidden; }
.kd-pf-bar { display:flex; gap:5px; padding:7px 10px; background:rgba(0,0,0,.2); }
.kd-pf-bar span { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.35); }
.kd-pf-screen { height:80px; margin:8px; background:rgba(255,255,255,.08); border-radius:4px; }

.kd-pf-body { padding:20px 22px 24px; }
.kd-pf-cat  { display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#CBFF45; margin-bottom:8px; }
.kd-pf-title { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:18px; color:#fff; margin:0 0 8px; }
.kd-pf-desc  { font-size:13.5px; color:rgba(255,255,255,.55); line-height:1.6; margin:0 0 14px; }
.kd-pf-tags  { display:flex; flex-wrap:wrap; gap:6px; }
.kd-pf-tags span { font-size:11.5px; font-weight:700; padding:4px 10px; border-radius:100px; background:rgba(255,255,255,.08); color:rgba(255,255,255,.6); }

/* ---- TESTIMONIALS ---- */
.kd-testi { background:#fff; border:1px solid #E4E7F5; border-radius:20px; padding:30px; display:flex; flex-direction:column; transition:transform .35s,box-shadow .35s; }
.kd-testi:hover { transform:translateY(-6px); box-shadow:0 26px 50px rgba(10,17,48,.1); }
.kd-testi-stars { color:#FFB020; font-size:16px; letter-spacing:2px; margin-bottom:16px; }
.kd-testi-text { font-size:15px; line-height:1.7; color:#3B4468; margin:0 0 24px; flex:1; }
.kd-testi-author { display:flex; align-items:center; gap:13px; }
.kd-testi-avatar { width:46px; height:46px; border-radius:50%; flex-shrink:0; background:linear-gradient(135deg,#2A4BFF,#16E0FF); color:#fff; display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:16px; }
.kd-testi-name { font-weight:800; font-size:15px; color:#0A1130; }
.kd-testi-role { font-size:13px; color:#5B6488; margin-top:1px; }

/* ---- FAQ ---- */
.kd-faq { max-width:760px; margin-left:auto; margin-right:auto; display:flex; flex-direction:column; gap:12px; }
.kd-faq-item { background:#fff; border:1px solid #E4E7F5; border-radius:16px; overflow:hidden; transition:border-color .25s; }
.kd-faq-item.open { border-color:#C3CEFF; }
.kd-faq-q { width:100%; display:flex; align-items:center; justify-content:space-between; gap:16px; text-align:left; background:none; border:none; cursor:pointer; padding:20px 24px; font-family:'Manrope',sans-serif; font-weight:700; font-size:16px; color:#0A1130; }
.kd-faq-icon { flex-shrink:0; width:28px; height:28px; border-radius:8px; background:#EFF2FF; color:#2A4BFF; display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:400; line-height:1; transition:transform .25s,background .25s,color .25s; }
.kd-faq-item.open .kd-faq-icon { transform:rotate(45deg); background:#2A4BFF; color:#fff; }
.kd-faq-a { max-height:0; overflow:hidden; transition:max-height .3s ease; }
.kd-faq-item.open .kd-faq-a { max-height:300px; }
.kd-faq-a p { margin:0; padding:0 24px 22px; font-size:14.5px; line-height:1.7; color:#5B6488; }

/* ---- FOOTER ---- */
.kd-footer      { background:#060A20; color:#AAB4E8; padding:clamp(48px,6vw,80px) clamp(18px,5vw,64px) 36px; }
.kd-footer-top  { max-width:1240px; margin:0 auto; display:flex; flex-wrap:wrap; gap:40px; justify-content:space-between; }
.kd-footer-brand { max-width:320px; }
.kd-footer-logo  { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:24px; letter-spacing:-.04em; color:#fff; }
.kd-footer-brand p { font-size:14.5px; line-height:1.6; margin:14px 0 0; }
.kd-footer-social { display:flex; gap:10px; margin-top:22px; }
.kd-footer-social a { width:38px; height:38px; border-radius:10px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; transition:background .2s,border-color .2s,transform .2s; }
.kd-footer-social a:hover { background:#2A4BFF; border-color:#2A4BFF; transform:translateY(-2px); }
.kd-footer-social svg { width:17px; height:17px; stroke:#AAB4E8; fill:none; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; transition:stroke .2s; }
.kd-footer-social a:hover svg { stroke:#fff; }
.kd-footer-links { display:flex; gap:56px; flex-wrap:wrap; }
.kd-footer-links > div { display:flex; flex-direction:column; gap:10px; }
.kd-footer-col-title { color:#fff; font-weight:700; font-size:14px; margin-bottom:4px; }
.kd-footer-links a { color:#AAB4E8; text-decoration:none; font-size:14px; }
.kd-footer-links a:hover { color:#fff; }
.kd-footer-bottom { max-width:1240px; margin:40px auto 0; padding-top:24px; border-top:1px solid rgba(255,255,255,.08); display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; font-size:13px; }

/* ---- WhatsApp ---- */
.kd-wa { position:fixed; bottom:26px; right:26px; z-index:70; width:60px; height:60px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 14px 34px rgba(37,211,102,.45); text-decoration:none; animation:kdPulse 2.6s infinite; transition:transform .2s,box-shadow .2s; }
.kd-wa:hover { transform:scale(1.08); box-shadow:0 18px 42px rgba(37,211,102,.6); }
.kd-wa svg { width:30px; height:30px; fill:#fff; }
@media(max-width:600px){ .kd-wa { width:52px; height:52px; bottom:20px; right:14px; } .kd-wa svg { width:26px; height:26px; } }

/* ---- Toast ---- */
.kd-toast { position:fixed; bottom:30px; left:50%; transform:translateX(-50%); z-index:90; background:#0A1130; color:#fff; padding:14px 22px; border-radius:14px; font-weight:700; font-size:14.5px; box-shadow:0 18px 44px rgba(10,17,48,.4); display:flex; align-items:center; gap:10px; white-space:nowrap; }
.kd-toast-icon { width:22px; height:22px; border-radius:50%; background:#CBFF45; color:#0A1130; display:flex; align-items:center; justify-content:center; font-size:13px; }

/* ---- Modal ---- */
.kd-modal-overlay { position:fixed; inset:0; z-index:100; background:rgba(6,10,32,.6); backdrop-filter:blur(6px); display:flex; align-items:center; justify-content:center; padding:20px; }
.kd-modal  { position:relative; width:100%; max-width:400px; background:#fff; border-radius:22px; padding:36px; max-height:90vh; overflow-y:auto; }
.kd-modal-close { position:absolute; top:16px; right:16px; cursor:pointer; color:#9AA1C0; font-size:18px; font-weight:700; background:none; border:none; line-height:1; width:34px; height:34px; border-radius:8px; display:flex; align-items:center; justify-content:center; z-index:10; }
.kd-modal-close:hover { background:#F3F5FF; color:#0A1130; }
.kd-logo-sm { font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:22px; letter-spacing:-.04em; margin-bottom:18px; }
.kd-modal-h3  { font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:24px; margin:0 0 6px; }
.kd-modal-sub { font-size:14px; color:#5B6488; margin:0 0 24px; }
.kd-modal-foot { text-align:center; font-size:13.5px; color:#5B6488; margin:20px 0 0; }
.kd-modal-foot a { color:#2A4BFF; font-weight:700; text-decoration:none; }

/* Sekme (Tab) */
.kd-auth-tabs { display:flex; gap:4px; background:#F3F5FF; border-radius:12px; padding:4px; margin-bottom:22px; }
.kd-auth-tab  { flex:1; border:none; background:none; padding:9px 0; border-radius:9px; font-family:'Manrope',sans-serif; font-weight:700; font-size:14px; color:#5B6488; cursor:pointer; transition:all .2s; }
.kd-auth-tab.active { background:#fff; color:#0A1130; box-shadow:0 1px 6px rgba(10,17,48,.1); }

/* Hata kutusu */
.kd-auth-error { background:#FEF2F2; color:#B91C1C; border-radius:10px; padding:10px 14px; font-size:13.5px; font-weight:600; margin-bottom:14px; }

/* ---- Admin shared ---- */
.kd-status { display:inline-flex; align-items:center; gap:6px; font-size:12.5px; font-weight:700; padding:4px 10px; border-radius:100px; }
.kd-status::before { content:''; width:6px; height:6px; border-radius:50%; background:currentColor; }
.status-yeni        { color:#9A6B00; background:#FDF3DC; }
.status-devam       { color:#1C39D6; background:#E7EBFF; }
.status-tamamlandi  { color:#0E9F6E; background:#E3F9F0; }
.status-iptal       { color:#D4302A; background:#FDECEA; }
.status-incelendi       { color:#1C39D6; background:#E7EBFF; }
.status-teklif_gonderildi { color:#9A6B00; background:#FDF3DC; }
.status-kapandi     { color:#0E9F6E; background:#E3F9F0; }


/* ---- Responsive ---- */
@media (max-width: 768px) {
  .kd-nav-links, .kd-nav-right { display:none; }
  .kd-mobile-menu-btn { display:block; }
  .kd-hero-visual { display:none; }
  .kd-grid-packages { grid-template-columns:1fr; }
  .kd-contact-box { flex-direction:column; }
  .kd-footer-top { gap:32px; }
  .kd-footer-links { gap:36px; }
}

@media (max-width: 560px) {
  /* Hero CTA'lar tam genişlik */
  .kd-hero-ctas { flex-direction:column; }
  .kd-hero-ctas .kd-btn-lime,
  .kd-hero-ctas .kd-btn-outline-white { width:100%; text-align:center; }
  /* Hero istatistik ayraçlarını gizle, alt alta diz */
  .kd-hero-stats { gap:8px 14px; }
  .kd-hero-stats .sep { display:none; }
  /* SSS daha sıkı */
  .kd-faq-q { padding:16px 18px; font-size:15px; }
  .kd-faq-a p { padding:0 18px 18px; }
  /* Servis & testimonial kart iç boşluk */
  .kd-card, .kd-testi { padding:24px; }
  /* Footer linkleri tek sütun */
  .kd-footer-links { gap:28px; width:100%; }
  .kd-footer-links > div { min-width:130px; }
  .kd-footer-bottom { flex-direction:column; gap:10px; }
}

/* ---- Erişilebilirlik: Klavye odak halkası ---- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #2A4BFF;
  outline-offset: 2px;
  border-radius: 4px;
}
/* Koyu zeminlerde odak halkası lime olsun */
.kd-section-dark a:focus-visible,
.kd-hero a:focus-visible,
.kd-hero button:focus-visible,
.kd-footer a:focus-visible,
.kd-contact-info a:focus-visible {
  outline-color: #CBFF45;
}

/* İçeriğe atla bağlantısı (klavye/ekran okuyucu) */
.kd-skip-link {
  position: absolute; left: 12px; top: -60px; z-index: 999;
  background: #0A1130; color: #fff; font-weight: 700; font-size: 14px;
  padding: 10px 18px; border-radius: 10px; text-decoration: none;
  transition: top .2s;
}
.kd-skip-link:focus { top: 12px; }

/* ---- Erişilebilirlik: Hareketi azalt ---- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
  /* Sürekli dönen/akan öğeleri tamamen durdur */
  .kd-hero-blob-1, .kd-hero-blob-2,
  .kd-float-top, .kd-float-bottom, .kd-wa {
    animation: none !important;
  }
  /* Reveal animasyonlu öğeler gizli kalmasın */
  [data-reveal] { opacity: 1 !important; transform: none !important; }
}
