:root{
  --brand:#0F212C;
  --ink:#e7eef6; --muted:#9db3c5; --bg:#0A141C; --soft:#0f1b26; --line:#162331;
  --white:#fff; --ok:#12B886; --warn:#f59f00; --err:#e03131;
  --radius:14px; --r-sm:10px; --r-lg:20px; --shadow:0 14px 40px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--ink); background:linear-gradient(180deg,#0b1a24,#071119);
}

/* Links */
a{color:#9ecbff; text-decoration:none;}

.container{max-width:1100px; margin:32px auto 64px; padding:0 20px}

/* Hero */
.hero{
  background:radial-gradient(1200px 380px at 15% -10%, rgba(74,163,255,.12), transparent),
             radial-gradient(900px 360px at 85% -10%, rgba(18,184,134,.10), transparent),
             var(--soft);
  border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--shadow);
  padding:28px; text-align:left;
}
.brand{margin:0 0 .4rem; color:#cfe6ff}
.brand span{font-weight:400}
.brand b{font-weight:800}
h1{margin:.2rem 0 1rem; font-size:2rem; color:#fff}
.lead{color:#bcd2e6; font-weight:600; max-width:780px; line-height:1.6}

/* Grid */
.grid{display:grid; gap:16px}
.g-2{grid-template-columns:1.15fr .85fr}
@media (max-width:960px){ .g-2{grid-template-columns:1fr} }

/* Card */
.card{
  background:var(--soft); border:1px solid var(--line); border-radius:var(--radius);
  padding:16px; box-shadow:var(--shadow);
}
.card h3{margin:.2rem 0 .8rem; font-size:1.05rem; color:#cfe6ff}

/* İletişim kutuları */
.contact-list{display:grid; grid-template-columns:repeat(2,1fr); gap:12px}
@media (max-width:640px){ .contact-list{grid-template-columns:1fr} }
.row{
  background:#0c1721; border:1px solid var(--line); border-radius:12px; padding:12px;
  display:flex; gap:10px; align-items:flex-start;
}
.ico{
  width:38px; height:38px; display:grid; place-items:center;
  border-radius:10px; background:#0d1e2c; border:1px solid var(--line); font-size:18px;
}
.row b{color:#fff; display:block}
.row span{color:#9db3c5}

/* Form */
form .field{display:flex; flex-direction:column; gap:6px; margin-bottom:12px}
label{font-weight:800; color:#cfe6ff; font-size:.92rem}
input[type="text"], input[type="email"], textarea{
  background:#0c1721; color:#e7eef6; border:1px solid var(--line); border-radius:10px;
  padding:.75rem .9rem; font-size:.98rem;
}
textarea{min-height:140px; resize:vertical}
.muted{color:#9db3c5; font-size:.9rem}
.form-actions{display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.btn{
  appearance:none; border:1px solid var(--line); background:#123148; color:#e7eef6;
  padding:.72rem 1rem; border-radius:10px; font-weight:800; cursor:pointer;
}
.btn.primary{background:var(--brand); border-color:var(--brand); color:#fff}
.btn:disabled{opacity:.6; cursor:not-allowed}

.note{font-size:.92rem; color:#9db3c5}

/* Bildirim */
.alert{display:none; margin:.5rem 0 0; padding:.6rem .8rem; border-radius:10px; font-weight:700}
.alert.show{display:block}
.alert.ok{background:#102f21; border:1px solid #134d37; color:#c8ffe6}
.alert.err{background:#2a1416; border:1px solid #5a1e24; color:#ffd7d9}

/* Harita */
.map{
  width:100%; height:320px; border:0; border-radius:12px; overflow:hidden;
  background:#0a0f16; border:1px solid var(--line);
}

/* Footer mini */
.mini{color:#9db3c5; font-size:.92rem; margin-top:18px}

/* Helpers */
.mt-16 { margin-top:16px; }
.mt--6 { margin-top:-6px; }
.kvkk-label{display:flex; align-items:center; gap:8px; font-weight:600; color:#bcd2e6;}
.spacer-12 { height:12px; }

/* Honeypot */
.hidden-hp {
  display:none;
  position:absolute !important;
  left:-9999px;
  width:1px; height:1px;
  overflow:hidden;
}

/* Responsive tipografi */
@media (max-width: 640px) {
  h1 {
    font-size: 1.5rem; /* ~15px-16px görünecek */
  }
  .card h3,
  .hero h1,
  .contact-list b,
  label {
    font-size: 0.94rem; /* başlıklar ~15px */
  }
  body,
  input[type="text"], 
  input[type="email"], 
  textarea,
  .note,
  .muted,
  .mini,
  .row span {
    font-size: 0.75rem; /* 12px */
  }
  .btn {
    font-size: 0.8rem;
    padding: 0.6rem 0.8rem;
  }
}
