/* ==========================================================
   DESPINA MOTORS · components.css
   ========================================================== */

/* ---------------- BUTONLAR ---------------- */
.btn{
  position:relative; overflow:hidden;
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:15px 28px;
  font-family:var(--f-head); font-size:.85rem; font-weight:600;
  letter-spacing:.04em;
  border-radius:var(--r-sm);
  border:1px solid transparent;
  transition:all var(--t);
  white-space:nowrap;
}
.btn .ico{ width:18px; height:18px; position:relative; z-index:2; }
.btn span{ position:relative; z-index:2; }
.btn::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(100deg, transparent 20%, rgba(255,255,255,.30), transparent 80%);
  transform:translateX(-120%);
  transition:transform .75s var(--e-out);
}
.btn:hover::before{ transform:translateX(120%); }

.btn--gold{
  background:linear-gradient(135deg, var(--gold-2), var(--gold) 55%, var(--gold-deep));
  color:#161207;
  box-shadow:var(--sh-gold);
}
.btn--gold:hover{ transform:translateY(-2px); box-shadow:0 16px 40px rgba(201,162,39,.32); }

.btn--ghost{
  border-color:var(--line);
  color:var(--text);
  background:rgba(255,255,255,.02);
  backdrop-filter:blur(6px);
}
.btn--ghost:hover{ border-color:var(--gold); color:var(--gold-soft); transform:translateY(-2px); }

.btn--dark{ background:var(--anth-3); color:var(--text); border-color:var(--line); }
.btn--dark:hover{ background:var(--anth-4); color:var(--white); }

.btn--lg{ padding:18px 34px; font-size:.92rem; }
.btn--block{ display:flex; width:100%; }
.btn--mt{ margin-top:10px; }
.btn--phone .ico{ animation:ring 4.5s var(--e) infinite; }

/* Metin bağlantısı */
.tlink{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--f-head); font-size:.83rem; font-weight:600;
  letter-spacing:.08em; text-transform:uppercase; color:var(--gold);
}
.tlink .ico{ width:17px; height:17px; transition:transform var(--t); }
.tlink:hover .ico{ transform:translateX(6px); }
.tlink::after{
  content:''; position:absolute;
}

