/* Asım Metal — public tema.
   Palet katalogla birebir (katalog/style.css :root) + logonun halkasından
   örneklenen mavi aksan #00549c. Renk kullanan yeni kural MUTLAKA değişken
   kullansın; sabit #fff / rgba(255,255,255,…) yazma. */

@font-face{font-family:'Barlow Condensed';src:url('/fonts/barlow-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('/fonts/barlow-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'InterVar';src:url('/fonts/inter.woff2') format('woff2');font-weight:300 600;font-style:normal;font-display:swap}

:root{
  --navy:#1e2b3a; --navy-deep:#16212d;
  /* --steel katalogda #6e7a88; ekranda 11-13px metinde beyaz üstünde 4.37 kalıyordu,
     WCAG AA için #626e7c'ye koyulaştırıldı (en açık zeminde 4.58). Baskı değişmedi. */
  --steel:#626e7c; --steel-light:#aeb7c0;
  --line:#d9dee3; --line-soft:#e4e9ee;
  --paper:#ffffff; --paper-soft:#f4f6f8;
  --ink:#1e2b3a; --ink-soft:#56646f;
  --accent:#00549c; --accent-soft:rgba(0,84,156,.12);
  --bg:#eef1f4;
  --on-dark:#e8ecf0; --on-dark-dim:#9aa7b4;
  --shadow:0 1px 2px rgba(30,43,58,.06);
  --shadow-lift:0 6px 22px rgba(30,43,58,.10);
  --head:'Barlow Condensed',"Arial Narrow",system-ui,sans-serif;
  --body:'InterVar',system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --wrap:1160px;
  --hdr:104px;  /* logo 182x85 + ~10px pay. Beyaz header'da krom logo yapıştırılmış
                   gibi duruyordu; koyu zeminde fırçalanmış çelik gibi okunuyor. */
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--hdr) + 18px)}
body{
  margin:0;font-family:var(--body);font-weight:300;color:var(--ink);
  background:var(--bg);line-height:1.65;overflow-x:hidden;
}
img{max-width:100%;height:auto}
a{color:inherit}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}

/* ---------- ortak ---------- */
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.section{padding:clamp(52px,7vw,88px) 0}
.section--soft{background:var(--paper-soft)}
.section--paper{background:var(--paper)}

/* katalog kapağındaki teknik çizim gridi */
.grid-bg{position:relative;isolation:isolate}
.grid-bg::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    repeating-linear-gradient(to right, rgba(30,43,58,.05) 0 1px, transparent 1px 34px),
    repeating-linear-gradient(to bottom, rgba(30,43,58,.05) 0 1px, transparent 1px 34px);
  -webkit-mask-image:radial-gradient(120% 100% at 50% 0%, #000 30%, transparent 100%);
  mask-image:radial-gradient(120% 100% at 50% 0%, #000 30%, transparent 100%);
}

.eyebrow{
  font-family:var(--head);font-weight:600;text-transform:uppercase;
  font-size:clamp(11px,2.4vw,12.5px);letter-spacing:.22em;color:var(--steel);margin:0 0 10px;
}
h1,h2,h3{font-family:var(--head);font-weight:600;line-height:1.08;letter-spacing:.01em;margin:0}
/* Tip ölçeği: 54 → 40 → 16 arasında kademe yoktu, başlıklar ağır duruyordu.
   h1 hero'da büyük kalır; iç sayfa başlığı (.phead h1) ve tekrarlanan öğe
   başlıkları (.svc h2) kendi kademelerini alır. */
h1{font-size:clamp(32px,6.4vw,54px)}
h2{font-size:clamp(23px,3.6vw,34px)}
h3{font-size:clamp(18px,2.6vw,22px)}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}

.section-head{margin-bottom:clamp(26px,4vw,40px)}
.section-head .num{
  font-family:var(--head);font-weight:600;font-size:14px;color:var(--accent);
  letter-spacing:.16em;display:block;margin-bottom:6px;
}
.section-head p{max-width:64ch;color:var(--ink-soft);margin-top:12px}

