/* DoyaSoft tasarım sistemi — dark premium, sıfır bağımlılık */
:root{
  --bg:#070b14; --bg-2:#0b1120; --bg-3:#101a30;
  --ink:#eef2fa; --ink-2:#a7b1c6; --ink-3:#6b7690;
  --line:rgba(148,163,196,.14); --line-2:rgba(148,163,196,.26);
  --amber:#f5a623; --blue:#4cc3ff; --violet:#8b7bff;
  --glass:rgba(16,24,44,.62);
  --r:16px; --r-lg:24px;
  --shadow:0 24px 60px -24px rgba(2,6,16,.8);
  --glow-a:0 0 42px -8px rgba(245,166,35,.35);
  --glow-b:0 0 42px -8px rgba(76,195,255,.3);
  --font:"Outfit",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
body{
  font-family:var(--font);background:var(--bg);color:var(--ink);
  line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;
  background-image:
    radial-gradient(1100px 520px at 78% -10%, rgba(76,195,255,.09), transparent 60%),
    radial-gradient(900px 520px at 8% 12%, rgba(245,166,35,.07), transparent 55%),
    radial-gradient(800px 600px at 50% 115%, rgba(139,123,255,.08), transparent 60%);
  background-attachment:scroll;
}
@media (min-width:901px){
  body{background-attachment:fixed}
}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
.container{width:min(1160px,100% - 2.5rem);margin-inline:auto}
h1,h2,h3{line-height:1.18;letter-spacing:-.02em;font-weight:800;text-wrap:balance}
p{max-width:72ch}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:4px}
.skip-link{position:absolute;left:-999px;top:8px;z-index:200;background:var(--amber);color:#111;padding:.5rem 1rem;border-radius:8px;font-weight:700}
.skip-link:focus{left:8px}

/* ---- Butonlar ---- */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.78rem 1.5rem;border-radius:999px;font-weight:700;font-size:.95rem;border:1px solid transparent;transition:transform .18s ease,box-shadow .18s ease,background .18s ease;will-change:transform}
.btn:hover{text-decoration:none;transform:translateY(-2px)}
.btn-primary{background:linear-gradient(120deg,var(--amber),#ff8a3c);color:#161006;box-shadow:var(--glow-a)}
.btn-primary:hover{box-shadow:0 0 56px -6px rgba(245,166,35,.5)}
.btn-ghost{color:var(--ink);border-color:var(--line-2);background:rgba(255,255,255,.03)}
.btn-ghost:hover{border-color:var(--blue);box-shadow:var(--glow-b)}
.btn-row{display:flex;gap:.9rem;flex-wrap:wrap}

/* ---- Navbar ---- */
.site-head{position:sticky;top:0;z-index:100;transition:background .25s ease,border-color .25s ease;border-bottom:1px solid transparent}
.site-head.scrolled{background:rgba(7,11,20,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;min-height:120px;padding:.5rem 0}
.brand{position:relative;display:inline-flex;align-items:center;justify-content:center;line-height:0;flex-shrink:0;z-index:2;isolation:isolate;overflow:visible}
.brand::before{content:"";position:absolute;inset:-18% -12%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,200,255,.28),rgba(160,40,255,.18),transparent 72%);filter:blur(8px);opacity:.85;z-index:-1;pointer-events:none;animation:logoGlow 3.6s ease-in-out infinite;will-change:opacity,transform}
.brand::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.15) 40%,rgba(255,255,255,.85) 50%,rgba(160,230,255,.45) 56%,transparent 72%);background-size:250% 100%;animation:logoShine 3.2s ease-in-out infinite;-webkit-mask-image:url(/assets/img/doyasoft-logo-140.webp);mask-image:url(/assets/img/doyasoft-logo-140.webp);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.brand:hover{text-decoration:none}
.brand:hover img{transform:scale(1.04)}
.brand img{position:relative;z-index:1;height:112px;width:auto;display:block;max-width:min(300px,52vw);animation:logoFloat 4.8s ease-in-out infinite;filter:drop-shadow(0 0 18px rgba(0,200,255,.35)) drop-shadow(0 0 28px rgba(180,40,255,.25)) drop-shadow(0 8px 22px rgba(120,40,255,.28));transition:transform .25s ease;will-change:transform}
.brand-foot{position:relative;margin-bottom:.2rem;isolation:isolate}
.brand-foot::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.15) 40%,rgba(255,255,255,.8) 50%,rgba(160,230,255,.4) 56%,transparent 72%);background-size:250% 100%;animation:logoShine 3.8s ease-in-out infinite;-webkit-mask-image:url(/assets/img/doyasoft-logo-140.webp);mask-image:url(/assets/img/doyasoft-logo-140.webp);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}
.brand-foot img{position:relative;z-index:1;height:132px;width:auto;max-width:340px;animation:logoFloat 5.4s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(0,200,255,.3)) drop-shadow(0 0 32px rgba(180,40,255,.22))}
@keyframes logoFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes logoGlow{0%,100%{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.05)}}
@keyframes logoShine{0%{background-position:140% 0;opacity:0}12%{opacity:1}45%{background-position:-40% 0;opacity:1}55%,100%{background-position:-40% 0;opacity:0}}
@media (prefers-reduced-motion:reduce){
  .brand img,.brand-foot img,.brand::before,.brand::after,.brand-foot::after{animation:none!important}
}
.nav-wrap{display:flex;align-items:center;gap:1.4rem}
.nav-menu{display:flex;list-style:none;gap:.2rem}
.nav-menu a{color:var(--ink-2);font-size:.93rem;font-weight:600;padding:.5rem .8rem;border-radius:8px;position:relative}
.nav-menu a::after{content:"";position:absolute;left:.8rem;right:.8rem;bottom:.2rem;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--amber),var(--blue));transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
.nav-menu a:hover{color:var(--ink);text-decoration:none}
.nav-menu a:hover::after,.nav-menu a[aria-current]::after{transform:scaleX(1)}
.nav-menu a[aria-current]{color:var(--ink)}
.nav-toggle{display:none;background:none;border:1px solid var(--line-2);border-radius:10px;width:44px;height:40px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s ease,opacity .2s ease}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---- Breadcrumb ---- */
.crumbs{padding:1.1rem 0 0}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;font-size:.85rem;color:var(--ink-3)}
.crumbs li+li::before{content:"›";margin-right:.35rem;color:var(--ink-3)}
.crumbs a{color:var(--ink-2)}
.crumbs [aria-current]{color:var(--amber)}