/* ---------------- HERO (ana sayfa) ---------------- */
.hero{
  position:relative;
  min-height:min(100svh, 880px);
  display:flex; align-items:center;
  overflow:hidden;
  padding:70px 0 90px;
}
.hero__media{ position:absolute; inset:0; z-index:0; }
.hero__media img{
  width:100%; height:100%; object-fit:cover;
  transform:scale(1.14);
  animation:kenburns 22s ease-in-out infinite alternate;
  filter:grayscale(.25) contrast(1.05);
}
.hero__shade{
  position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(100deg, rgba(14,16,19,.96) 8%, rgba(14,16,19,.80) 42%, rgba(14,16,19,.34) 74%, rgba(14,16,19,.72) 100%),
    linear-gradient(180deg, rgba(14,16,19,.85), transparent 28%, rgba(14,16,19,.92));
}
.hero__grid-lines{
  position:absolute; inset:0; z-index:1; opacity:.35;
  background-image:linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
  background-size:calc(100% / 6) 100%;
}
.hero__glow{
  position:absolute; z-index:1; right:-8%; top:14%;
  width:620px; height:620px;
  background:radial-gradient(circle, var(--gold-glow), transparent 66%);
  filter:blur(20px);
  animation:float 12s ease-in-out infinite;
}
.hero__in{ position:relative; z-index:3; width:100%; }
.hero__box{ max-width:720px; }
.hero h1{ margin-bottom:26px; }
.hero h1 .l1,.hero h1 .l2{ display:block; overflow:hidden; }
.hero h1 .l1 span,.hero h1 .l2 span{ display:block; }
.hero h1 .l2 span{
  background:linear-gradient(100deg, var(--gold-soft), var(--gold) 40%, var(--gold-deep) 90%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero__text{ max-width:600px; font-size:1.06rem; color:var(--text-2); font-weight:300; line-height:1.85; }
.hero__cta{ display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }

.hero__badges{ display:flex; flex-wrap:wrap; gap:26px; margin-top:44px; padding-top:26px; border-top:1px solid rgba(255,255,255,.08); }
.hero__badge{ display:flex; align-items:center; gap:10px; font-size:.82rem; color:var(--text-2); letter-spacing:.02em; }
.hero__badge .ico{ width:16px; height:16px; color:var(--gold); }

.hero__card{
  position:absolute; right:0; bottom:8%; z-index:4;
  width:300px; padding:26px;
  background:rgba(20,23,28,.78);
  backdrop-filter:blur(18px);
  border:1px solid var(--gold-line);
  border-radius:var(--r-md);
  box-shadow:var(--sh-2);
}
.hero__card::before{
  content:''; position:absolute; left:0; top:0; width:3px; height:44px;
  background:linear-gradient(180deg, var(--gold), transparent);
}
.hero__card h4{ font-size:1.02rem; margin-bottom:8px; }
.hero__card p{ font-size:.85rem; color:var(--text-3); margin-bottom:16px; }
.hero__card .btn{ width:100%; padding:12px; font-size:.8rem; }

.hero__scroll{
  position:absolute; left:50%; bottom:26px; z-index:4;
  transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:8px;
  font-size:.62rem; letter-spacing:.28em; text-transform:uppercase; color:var(--text-3);
}
.hero__scroll i{
  display:block; width:1px; height:44px;
  background:linear-gradient(180deg, var(--gold), transparent);
  animation:scrollLine 2.2s ease-in-out infinite;
}

/* ---------------- SAYFA BAŞLIĞI (iç sayfalar) ---------------- */
.phero{ position:relative; padding:clamp(96px,12vw,168px) 0 clamp(60px,7vw,96px); overflow:hidden; }
.phero__media{ position:absolute; inset:0; z-index:0; }
.phero__media img{ width:100%; height:100%; object-fit:cover; filter:grayscale(.35); transform:scale(1.06); }
.phero__shade{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(95deg, rgba(14,16,19,.97) 12%, rgba(14,16,19,.80) 55%, rgba(14,16,19,.55)),
             linear-gradient(180deg, rgba(14,16,19,.9), transparent 40%, rgba(14,16,19,.95));
}
.phero__in{ position:relative; z-index:2; max-width:760px; }
.phero h1{ font-size:clamp(2.15rem,4.6vw,3.65rem); margin-bottom:20px; }
.phero .lead{ max-width:620px; }
.crumbs{ display:flex; align-items:center; gap:9px; font-size:.76rem; color:var(--text-3); margin-bottom:22px; }
.crumbs a{ color:var(--text-2); transition:color var(--t-fast); }
.crumbs a:hover{ color:var(--gold); }
.crumbs span{ color:var(--gold); }

/* ---------------- MARKA ŞERİDİ ---------------- */
.marquee{
  border-top:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
  background:var(--anthracite);
  overflow:hidden; padding:20px 0;
  mask-image:linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}
.marquee__track{ display:flex; width:max-content; animation:marquee 42s linear infinite; }
.marquee__track span{
  font-family:var(--f-head); font-size:.95rem; font-weight:600;
  letter-spacing:.22em; color:var(--text-3);
  padding:0 32px; white-space:nowrap;
}
.marquee:hover .marquee__track{ animation-play-state:paused; }

/* ---------------- HİZMET KARTLARI ---------------- */
.svc{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.svc__card{
  position:relative; overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--r-md);
  background:var(--anth-2);
  min-height:460px;
  display:flex; flex-direction:column; justify-content:flex-end;
  transition:transform var(--t), border-color var(--t), box-shadow var(--t);
}
.svc__img{ position:absolute; inset:0; z-index:0; }
.svc__img img{
  width:100%; height:100%; object-fit:cover;
  filter:grayscale(.55) brightness(.62);
  transform:scale(1.02);
  transition:transform 1.1s var(--e-out), filter .6s var(--e);
}
.svc__card::after{
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg, rgba(14,16,19,.15) 20%, rgba(14,16,19,.78) 62%, rgba(14,16,19,.97));
  transition:background .5s var(--e);
}
.svc__no{
  position:absolute; top:24px; right:26px; z-index:3;
  font-family:var(--f-head); font-size:2.6rem; font-weight:700;
  color:transparent; -webkit-text-stroke:1px rgba(201,162,39,.45);
  transition:all var(--t);
}
.svc__body{ position:relative; z-index:3; padding:30px 28px 32px; }
.svc__body h3{ margin-bottom:12px; transition:color var(--t-fast); }
.svc__body p{ font-size:.9rem; color:var(--text-2); line-height:1.8; font-weight:300; margin-bottom:20px; }
.svc__bar{
  height:1px; background:var(--gold);
  transform:scaleX(0); transform-origin:left;
  transition:transform .6s var(--e-out);
  margin-bottom:20px;
}
.svc__card:hover{ transform:translateY(-6px); border-color:var(--gold-line); box-shadow:var(--sh-2); }
.svc__card:hover .svc__img img{ transform:scale(1.10); filter:grayscale(.15) brightness(.72); }
.svc__card:hover .svc__bar{ transform:scaleX(1); }
.svc__card:hover .svc__no{ color:rgba(201,162,39,.16); -webkit-text-stroke-color:var(--gold); }
.svc__card:hover h3{ color:var(--gold-soft); }

/* ---------------- SPLIT (görsel + metin) ---------------- */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(34px,5vw,70px); align-items:center; }
.split--rev .split__media{ order:2; }
.split__media{ position:relative; }
.split__media .frame{
  position:relative; overflow:hidden; border-radius:var(--r-md);
  border:1px solid var(--line);
}
.split__media .frame img{
  width:100%; height:100%; object-fit:cover; aspect-ratio:4/3;
  transition:transform 1.2s var(--e-out);
}
.split__media:hover .frame img{ transform:scale(1.05); }
.split__media .frame::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(160deg, transparent 55%, rgba(201,162,39,.14));
  pointer-events:none;
}
.split__media .frame--sm{
  position:absolute; right:-26px; bottom:-40px; width:44%;
  box-shadow:var(--sh-2);
  border-color:var(--gold-line);
}
.split__media .frame--sm img{ aspect-ratio:1/1; }
.split__deco{
  position:absolute; left:-24px; top:-24px; width:96px; height:96px;
  border-left:1px solid var(--gold-line); border-top:1px solid var(--gold-line);
  pointer-events:none;
}