.btn{
  display:inline-flex;align-items:center;gap:9px;border:0;cursor:pointer;
  font-family:var(--head);font-weight:600;font-size:15px;letter-spacing:.08em;text-transform:uppercase;
  padding:13px 24px;border-radius:6px;text-decoration:none;transition:background .15s,color .15s,border-color .15s;
}
.btn--primary{background:var(--navy);color:var(--on-dark)}
.btn--primary:hover{background:var(--accent)}
.btn--ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn--ghost:hover{border-color:var(--accent);color:var(--accent)}
.btn--light{background:var(--paper);color:var(--navy)}
.btn--light:hover{background:var(--accent);color:var(--on-dark)}
.btn svg{width:16px;height:16px;fill:currentColor;flex:none}

/* ---------- header ----------
   Lacivert: krom logo koyu zeminde bütünleşiyor, header + hero + iç sayfa üst bandı
   tek dil oluyor. Logo burada `-dark` varyantı (mavi yarı açık gümüşe map'li). */
.hdr{
  position:sticky;top:0;z-index:60;background:var(--navy);
  border-bottom:1px solid rgba(232,236,240,.16);height:var(--hdr);
}
.hdr-in{max-width:var(--wrap);margin:0 auto;padding:0 20px;height:100%;
  display:flex;align-items:center;justify-content:space-between;gap:20px}
.hdr-logo{display:block;flex:none}
.hdr-logo img{width:182px;display:block}   /* 1523/713 oran -> 85px yükseklik */
.nav{display:flex;align-items:center;gap:4px}
.nav a{
  font-family:var(--head);font-weight:600;font-size:15.5px;letter-spacing:.07em;text-transform:uppercase;
  text-decoration:none;color:var(--on-dark);padding:9px 13px;border-radius:5px;
  transition:color .15s,background .15s;
}
.nav a:hover{color:var(--paper);background:rgba(232,236,240,.12)}
.nav a[aria-current=page]{color:var(--paper)}
/* Telefon, bu iş kolunda birincil dönüşüm kanalı — header'da kalıyor. Ama gövde
   fontunda dizilince header'daki tek yabancı öğe oluyordu; başlık tipografisine
   alındı ve dolu düğme yapıldı, artık bilinçli bir eylem gibi duruyor. */
.hdr-cta{display:inline-flex;align-items:center;gap:8px;margin-left:10px;text-decoration:none;
  font-family:var(--head);font-weight:600;font-size:16px;letter-spacing:.06em;
  color:#fff;background:var(--accent);border:1px solid var(--accent);
  padding:11px 18px;border-radius:6px;transition:background .15s,border-color .15s}
.hdr-cta:hover{background:#0b66b4;border-color:#0b66b4;color:#fff}
.hdr-cta svg{width:15px;height:15px;fill:currentColor}
.burger{display:none;background:none;border:1px solid rgba(232,236,240,.34);border-radius:6px;
  width:42px;height:40px;cursor:pointer;align-items:center;justify-content:center}
.burger svg{width:20px;height:20px;fill:var(--on-dark)}

@media (max-width:960px){
  /* yatay yer daralınca yalnız ikon — ama dokunma hedefi 46px'in altına düşmesin */
  .hdr-cta span{display:none}
  .hdr-cta{width:46px;height:46px;padding:0;gap:0;justify-content:center}
  .hdr-cta svg{width:19px;height:19px}
  .nav a{padding:9px 10px;font-size:14.5px}
}
@media (max-width:820px){
  :root{--hdr:80px}
  .hdr-logo img{width:140px}
  .burger{display:inline-flex}
  .nav{
    position:fixed;inset:var(--hdr) 0 auto 0;background:var(--navy);flex-direction:column;
    align-items:stretch;gap:0;padding:10px 20px 22px;border-bottom:1px solid rgba(232,236,240,.16);
    transform:translateY(-12px);opacity:0;visibility:hidden;transition:.18s;box-shadow:var(--shadow-lift);
  }
  .nav a{padding:14px 6px;border-bottom:1px solid rgba(232,236,240,.12);border-radius:0;font-size:17px}
  .nav a:last-child{border-bottom:0}
  /* açılır menüde yer var — numara tekrar görünsün, tam genişlik eylem satırı olsun */
  .hdr-cta{width:auto;height:auto;padding:14px 16px;gap:9px;margin:12px 0 0;border-radius:6px;font-size:17px}
  .hdr-cta span{display:inline}
  .hdr-cta svg{width:18px;height:18px}
  body.nav-open .nav{transform:none;opacity:1;visibility:visible}
  body.nav-open .nav-backdrop{opacity:1;visibility:visible}
  .nav-backdrop{position:fixed;inset:0;background:rgba(22,33,45,.45);z-index:50;
    opacity:0;visibility:hidden;transition:.18s}
}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--navy-deep);min-height:min(76svh,660px);display:flex;align-items:flex-end;overflow:hidden}
.hero-slides{position:absolute;inset:0;overflow:hidden}
/* Geçiş: soldan sağa açılan çelik perdesi. Üç katman birlikte çalışır:
   1) yeni slayt clip-path ile açılır (eski altında durur, site.js sonra gizler),
   2) açılırken görsel karşı-parallax ile yerine oturur — blok hâlinde kaymaz,
   3) perdenin ön kenarında ince bir parlama çizgisi aynı sürede sağa süpürür. */