/* ---- Hero ---- */
.hero{position:relative;padding:5.5rem 0 5rem;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(148,163,196,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,196,.05) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(720px 480px at 50% 30%,#000 30%,transparent 75%);pointer-events:none}
.hero-inner{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center}
.hero-kicker{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--amber);border:1px solid rgba(245,166,35,.3);background:rgba(245,166,35,.06);padding:.4rem .9rem;border-radius:999px;margin-bottom:1.3rem}
.hero h1{font-size:clamp(2.2rem,4.6vw,3.7rem);margin-bottom:1.1rem}
.hero h1 .grad{background:linear-gradient(92deg,var(--amber) 10%,var(--blue) 70%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub{color:var(--ink-2);font-size:1.08rem;margin-bottom:1.8rem}
.hero-stats{display:flex;gap:2rem;margin-top:2.4rem;flex-wrap:wrap}
.hero-stats div strong{display:block;font-size:1.3rem;color:var(--ink)}
.hero-stats div span{font-size:.83rem;color:var(--ink-3)}

/* Hero 3B görsel */
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.hero-visual{position:relative;display:grid;place-items:center;isolation:isolate}
.hero-visual::before{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(closest-side,rgba(76,195,255,.16),transparent 70%);filter:blur(8px);z-index:0}
.hero-visual picture,.hero-visual > img{position:relative;z-index:2}
.hero-visual img{width:min(100%,560px);height:auto;border-radius:20px;animation:float 8s ease-in-out infinite;filter:drop-shadow(0 30px 60px rgba(2,6,16,.7)) drop-shadow(0 0 46px rgba(76,195,255,.14));will-change:transform}
.hero-3d{position:absolute;inset:-6% -4%;z-index:1;pointer-events:none;opacity:.55}
.hero-3d-canvas{width:100%!important;height:100%!important;display:block}
.hero-kicker{display:inline-flex;align-items:center;gap:.5rem}
.card-icon svg{width:26px;height:26px;fill:none}
html.story-on .js .reveal{opacity:1;transform:none}
html.story-lite .js .reveal{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}
html.story-lite .js .reveal.in{opacity:1;transform:none}
.steps{position:relative;--story-progress:0}
.steps::before{content:"";position:absolute;left:0;right:0;top:1.15rem;height:2px;border-radius:2px;background:rgba(255,255,255,.08);pointer-events:none}
.steps::after{content:"";position:absolute;left:0;top:1.15rem;height:2px;width:100%;border-radius:2px;background:linear-gradient(90deg,var(--amber),var(--blue));pointer-events:none;transform:scaleX(var(--story-progress));transform-origin:left center;will-change:transform}
@media (max-width:900px){
  .hero-3d{display:none!important}
  .hero-visual img{animation:none}
  .why,.story-section{content-visibility:auto;contain-intrinsic-size:1px 720px}
  .steps::before,.steps::after{display:none}
}

/* ---- Bölümler ---- */
section{padding:4.2rem 0}
.sec-head{max-width:680px;margin-bottom:2.6rem}
.sec-kicker{font-size:.78rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--blue);margin-bottom:.6rem}
.sec-title{font-size:clamp(1.7rem,3.2vw,2.5rem);margin-bottom:.8rem}
.sec-title-sm{font-size:1.35rem;margin-bottom:1.4rem}
.sec-head p{color:var(--ink-2)}

/* ---- Kartlar ---- */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.3rem}
.card{position:relative;border:1px solid var(--line);border-radius:var(--r-lg);background:linear-gradient(165deg,rgba(20,29,52,.66),rgba(9,14,28,.85));padding:1.7rem;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;transform-style:preserve-3d;will-change:transform}
.card:hover{border-color:rgba(76,195,255,.4);box-shadow:var(--glow-b),var(--shadow)}
.card h3{font-size:1.14rem;margin:.9rem 0 .55rem}
.card p{color:var(--ink-2);font-size:.94rem}
.card .more{display:inline-block;margin-top:1rem;font-weight:700;font-size:.9rem;color:var(--amber)}
.card .more::after{content:" →";transition:margin .18s ease}
.card:hover .more::after{margin-left:4px}
.card-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;border:1px solid var(--line-2);position:relative}
.card-icon svg{width:26px;height:26px;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
a.card{display:block;color:inherit}
a.card:hover{text-decoration:none}
/* Hizmet renk tonları (mockup'taki gibi her hizmete ayrı renk) */
.tone-blue .card-icon{background:rgba(59,130,246,.14);box-shadow:0 0 24px -6px rgba(59,130,246,.5)}
.tone-blue .card-icon svg{stroke:#60a5fa}
.tone-orange .card-icon{background:rgba(245,166,35,.14);box-shadow:0 0 24px -6px rgba(245,166,35,.5)}
.tone-orange .card-icon svg{stroke:var(--amber)}
.tone-green .card-icon{background:rgba(52,199,120,.13);box-shadow:0 0 24px -6px rgba(52,199,120,.5)}
.tone-green .card-icon svg{stroke:#4ade80}
.tone-sky .card-icon{background:rgba(76,195,255,.13);box-shadow:0 0 24px -6px rgba(76,195,255,.5)}
.tone-sky .card-icon svg{stroke:var(--blue)}
.tone-yellow .card-icon{background:rgba(250,204,21,.12);box-shadow:0 0 24px -6px rgba(250,204,21,.45)}
.tone-yellow .card-icon svg{stroke:#facc15}
.tone-purple .card-icon{background:rgba(139,123,255,.14);box-shadow:0 0 24px -6px rgba(139,123,255,.55)}
.tone-purple .card-icon svg{stroke:#a99cff}
.tone-orange:hover{border-color:rgba(245,166,35,.45);box-shadow:var(--glow-a),var(--shadow)}
.tone-green:hover{border-color:rgba(52,199,120,.45);box-shadow:0 0 42px -8px rgba(52,199,120,.35),var(--shadow)}
.tone-purple:hover{border-color:rgba(139,123,255,.5);box-shadow:0 0 42px -8px rgba(139,123,255,.4),var(--shadow)}
.tone-yellow:hover{border-color:rgba(250,204,21,.45);box-shadow:0 0 42px -8px rgba(250,204,21,.35),var(--shadow)}

/* ---- Neden DoyaSoft ---- */
.why{border-block:1px solid var(--line);background:linear-gradient(180deg,rgba(11,17,32,.5),transparent)}
.why-inner{display:grid;grid-template-columns:.9fr 1.4fr;gap:3rem;align-items:center}
.why-visual{position:relative;display:grid;place-items:center}
.why-visual::before{content:"";position:absolute;inset:12%;border-radius:50%;background:radial-gradient(closest-side,rgba(245,166,35,.14),transparent 70%);filter:blur(10px)}
.why-visual img{position:relative;width:min(100%,420px);height:auto;border-radius:20px;animation:float 9s ease-in-out infinite;filter:drop-shadow(0 24px 48px rgba(2,6,16,.7))}
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2.2rem}
.why-item{border:1px solid var(--line);border-radius:var(--r);padding:1.2rem;background:rgba(10,16,30,.5)}
.why-item strong{display:flex;align-items:center;gap:.55rem;margin-bottom:.4rem;font-size:.98rem}
.why-item strong::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 12px rgba(245,166,35,.9);flex:none}
.why-item:nth-child(2n) strong::before{background:var(--blue);box-shadow:0 0 12px rgba(76,195,255,.9)}
.why-item span{font-size:.86rem;color:var(--ink-2)}

/* ---- Süreç ---- */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;counter-reset:step}
.step{position:relative;border:1px solid var(--line);border-radius:var(--r);padding:1.4rem 1.1rem;background:rgba(10,16,30,.5)}
.step::before{content:"0" counter(step);counter-increment:step;font-size:1.9rem;font-weight:900;background:linear-gradient(120deg,var(--amber),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent;display:block;margin-bottom:.5rem}
.step::after{content:"";position:absolute;top:2.4rem;right:-1rem;width:1rem;height:1px;background:var(--line-2)}
.step:last-child::after{display:none}
.step h3{font-size:1rem;margin-bottom:.35rem}
.step p{font-size:.85rem;color:var(--ink-2)}

/* ---- Teknoloji rozetleri ---- */
.chips{display:flex;flex-wrap:wrap;gap:.7rem}
.chip{border:1px solid var(--line-2);border-radius:999px;padding:.5rem 1.1rem;font-size:.88rem;font-weight:600;color:var(--ink-2);background:rgba(255,255,255,.02);transition:border-color .2s ease,color .2s ease,transform .2s ease}
.chip:hover{border-color:var(--amber);color:var(--ink);transform:translateY(-2px)}

/* ---- Portfolyo ---- */
.proj-visual{border-radius:12px;margin-bottom:1.1rem;border:1px solid var(--line);position:relative;overflow:hidden;aspect-ratio:16/9;background:linear-gradient(160deg,#101a30,#0a1122)}
.proj-visual img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.card:hover .proj-visual img{transform:scale(1.04)}
.proj-meta{display:flex;gap:.6rem;flex-wrap:wrap;margin:.4rem 0 .6rem}
.proj-meta span{font-size:.74rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);border:1px solid rgba(76,195,255,.3);border-radius:999px;padding:.18rem .7rem}

/* ---- Blog kartları ---- */
.post-card time{font-size:.8rem;color:var(--ink-3);letter-spacing:.04em}
.post-card h3{margin-top:.5rem}

/* ---- İçerik / makale ---- */
.prose{max-width:760px}
.prose h1{font-size:clamp(1.9rem,3.6vw,2.7rem);margin:1rem 0 1.2rem}
.prose h2{font-size:1.45rem;margin:2.4rem 0 .8rem}
.prose h3{font-size:1.12rem;margin:1.8rem 0 .6rem}
.prose p{color:var(--ink-2);margin-bottom:1rem}
.prose ul,.prose ol{color:var(--ink-2);padding-left:1.4rem;margin-bottom:1rem}
.prose li{margin-bottom:.4rem}
.prose strong{color:var(--ink)}
.lead{font-size:1.12rem;color:var(--ink-2)}
.answer{border-left:3px solid var(--amber);background:rgba(245,166,35,.06);border-radius:0 12px 12px 0;padding:1rem 1.2rem;margin:1rem 0 1.4rem}
.answer p{margin:0;color:var(--ink)}
.post-meta{display:flex;gap:1rem;color:var(--ink-3);font-size:.86rem;margin-bottom:.4rem}

/* ---- SSS ---- */
.faq details{border:1px solid var(--line);border-radius:var(--r);background:rgba(10,16,30,.5);margin-bottom:.8rem;overflow:hidden}
.faq summary{cursor:pointer;padding:1.05rem 1.3rem;font-weight:700;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.3rem;color:var(--amber);transition:transform .2s ease;flex:none}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 1.3rem 1.1rem;color:var(--ink-2)}

/* ---- İlgili sayfalar ---- */
.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
.related-card{border:1px solid var(--line);border-radius:var(--r);padding:1.1rem 1.2rem;background:rgba(10,16,30,.5);color:inherit;transition:border-color .2s ease,transform .2s ease}
.related-card:hover{text-decoration:none;border-color:var(--amber);transform:translateY(-3px)}
.related-card strong{display:block;margin-bottom:.25rem}
.related-card span{font-size:.85rem;color:var(--ink-2)}

/* ---- CTA bandı (turuncu -> mavi gradyan, mockup'taki gibi) ---- */
.cta-band{padding:0}
.cta-inner{border:1px solid rgba(255,255,255,.16);border-radius:var(--r-lg);text-align:center;padding:3.4rem 2rem;position:relative;overflow:hidden;background:
  radial-gradient(560px 300px at 12% 110%,rgba(255,170,60,.5),transparent 65%),
  radial-gradient(620px 320px at 88% -10%,rgba(90,120,255,.55),transparent 65%),
  linear-gradient(100deg,#b45a12 0%,#4a3d9e 55%,#2a3fae 100%)}
.cta-inner::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:44px 44px;pointer-events:none}
.cta-inner>*{position:relative;z-index:1}
.cta-inner h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:.7rem;color:#fff}
.cta-inner p{color:rgba(255,255,255,.85);margin:0 auto 1.6rem}
.cta-inner .btn-row{justify-content:center}
.cta-inner .btn-primary{background:#fff;color:#1a1f33;box-shadow:0 10px 30px -10px rgba(0,0,0,.5)}
.cta-inner .btn-ghost{color:#fff;border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.08)}
.cta-inner .btn-ghost:hover{border-color:#fff;box-shadow:none}

/* ---- Form ---- */
.form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;max-width:760px}
.form .full{grid-column:1/-1}
.form label{display:block;font-size:.86rem;font-weight:700;margin-bottom:.35rem;color:var(--ink-2)}
.form input,.form select,.form textarea{width:100%;background:rgba(10,16,30,.7);border:1px solid var(--line-2);border-radius:12px;color:var(--ink);padding:.8rem 1rem;font:inherit;font-size:.95rem}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px rgba(245,166,35,.15)}
.form textarea{min-height:140px;resize:vertical}
.notice{border-radius:12px;padding:1rem 1.2rem;margin-bottom:1.4rem;font-weight:600;max-width:760px}
.notice.ok{background:rgba(52,199,120,.12);border:1px solid rgba(52,199,120,.4);color:#7de8ac}
.notice.err{background:rgba(255,92,92,.1);border:1px solid rgba(255,92,92,.4);color:#ff9b9b}
.hp-field{position:absolute;left:-9999px;top:-9999px}

/* ---- 404 ---- */
.err-page{min-height:60vh;display:grid;place-items:center;text-align:center;padding:4rem 0}
.err-code{font-size:clamp(5rem,16vw,9rem);font-weight:900;line-height:1;background:linear-gradient(120deg,var(--amber),var(--blue),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent;transform:perspective(500px) rotateX(12deg);animation:float 6s ease-in-out infinite}
.err-page h1{font-size:1.6rem;margin:.8rem 0}
.err-page p{color:var(--ink-2);margin-bottom:1.6rem}

/* ---- Footer ---- */
.site-foot{border-top:1px solid var(--line);margin-top:3rem;position:relative;background:
  radial-gradient(900px 320px at 12% 0%,rgba(245,166,35,.08),transparent 55%),
  radial-gradient(700px 280px at 88% 8%,rgba(59,130,246,.07),transparent 50%),
  linear-gradient(180deg,rgba(8,12,24,.35),rgba(5,8,16,.96))}
.site-foot::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(245,166,35,.45),rgba(59,130,246,.35),transparent);pointer-events:none}
.foot-top{display:grid;grid-template-columns:minmax(220px,1.15fr) minmax(0,2.2fr);gap:2.4rem 2.8rem;padding:3.2rem 0 1.6rem;align-items:start}
.foot-meta-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.4rem 1.6rem}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:2rem;padding:3.4rem 0 2.2rem}
.foot-grid-seo{grid-template-columns:1.4fr 1fr 1.1fr .9fr .9fr .9fr}
.foot-brand p{color:var(--ink-2);font-size:.9rem;margin-top:.9rem;line-height:1.65;max-width:36ch}
.foot-col h3,.foot-local-block h3{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.85rem;font-weight:700}
.foot-local-block h3{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap;padding-bottom:.65rem;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:1rem}
.foot-local-block h3 span{font-size:.68rem;letter-spacing:.08em;color:var(--amber);font-weight:600;text-transform:none}
.foot-col ul{list-style:none}
.foot-col li{margin-bottom:.5rem}
.foot-col a{color:var(--ink-2);font-size:.9rem;transition:color .15s ease,transform .15s ease;display:inline-block}
.foot-col a:hover{color:var(--amber);transform:translateX(2px)}
.foot-locals{display:grid;gap:1.75rem;padding:1.2rem 0 2.2rem}
.foot-local-block{padding:1.15rem 1.2rem 1.25rem;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:rgba(255,255,255,.02);box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}
.foot-dense{columns:2;column-gap:1rem;list-style:none;margin:0;padding:0}
.foot-dense-3{columns:3;column-gap:1.25rem}
.foot-dense li{break-inside:avoid;margin:0 0 .28rem}
.foot-dense a{font-size:.78rem;line-height:1.35;color:var(--ink-2);display:inline-block;padding:.12rem 0;border-radius:4px;transition:color .15s ease,background .15s ease}
.foot-dense a:hover{color:var(--amber);background:rgba(245,166,35,.06)}
.foot-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--line);padding:1.2rem 0;font-size:.85rem;color:var(--ink-3)}
.foot-bottom a{color:var(--ink-2)}

/* ---- İl dizin sayfaları ---- */
.dir-page{padding:2.4rem 0 1rem;max-width:1100px}
.dir-head{max-width:720px;margin-bottom:2rem}
.dir-head h1{font-size:clamp(1.9rem,3.6vw,2.7rem);margin:.4rem 0 1rem}
.dir-head .lead{color:var(--ink-2);font-size:1.05rem;margin-bottom:.9rem}
.dir-switch{font-size:.92rem;color:var(--ink-3)}
.dir-switch a{color:var(--amber)}
.dir-sub{font-size:1.15rem;margin:2.2rem 0 1rem}
.city-dir{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem .7rem;margin:0;padding:0}
.city-dir-sm{grid-template-columns:repeat(4,minmax(0,1fr));max-width:720px}
.city-dir a{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding:.7rem .85rem;border:1px solid rgba(255,255,255,.07);border-radius:10px;background:rgba(255,255,255,.02);color:var(--ink);text-decoration:none;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.city-dir a:hover{border-color:rgba(245,166,35,.35);background:rgba(245,166,35,.06);transform:translateY(-1px);color:var(--ink);text-decoration:none}
.city-dir a span{font-weight:650;font-size:.92rem}
.city-dir a small{font-size:.72rem;color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;flex:none}

/* ---- WhatsApp floating ---- */
.wa-float{position:fixed;right:1.25rem;bottom:1.25rem;z-index:90;display:inline-flex;align-items:center;gap:.55rem;padding:.85rem 1.15rem .85rem .95rem;border-radius:999px;background:#25d366;color:#fff!important;font-weight:800;font-size:.92rem;box-shadow:0 12px 32px -8px rgba(37,211,102,.7),0 0 0 0 rgba(37,211,102,.4);text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease}
.wa-float:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 16px 40px -8px rgba(37,211,102,.85);text-decoration:none!important;color:#fff!important}
.wa-float svg{flex:none;display:block}
.wa-float-pulse{position:absolute;inset:0;border-radius:inherit;background:#25d366;z-index:-1;animation:waPulse 2.2s ease-out infinite;opacity:.55}
.wa-float-label{letter-spacing:.02em}
@keyframes waPulse{0%{transform:scale(1);opacity:.55}70%{transform:scale(1.45);opacity:0}100%{transform:scale(1.45);opacity:0}}
@media (max-width:480px){
  .wa-float{right:1rem;bottom:1rem;padding:.9rem;border-radius:50%}
  .wa-float-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
}
@media (prefers-reduced-motion:reduce){
  .wa-float-pulse{animation:none}
}

/* ---- Scroll reveal (JS .in ekler; JS yoksa görünür kalır) ---- */
.js .reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.js .reveal.in{opacity:1;transform:none}

/* ---- Responsive ---- */
@media (max-width:1020px){
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(3,1fr)}
  .step::after{display:none}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-top{grid-template-columns:1fr;gap:2rem}
  .foot-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .foot-dense-3{columns:2}
  .city-dir,.city-dir-sm{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero-inner{grid-template-columns:1fr;gap:2.4rem}
  .why-inner{grid-template-columns:1fr;gap:2rem}
  .why-visual img{width:min(70%,360px)}
}
@media (max-width:720px){
  section{padding:3rem 0}
  .hero{padding:3.4rem 0}
  .grid-3,.grid-2{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .why-grid{grid-template-columns:1fr}
  .form{grid-template-columns:1fr}
  .nav-toggle{display:flex}
  .brand img{height:88px;max-width:min(240px,70vw)}
  .nav{min-height:100px}
  .brand-foot img{height:110px}
  .nav-wrap{display:none;position:absolute;left:0;right:0;top:100px;background:rgba(7,11,20,.97);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);padding:1.2rem;flex-direction:column;align-items:stretch;gap:.6rem}
  .nav-wrap.open{display:flex}
  .nav-menu{flex-direction:column;gap:.1rem}
  .nav-menu a{display:block;padding:.8rem 1rem;font-size:1rem}
  .nav-cta{justify-content:center}
  .hero-visual img{width:min(100%,420px);animation:none}
  .why-visual img{animation:none}
  .hero-stats{gap:1.2rem}
  .foot-grid{grid-template-columns:1fr;gap:1.6rem;padding:2.4rem 0 1.6rem}
  .foot-top{padding:2.4rem 0 1.2rem}
  .foot-meta-grid{grid-template-columns:1fr 1fr;gap:1.2rem}
  .foot-local-block{padding:1rem}
  .foot-dense,.foot-dense-3{columns:2;column-gap:.85rem}
  .foot-dense a{font-size:.74rem}
  .city-dir,.city-dir-sm{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:480px){
  .foot-meta-grid{grid-template-columns:1fr}
  .foot-dense,.foot-dense-3{columns:1}
  .city-dir a{padding:.65rem .75rem}
}
@media (max-width:420px){
  .steps{grid-template-columns:1fr}
  .btn{width:100%;justify-content:center}
  .btn-row{flex-direction:column}
}