/* Kontrol listesi */
.checks li{
  position:relative; padding-left:32px; margin-bottom:15px;
  font-size:.94rem; color:var(--text-2); line-height:1.7;
}
.checks li::before{
  content:''; position:absolute; left:0; top:8px;
  width:16px; height:16px; border-radius:50%;
  border:1px solid var(--gold); 
}
.checks li::after{
  content:''; position:absolute; left:5px; top:12px;
  width:6px; height:6px; border-radius:50%; background:var(--gold);
}

/* ---------------- NEDEN BİZ ---------------- */
.why{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden; }
.why__item{
  position:relative; background:var(--anthracite);
  padding:36px 32px;
  transition:background var(--t);
}
.why__item::before{
  content:''; position:absolute; left:0; top:0; bottom:0; width:2px;
  background:var(--gold);
  transform:scaleY(0); transform-origin:top;
  transition:transform .5s var(--e-out);
}
.why__item:hover{ background:var(--anth-2); }
.why__item:hover::before{ transform:scaleY(1); }
.why__num{
  font-family:var(--f-head); font-size:.7rem; font-weight:700;
  letter-spacing:.2em; color:var(--gold-deep); margin-bottom:14px; display:block;
}
.why__item h4{ font-size:1.12rem; margin-bottom:10px; }
.why__item p{ font-size:.9rem; color:var(--text-3); line-height:1.8; font-weight:300; }