.hero-slide{
  position:absolute;inset:0;z-index:1;
  clip-path:inset(0 0 0 100%);
  transition:clip-path .62s cubic-bezier(.42,0,.18,1);
}
.hero-slide.is-on{clip-path:inset(0 0 0 0)}
.hero-slide img{width:100%;height:100%;object-fit:cover;display:block;will-change:transform}
@keyframes hero-zoom{from{transform:scale(1)}to{transform:scale(1.055)}}
@keyframes hero-in{from{transform:translateX(8%) scale(1.1)}to{transform:none}}
/* önce karşı-parallax, perde bitince yavaş yakınlaşma devralır */
.hero-slide.is-on img{animation:hero-zoom 7.5s linear forwards}
.hero-slide.is-in img{animation:hero-in .62s cubic-bezier(.42,0,.18,1),
                                hero-zoom 7.5s linear .62s forwards}

/* Perdenin ön kenarı. clip-path SAĞDAN SOLA açıldığı için parlama da sağdan sola
   gider; parlak uç öğenin sağ kenarında durur, öğe -100%'e kayar.
   site.js her geçişte .go sınıfını yeniden verir (reflow ile animasyon sıfırlanır). */
.hero-edge{
  position:absolute;top:0;bottom:0;left:0;width:100%;z-index:3;pointer-events:none;
  opacity:0;
  background:linear-gradient(90deg,transparent 0,transparent 90%,
    rgba(174,183,192,.28) 97%,rgba(255,255,255,.85) 100%);
}
@keyframes hero-edge{
  0%{transform:translateX(0);opacity:0}
  10%{opacity:1}
  85%{opacity:1}
  100%{transform:translateX(-100%);opacity:0}
}
.hero-edge.go{animation:hero-edge .62s cubic-bezier(.42,0,.18,1)}

@media (prefers-reduced-motion:reduce){
  .hero-slide{transition:none}
  .hero-slide.is-on img,.hero-slide.is-in img{animation:none}
  .hero-edge{display:none}
}
}
/* İki katman: ::after fotoğrafı genel olarak yatıştırır, asıl okunurluk scrim'i
   .hero-in'in KENDİ arka planıdır — metin bloğunu birebir kaplar, hero yüksekliği
   değişse de kaymaz. Değerler göz kararı değil: bulut/gökyüzü üzerindeki en açık
   %10 piksele karşı WCAG AA ölçülerek seçildi (bkz. CLAUDE.md bölüm 10). */
.hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,
    rgba(22,33,45,.42) 0%, rgba(22,33,45,.16) 30%, rgba(22,33,45,.46) 100%);
}
.hero-in{position:relative;z-index:2;width:100%;max-width:none;
  padding:clamp(60px,10vw,110px) max(20px, calc(50vw - var(--wrap)/2)) clamp(34px,5vw,54px);
  background:linear-gradient(180deg,
    rgba(22,33,45,0) 0%, rgba(22,33,45,.50) 10%,
    rgba(22,33,45,.72) 32%, rgba(22,33,45,.80) 100%);}
.hero .eyebrow{color:var(--paper)}
.hero h1{color:var(--paper);max-width:16ch}
.hero p{color:#eef2f6;max-width:52ch;margin:18px 0 0;font-size:clamp(15px,2.2vw,17px)}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(24px,4vw,34px)}
.hero-cap{
  position:absolute;right:max(20px, calc(50vw - var(--wrap)/2));bottom:clamp(34px,5vw,54px);z-index:3;
  font-family:var(--head);font-weight:500;letter-spacing:.14em;text-transform:uppercase;
  font-size:12px;color:#c3ced8;text-align:right;max-width:40vw;
}
.hero-dots{display:flex;gap:7px;margin-top:22px}
.hero-dots button{width:26px;height:3px;border:0;padding:0;cursor:pointer;border-radius:2px;
  background:rgba(232,236,240,.35);transition:background .2s}
.hero-dots button[aria-selected=true]{background:var(--paper)}
@media (max-width:700px){.hero-cap{display:none}}

/* ---------- rakam şeridi ---------- */
.stats{background:var(--navy);color:var(--on-dark)}
.stats-in{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(232,236,240,.14)}
.stat{background:var(--navy);padding:clamp(24px,3.4vw,34px) 18px;text-align:center}
.stat b{display:block;font-family:var(--head);font-weight:600;font-size:clamp(30px,4.4vw,42px);
  color:var(--paper);line-height:1}
.stat span{display:block;margin-top:7px;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--on-dark-dim);font-family:var(--head);font-weight:500}
@media (max-width:640px){.stats-in{grid-template-columns:repeat(2,1fr)}}

/* ---------- kartlar ---------- */
.cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.card{
  background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:24px 24px 26px;
  box-shadow:var(--shadow);transition:border-color .15s,transform .15s,box-shadow .15s;
}
.card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-lift)}
.card .ico{width:38px;height:38px;color:var(--accent);margin-bottom:14px}
.card .ico svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;
  stroke-linecap:round;stroke-linejoin:round}
.card h3{margin-bottom:9px}
.card p{color:var(--ink-soft);font-size:14.6px}
.card ul{margin:12px 0 0;padding:0;list-style:none}
.card li{position:relative;padding-left:17px;font-size:14.4px;color:var(--ink-soft);margin-bottom:5px}
.card li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:1.5px;background:var(--accent)}

/* ---------- proje kartı ---------- */
.proj-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.proj{
  display:block;text-decoration:none;background:var(--paper);border:1px solid var(--line);
  border-radius:10px;overflow:hidden;box-shadow:var(--shadow);
  transition:border-color .15s,transform .15s,box-shadow .15s;
}
.proj:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-lift)}
.proj figure{margin:0;aspect-ratio:4/3;background:var(--paper-soft);overflow:hidden}
.proj figure img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.proj:hover figure img{transform:scale(1.03)}
.proj-body{padding:17px 19px 20px}
/* Kart başlığı /projeler sayfasında <h2> (başlık atlaması olmasın diye), diğer
   yerlerde <h3>. Boyut ETİKETTEN gelmemeli — yoksa h2 genel kuralına düşüp 40px olur. */
.proj-body h2,.proj-body h3{font-size:clamp(17px,2.1vw,20px);line-height:1.15;margin-bottom:5px}
.proj-meta{font-size:13.4px;color:var(--steel);display:flex;flex-wrap:wrap;gap:5px 10px}
.proj-meta .t{color:var(--accent);font-weight:500}

/* ---------- kurumsal referanslar ---------- */
/* Logolar sıkı kırpılıp yükseklikle boyutlanır (max-height:44px); optik denge
   scripts/prep-ref-logos.js içindeki firma bazlı katsayılarla veriliyor. */