/* ---------------- SAYAÇLAR ---------------- */
.stats{
  display:grid; grid-template-columns:repeat(4,1fr);
  border-top:1px solid rgba(255,255,255,.07);
  border-bottom:1px solid rgba(255,255,255,.07);
}
.stat{ padding:38px 20px; text-align:center; position:relative; }
.stat + .stat::before{
  content:''; position:absolute; left:0; top:24%; bottom:24%; width:1px;
  background:linear-gradient(180deg, transparent, var(--line), transparent);
}
.stat__n{
  font-family:var(--f-head); font-weight:700;
  font-size:clamp(2.1rem,3.6vw,3rem); line-height:1;
  background:linear-gradient(160deg, var(--gold-soft), var(--gold) 50%, var(--gold-deep));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.stat__n sup{ font-size:.42em; margin-left:2px; }
.stat__l{ margin-top:12px; font-size:.78rem; color:var(--text-3); letter-spacing:.06em; }

/* ---------------- SÜREÇ ---------------- */
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; position:relative; }
.steps::before{
  content:''; position:absolute; left:6%; right:6%; top:30px; height:1px;
  background:linear-gradient(90deg, transparent, var(--gold-line) 12%, var(--gold-line) 88%, transparent);
}
.step{ text-align:center; padding:0 18px; position:relative; }
.step__dot{
  width:60px; height:60px; margin:0 auto 22px;
  display:grid; place-items:center;
  border-radius:50%;
  background:var(--ink);
  border:1px solid var(--gold-line);
  font-family:var(--f-head); font-size:.86rem; font-weight:700; color:var(--gold);
  position:relative; z-index:2;
  transition:all var(--t);
}
.step:hover .step__dot{ background:var(--gold); color:var(--ink); border-color:var(--gold); box-shadow:0 0 0 8px rgba(201,162,39,.10); }
.step h4{ font-size:1.02rem; margin-bottom:9px; }
.step p{ font-size:.86rem; color:var(--text-3); font-weight:300; line-height:1.75; }

/* ---------------- GALERİ ---------------- */
.gal{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:200px; gap:14px; }
.gal__item{
  position:relative; overflow:hidden; border-radius:var(--r-sm);
  cursor:pointer; background:var(--anth-2);
  border:1px solid transparent;
  transition:border-color var(--t);
}
.gal__item img{
  width:100%; height:100%; object-fit:cover;
  filter:grayscale(.4) brightness(.82);
  transition:transform 1.05s var(--e-out), filter .5s var(--e);
}
.gal__item::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 40%, rgba(201,162,39,.16), rgba(14,16,19,.72));
  opacity:0; transition:opacity .45s var(--e);
}
.gal__zoom{
  position:absolute; z-index:2; right:14px; bottom:14px;
  width:38px; height:38px; display:grid; place-items:center;
  border:1px solid rgba(255,255,255,.35); border-radius:50%;
  color:#fff; opacity:0; transform:translateY(10px) rotate(-45deg);
  transition:all .45s var(--e);
}
.gal__item:hover{ border-color:var(--gold-line); }
.gal__item:hover img{ transform:scale(1.09); filter:grayscale(0) brightness(1); }
.gal__item:hover::after{ opacity:1; }
.gal__item:hover .gal__zoom{ opacity:1; transform:translateY(0) rotate(0); }
.gal__item--w2{ grid-column:span 2; }
.gal__item--h2{ grid-row:span 2; }

.gal__filters{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:30px; }
.gal__filters button{
  padding:9px 20px; border:1px solid var(--line); border-radius:40px;
  font-size:.8rem; font-weight:500; color:var(--text-3);
  transition:all var(--t-fast);
}
.gal__filters button:hover{ color:var(--text); border-color:var(--anth-4); }
.gal__filters button.is-active{ background:var(--gold); border-color:var(--gold); color:var(--ink); font-weight:600; }
.gal__item.is-hidden{ display:none; }