.refs{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.ref{
  display:flex;align-items:center;justify-content:center;min-height:84px;padding:14px 18px;
  background:var(--paper);border:1px solid var(--line);border-radius:8px;text-align:center;
}
.ref img{max-height:44px;width:auto;max-width:100%;filter:grayscale(1);opacity:.72;
  transition:filter .2s,opacity .2s}
.ref:hover img{filter:none;opacity:1}
.ref span{
  font-family:var(--head);font-weight:600;font-size:16.5px;line-height:1.2;letter-spacing:.04em;
  color:var(--steel);
}

/* ---------- belgeler ---------- */
.certs{display:flex;flex-wrap:wrap;gap:10px}
.cert{display:inline-flex;align-items:center;gap:9px;background:var(--paper);border:1px solid var(--line);
  border-radius:999px;padding:9px 17px;font-family:var(--head);font-weight:600;letter-spacing:.1em;
  font-size:14px;color:var(--navy)}
.cert svg{width:15px;height:15px;fill:var(--accent)}

/* ---------- CTA bandı ---------- */
.cta{background:var(--navy);color:var(--on-dark)}
.cta-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px;
  padding:clamp(34px,5vw,52px) 0}
.cta h2{color:var(--paper)}
.cta p{color:var(--on-dark-dim);margin:9px 0 0;max-width:56ch}
.cta-actions{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- iç sayfa başlığı ---------- */
.phead{background:var(--navy);color:var(--on-dark);padding:clamp(36px,5vw,58px) 0}
.phead h1{color:var(--paper);font-size:clamp(28px,4.8vw,42px)}
.phead .eyebrow{color:var(--steel-light)}
.phead p{color:var(--on-dark-dim);max-width:62ch;margin-top:12px}
.crumb{font-size:13px;color:var(--on-dark-dim);margin-bottom:14px}
.crumb a{text-decoration:none}
.crumb a:hover{color:var(--paper)}

/* ---------- hizmet blokları ---------- */
.svc{border-top:1px solid var(--line);padding:clamp(30px,4vw,44px) 0;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:clamp(20px,4vw,48px)}
.svc:first-of-type{border-top:0}
.svc .ico{width:40px;height:40px;color:var(--accent);margin-bottom:14px}
.svc .ico svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;
  stroke-linecap:round;stroke-linejoin:round}
/* Hizmet başlığı bir SAYFA BÖLÜMÜ değil, tekrarlanan öğe başlığı — kendi kademesi.
   Boyut ETİKETE değil bloğa bağlı: kapanış bloğu h3, altı hizmet h2, ikisi de aynı kademe. */
.svc h2,.svc h3{font-size:clamp(20px,2.8vw,26px)}
.svc .note{color:var(--ink-soft);font-size:14.8px;margin-top:12px;padding-left:14px;
  border-left:2px solid var(--accent)}
.svc ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.svc li{position:relative;padding-left:20px;font-size:15.2px}
.svc li::before{content:"";position:absolute;left:0;top:.68em;width:10px;height:1.5px;background:var(--accent)}
@media (max-width:760px){.svc{grid-template-columns:1fr;gap:18px}}

/* ---------- iş alanları listesi (katalog sayfa 4 deseni) ---------- */
.caps{list-style:none;margin:0;padding:0;display:grid;gap:0 clamp(20px,4vw,44px);
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.caps li{position:relative;padding:13px 0 13px 24px;border-bottom:1px solid var(--line);font-size:15.4px}
.caps li::before{content:"";position:absolute;left:0;top:1.35em;width:12px;height:1.5px;background:var(--accent)}

/* ---------- vurgu bloğu (iş ortaklığı / anahtar teslim) ---------- */
.claim{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:clamp(24px,4vw,34px)}
.claim > div{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--accent);
  border-radius:8px;padding:18px 20px}
.claim b{display:block;font-family:var(--head);font-weight:600;font-size:15px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--accent);margin-bottom:7px}
.claim p{color:var(--ink-soft);font-size:14.8px}

/* ---------- proje detay ---------- */
.pdetail{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(22px,4vw,44px);align-items:start}
@media (max-width:860px){.pdetail{grid-template-columns:1fr}}
/* Galeri: fotoğraf ve video aynı sıralı listede. Tüm öğeler basılır, yalnız
   aktif olan gösterilir — böylece <video> öğesi src değiştirmeden yerinde kalır. */
.gal-main{margin:0;border-radius:10px;overflow:hidden;background:var(--navy-deep);
  border:1px solid var(--line);aspect-ratio:4/3;position:relative}
.gal-item{display:none;width:100%;height:100%}
.gal-item.is-on{display:block}
.gal-main img{width:100%;height:100%;object-fit:cover;display:block}
.gal-main video{width:100%;height:100%;object-fit:contain;display:block;background:var(--navy-deep)}
.gal-thumbs{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}
.gal-thumbs button{padding:0;border:1px solid var(--line);background:none;border-radius:6px;
  overflow:hidden;cursor:pointer;width:88px;height:66px;position:relative;
  transition:border-color .15s,opacity .15s;opacity:.7}
.gal-thumbs button img{width:100%;height:100%;object-fit:cover;display:block}
.gal-thumbs button[aria-selected=true]{border-color:var(--accent);opacity:1}
/* video küçük resmine oynat rozeti */
.gal-thumbs .is-video::after{
  content:"";position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-13px 0 0 -13px;
  border-radius:50%;background:rgba(22,33,45,.72);
  -webkit-mask:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E");
  background-size:15px 15px;background-position:center;background-repeat:no-repeat;
}
.media-note{font-size:13px;color:var(--steel);margin-top:8px}
.pfacts{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:20px 22px}
.pfacts dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:10px 16px;font-size:14.6px}
.pfacts dt{font-family:var(--head);font-weight:600;text-transform:uppercase;letter-spacing:.12em;
  font-size:11.5px;color:var(--steel);padding-top:3px}
.pfacts dd{margin:0}