/* ---------------- YORUMLAR ---------------- */
.revs{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.rev{
  position:relative;
  padding:34px 30px;
  background:var(--anth-2);
  border:1px solid var(--line);
  border-radius:var(--r-md);
  transition:all var(--t);
}
.rev::before{
  content:'”';
  position:absolute; top:2px; right:22px;
  font-family:var(--f-head); font-size:6rem; line-height:1;
  color:rgba(201,162,39,.13);
}
.rev:hover{ transform:translateY(-5px); border-color:var(--gold-line); background:var(--anth-3); }
.rev__stars{ display:flex; gap:4px; color:var(--gold); margin-bottom:18px; }
.rev__stars .ico{ width:15px; height:15px; }
.rev p{ font-size:.93rem; color:var(--text-2); line-height:1.85; font-weight:300; margin-bottom:22px; }
.rev__who{ display:flex; align-items:center; gap:12px; padding-top:18px; border-top:1px solid rgba(255,255,255,.07); }
.rev__av{
  width:38px; height:38px; border-radius:50%;
  display:grid; place-items:center;
  background:linear-gradient(140deg, var(--gold), var(--gold-deep));
  color:#171205; font-weight:700; font-size:.86rem; font-family:var(--f-head);
}
.rev__who strong{ display:block; font-size:.9rem; }
.rev__who em{ font-style:normal; font-size:.76rem; color:var(--text-3); }

/* ---------------- SSS ---------------- */
.faq{ border-top:1px solid var(--line); }
.faq__item{ border-bottom:1px solid var(--line); }
.faq__q{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:20px;
  padding:24px 4px; text-align:left;
  font-family:var(--f-head); font-size:1.04rem; font-weight:500; color:var(--text);
  transition:color var(--t-fast);
}
.faq__q:hover{ color:var(--gold-soft); }
.faq__ic{
  flex:0 0 auto; width:32px; height:32px;
  border:1px solid var(--line); border-radius:50%;
  display:grid; place-items:center; color:var(--gold);
  transition:all var(--t);
}
.faq__ic .ico{ width:15px; height:15px; }
.faq__item.is-open .faq__ic{ transform:rotate(135deg); background:var(--gold); color:var(--ink); border-color:var(--gold); }
.faq__item.is-open .faq__q{ color:var(--gold); }
.faq__a{ overflow:hidden; height:0; transition:height .45s var(--e); }
.faq__a > div{ padding:0 60px 26px 4px; color:var(--text-3); font-size:.94rem; line-height:1.9; font-weight:300; }

/* ---------------- CTA BANDI ---------------- */
.ctaband{ position:relative; overflow:hidden; padding:clamp(64px,8vw,110px) 0; }
.ctaband__media{ position:absolute; inset:0; z-index:0; }
.ctaband__media img{ width:100%; height:100%; object-fit:cover; filter:grayscale(.6); }
.ctaband::after{
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(95deg, rgba(14,16,19,.97), rgba(14,16,19,.78) 60%, rgba(201,162,39,.16));
}
.ctaband__in{ position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:44px; flex-wrap:wrap; }
.ctaband__txt{ max-width:620px; }
.ctaband__txt h2{ margin-bottom:14px; }
.ctaband__txt p{ color:var(--text-2); font-weight:300; }
.ctaband__act{ display:flex; flex-direction:column; gap:12px; min-width:250px; }
.ctaband__phone{
  display:flex; align-items:center; gap:14px;
  font-family:var(--f-head); font-size:1.6rem; font-weight:700; color:var(--white);
  letter-spacing:.01em;
  transition:color var(--t-fast);
}
.ctaband__phone .ico{ width:26px; height:26px; color:var(--gold); }
.ctaband__phone:hover{ color:var(--gold-soft); }

/* ---------------- İLETİŞİM / HARİTA ---------------- */
.contact{ display:grid; grid-template-columns:1fr 1.25fr; gap:44px; align-items:stretch; }
.contact__info{ display:flex; flex-direction:column; }
.contact__cards{ margin:28px 0 auto; }
.ccard{
  display:flex; gap:16px; align-items:flex-start;
  padding:20px 22px; margin-bottom:12px;
  border:1px solid var(--line); border-radius:var(--r-md);
  background:var(--anth-2);
  transition:all var(--t);
}
.ccard .ico{ color:var(--gold); margin-top:4px; }
.ccard em{ display:block; font-style:normal; font-size:.7rem; letter-spacing:.16em; text-transform:uppercase; color:var(--text-3); margin-bottom:5px; }
.ccard strong{ font-size:1rem; font-weight:500; line-height:1.55; }
.ccard:hover{ border-color:var(--gold-line); background:var(--anth-3); transform:translateX(4px); }
.contact__map{
  position:relative; min-height:440px;
  border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden;
}
.contact__map iframe{ width:100%; height:100%; min-height:440px; filter:grayscale(1) invert(.9) contrast(.85); }
.contact__map:hover iframe{ filter:grayscale(.3) invert(.88) contrast(.9); transition:filter .6s var(--e); }

/* ---------------- MOBİL CTA BARI ---------------- */
.mcta{
  position:fixed; inset-inline:0; bottom:calc(0px - var(--mcta-vv-shift, 0px)); z-index:150;
  width:auto; max-width:none;
  display:none;
  background:#0e1013;
  border-top:1px solid var(--gold-line);
  padding-bottom:env(safe-area-inset-bottom);
  overflow:hidden;
  transition:none;
  isolation:isolate;
}
.mcta.is-show{ visibility:visible; }
.mcta__item{
  flex:1 1 0; min-width:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
  padding:11px 4px 12px; min-height:60px;
  font-size:.68rem; font-weight:600; letter-spacing:.04em; color:var(--text-2);
  border-right:1px solid rgba(255,255,255,.07);
}
.mcta__item:last-child{ border-right:0; }
.mcta__item .ico{ width:21px; height:21px; }
.mcta__item--call{ background:linear-gradient(135deg, var(--gold-2), var(--gold) 60%, var(--gold-deep)); color:#161207; }
.mcta__item--wa .ico{ color:#25d366; }
.mcta__item--map .ico{ color:var(--gold); }

/* ---------------- YÜZEN ARAMA (masaüstü) ---------------- */
.fab{
  position:fixed; right:24px; bottom:26px; z-index:140;
  display:inline-flex; align-items:center; gap:0;
  height:56px; padding:0 18px;
  border-radius:40px;
  background:linear-gradient(135deg, var(--gold-2), var(--gold) 60%, var(--gold-deep));
  color:#161207;
  box-shadow:0 12px 34px rgba(201,162,39,.34);
  opacity:0; visibility:hidden; transform:translateY(18px);
  transition:all .5s var(--e);
}
.fab.is-show{ opacity:1; visibility:visible; transform:translateY(0); }
.fab .ico{ width:22px; height:22px; position:relative; z-index:2; }
.fab__txt{
  max-width:0; overflow:hidden; white-space:nowrap;
  font-family:var(--f-head); font-weight:700; font-size:.92rem;
  transition:max-width .5s var(--e), margin-left .5s var(--e);
}
.fab:hover .fab__txt{ max-width:180px; margin-left:11px; }
.fab__pulse{
  position:absolute; inset:0; border-radius:40px;
  border:1px solid var(--gold);
  animation:pulse 2.6s ease-out infinite;
}

/* ---------------- YUKARI ÇIK ---------------- */
.totop{
  position:fixed; right:26px; bottom:96px; z-index:139;
  width:42px; height:42px; border-radius:50%;
  display:grid; place-items:center;
  background:var(--anth-3); border:1px solid var(--line); color:var(--text-2);
  opacity:0; visibility:hidden; transform:translateY(12px);
  transition:all var(--t);
}
.totop .ico{ transform:rotate(180deg); width:18px; height:18px; }
.totop.is-show{ opacity:1; visibility:visible; transform:translateY(0); }
.totop:hover{ background:var(--gold); color:var(--ink); border-color:var(--gold); }

/* ---------------- LIGHTBOX ---------------- */
.lightbox{
  position:fixed; inset:0; z-index:300;
  background:rgba(8,9,11,.96);
  display:flex; align-items:center; justify-content:center;
  opacity:0; visibility:hidden;
  transition:opacity .35s var(--e), visibility .35s;
  padding:60px 20px;
}
.lightbox.is-open{ opacity:1; visibility:visible; }
.lightbox__fig{ max-width:min(1100px, 92vw); max-height:82vh; }
.lightbox__fig img{
  max-width:100%; max-height:82vh; object-fit:contain;
  border:1px solid var(--gold-line); border-radius:var(--r-sm);
  transform:scale(.94); opacity:0;
  transition:all .5s var(--e-out);
}
.lightbox.is-open .lightbox__fig img{ transform:scale(1); opacity:1; }
.lightbox__close{
  position:absolute; top:22px; right:24px;
  width:46px; height:46px; display:grid; place-items:center;
  border:1px solid var(--line); border-radius:50%; color:var(--text);
  transition:all var(--t-fast);
}
.lightbox__close:hover{ background:var(--gold); color:var(--ink); border-color:var(--gold); }
.lightbox__nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:52px; height:52px; display:grid; place-items:center;
  border:1px solid var(--line); border-radius:50%; color:var(--text);
  transition:all var(--t-fast);
}
.lightbox__nav--prev{ left:24px; }
.lightbox__nav--next{ right:24px; }
.lightbox__nav:hover{ background:var(--gold); color:var(--ink); border-color:var(--gold); }

/* ---------------- HİZMET GRUP LİSTESİ ---------------- */
.wgroups{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden; }
.wgroup{ background:var(--anthracite); padding:32px 28px; transition:background var(--t); }
.wgroup:hover{ background:var(--anth-2); }
.wgroup h4{
  font-size:1.05rem; margin-bottom:18px; padding-bottom:14px;
  border-bottom:1px solid var(--gold-line); color:var(--gold-soft);
}
.wgroup li{
  position:relative; padding-left:18px; margin-bottom:10px;
  font-size:.88rem; color:var(--text-3); font-weight:300; line-height:1.7;
}
.wgroup li::before{
  content:''; position:absolute; left:0; top:11px;
  width:6px; height:1px; background:var(--gold);
}

/* ---------------- EKSPERTİZ KONTROL KARTLARI ---------------- */
.points{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.point{
  position:relative; padding:30px 26px;
  border:1px solid var(--line); border-radius:var(--r-md);
  background:var(--anth-2);
  overflow:hidden;
  transition:all var(--t);
}
.point__n{
  font-family:var(--f-head); font-size:.68rem; font-weight:700;
  letter-spacing:.2em; color:var(--gold-deep); display:block; margin-bottom:14px;
}
.point h4{ font-size:1.05rem; margin-bottom:9px; }
.point p{ font-size:.88rem; color:var(--text-3); font-weight:300; line-height:1.8; }
.point::after{
  content:''; position:absolute; right:-40px; bottom:-40px;
  width:120px; height:120px; border-radius:50%;
  background:radial-gradient(circle, var(--gold-glow), transparent 70%);
  opacity:0; transition:opacity .5s var(--e);
}
.point:hover{ transform:translateY(-4px); border-color:var(--gold-line); }
.point:hover::after{ opacity:1; }

/* ---------------- VİTRİN KARTLARI ---------------- */
.bikes{ display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.bike{
  border:1px solid var(--line); border-radius:var(--r-md); overflow:hidden;
  background:var(--anth-2); transition:all var(--t);
}
.bike__img{ position:relative; overflow:hidden; aspect-ratio:4/3; }
.bike__img img{ width:100%; height:100%; object-fit:cover; filter:grayscale(.3); transition:transform 1s var(--e-out), filter .5s; }
.bike__tag{
  position:absolute; top:12px; left:12px; z-index:2;
  padding:5px 11px; font-size:.66rem; font-weight:700; letter-spacing:.1em;
  background:rgba(14,16,19,.82); border:1px solid var(--gold-line); color:var(--gold);
  border-radius:3px;
}
.bike__body{ padding:18px 20px 22px; }
.bike__body h4{ font-size:1rem; margin-bottom:6px; }
.bike__body p{ font-size:.8rem; color:var(--text-3); margin:0; }
.bike:hover{ transform:translateY(-5px); border-color:var(--gold-line); }
.bike:hover .bike__img img{ transform:scale(1.07); filter:grayscale(0); }

/* ---------------- 404 ---------------- */
.nf{ text-align:center; padding:clamp(110px,15vw,190px) 0; }
.nf__code{
  font-family:var(--f-head); font-weight:700; line-height:1;
  font-size:clamp(6rem,18vw,13rem);
  color:transparent; -webkit-text-stroke:1px var(--gold-line);
}
.nf h1{ font-size:clamp(1.6rem,3vw,2.4rem); margin:10px 0 16px; }
.nf p{ color:var(--text-3); max-width:480px; margin:0 auto 32px; }

/* ---------------- Gelişim rozeti (yerel görsel yoksa) ---------------- */
.imgnote{
  position:fixed; left:14px; bottom:14px; z-index:120;
  font-size:.68rem; color:var(--text-3);
  background:rgba(20,23,28,.9); border:1px solid var(--line);
  padding:6px 10px; border-radius:4px;
}