/* ---------- iletişim ---------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(22px,4vw,44px);align-items:start}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
.info{display:grid;gap:12px}
.info-item{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:16px 18px;
  text-decoration:none;display:block;transition:border-color .15s}
a.info-item:hover{border-color:var(--accent)}
.info-item .k{font-family:var(--head);font-weight:600;text-transform:uppercase;letter-spacing:.14em;
  font-size:11px;color:var(--steel);display:block;margin-bottom:4px}
.info-item .v{font-size:15.5px;font-weight:500}
.info-item address{font-style:normal;font-weight:300;font-size:14.6px;line-height:1.55}

.frm{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:clamp(20px,3vw,28px)}
.frm .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.frm .row{grid-template-columns:1fr}}
.frm label{display:block;margin-bottom:14px}
.frm .lbl{display:block;font-size:13px;font-weight:500;color:var(--ink-soft);margin-bottom:6px}
/* form kontrol stili konteynere bağlı — tek forma bağlanırsa başka formlar stilsiz kalır */
.frm input,.frm textarea,.frm select{
  width:100%;font:inherit;font-size:15px;color:var(--ink);background:var(--paper-soft);
  border:1px solid var(--line);border-radius:7px;padding:11px 13px;transition:border-color .15s,background .15s;
}
.frm input:focus,.frm textarea:focus{outline:none;border-color:var(--accent);background:var(--paper)}
.frm textarea{min-height:140px;resize:vertical}
.frm .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.frm .req{color:var(--accent)}
.note{padding:12px 15px;border-radius:8px;font-size:14.4px;margin-bottom:16px}
.note--ok{background:rgba(28,124,74,.10);border:1px solid rgba(28,124,74,.30);color:#155e38}
.note--err{background:rgba(168,49,49,.09);border:1px solid rgba(168,49,49,.28);color:#8d2b2b}
.map{margin-top:16px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--paper-soft)}
.map iframe{display:block;width:100%;height:320px;border:0}

/* ---------- footer ---------- */
/* Footer CTA bandına bitişik; iki farklı lacivert hata gibi görünüyordu.
   Tek ton kullanılıyor, ayrımı ince bir çizgi veriyor. */
.ftr{background:var(--navy);color:var(--on-dark-dim);padding:clamp(40px,5vw,58px) 0 0;
  border-top:1px solid rgba(232,236,240,.13)}
.ftr-top{display:grid;grid-template-columns:1.4fr 1fr 1.3fr;gap:clamp(22px,4vw,46px);
  padding-bottom:clamp(28px,4vw,40px)}
@media (max-width:820px){.ftr-top{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.ftr-top{grid-template-columns:1fr}}
.ftr img.logo{width:170px;display:block;margin-bottom:16px}
.ftr h2{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--steel-light);margin-bottom:14px}
.ftr p{font-size:14.2px;line-height:1.7}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ftr a{text-decoration:none;font-size:14.2px}
.ftr a:hover{color:var(--paper)}
.ftr address{font-style:normal;font-size:14.2px;line-height:1.7}
.ftr-social{display:flex;gap:9px;margin-top:16px}
.ftr-social a{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;
  border:1px solid rgba(232,236,240,.18);transition:border-color .15s,color .15s}
.ftr-social a:hover{border-color:var(--accent);color:var(--paper)}
.ftr-social svg{width:17px;height:17px;fill:currentColor}
.ftr-bot{border-top:1px solid rgba(232,236,240,.12);padding:16px 0 22px;display:flex;
  flex-wrap:wrap;gap:8px 20px;justify-content:space-between;font-size:12.8px}
.ftr-bot .certs-line{color:var(--steel-light);letter-spacing:.08em}

/* ---------- katalog indirme kartı ---------- */
.dl{
  display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit;
  background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--accent);
  border-radius:10px;padding:16px 18px;margin-bottom:16px;
  transition:border-color .15s,transform .15s,box-shadow .15s;
}
.dl:hover{border-color:var(--accent);transform:translateY(-1px);box-shadow:var(--shadow-lift)}
.dl svg{width:26px;height:26px;fill:var(--accent);flex:none}
.dl b{display:block;font-family:var(--head);font-weight:600;font-size:17px;letter-spacing:.03em}
.dl small{display:block;font-size:13px;color:var(--steel);margin-top:2px}

/* ---------- WhatsApp yüzen düğmesi ----------
   Sağ altta sabit. Mobilde iOS'un alt çubuğuna girmesin diye safe-area payı var;
   iletişim formunun gönder düğmesini kapatmasın diye küçük ekranda biraz yukarıda. */
.wa{
  position:fixed;z-index:70;right:18px;
  bottom:calc(18px + env(safe-area-inset-bottom, 0px));
  width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  background:#1faa54;color:#fff;text-decoration:none;
  box-shadow:0 6px 20px rgba(30,43,58,.28);
  transition:transform .15s, background .15s;
}
.wa:hover,.wa:focus-visible{background:#17853f;transform:translateY(-2px)}
.wa:focus-visible{outline:3px solid var(--paper);outline-offset:2px}
.wa svg{width:29px;height:29px;fill:currentColor;display:block}
.wa .wa-tip{
  position:absolute;right:calc(100% + 10px);white-space:nowrap;
  background:var(--navy);color:var(--on-dark);font-size:13.5px;font-weight:500;
  padding:7px 12px;border-radius:6px;opacity:0;pointer-events:none;transition:opacity .15s;
  box-shadow:var(--shadow-lift);
}
.wa:hover .wa-tip,.wa:focus-visible .wa-tip{opacity:1}
@media (max-width:560px){
  .wa{width:52px;height:52px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom, 0px))}
  .wa svg{width:27px;height:27px}
  .wa .wa-tip{display:none}
}
@media (prefers-reduced-motion:reduce){.wa{transition:none}}

/* ---------- 404 ---------- */
.err{text-align:center;padding:clamp(60px,10vw,120px) 0}
.err .code{font-family:var(--head);font-weight:600;font-size:clamp(64px,14vw,120px);
  color:#7a8896;line-height:1}   /* --steel-light 1.79 kalıyordu; büyük metin eşiği 3:1 */
