/* ═══════════════════════════════════════════════════════════════
   GRAVITON DESIGN
   Palet  · #1d1d1b 85%  ·  #6768ad 10%  ·  #e3de00 5%
   ═══════════════════════════════════════════════════════════════ */

/* ── Tokens ─────────────────────────────────────────────────── */
:root{
  /* Zemin — yalnızca ana rengin çok ince ton kaymaları */
  --bg:        #1d1d1b;
  --bg-lift:   #232320;
  --bg-deep:   #171716;

  /* Nötr tipografi */
  --fg:        #f2f1ec;
  --fg-dim:    rgba(242, 241, 236, .54);
  --fg-faint:  rgba(242, 241, 236, .30);
  --line:      rgba(242, 241, 236, .10);
  --line-soft: rgba(242, 241, 236, .06);

  /* Vurgular — ton varyasyonu YOK */
  --accent:    #6768ad;
  --yellow:    #e3de00;
  --on-accent: #ffffff;

  --font-display: "Space Grotesk", "Segoe UI", system-ui, sans-serif;
  --font-body:    "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;

  --ease-out:     cubic-bezier(.16, 1, .3, 1);
  --ease-io:      cubic-bezier(.76, 0, .24, 1);
  --ease-elastic: cubic-bezier(.22, 1.18, .36, 1);

  --pad:   clamp(22px, 5vw, 88px);
  --shell: 1440px;

  --header-h: 104px;
}

/* ── Reset ──────────────────────────────────────────────────── */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body,h1,h2,h3,h4,p,ul,figure{ margin:0; }
ul{ padding:0; list-style:none; }
button{ font:inherit; color:inherit; }
img,svg{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
::selection{ background:var(--accent); color:var(--on-accent); }

html{ scroll-behavior:auto; }

body{
  font-family:var(--font-body);
  font-weight:300;
  font-size:clamp(.95rem, .35vw + .86rem, 1.0625rem);
  line-height:1.75;
  letter-spacing:.005em;
  color:var(--fg);
  background:var(--bg);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body.is-loading{ overflow:hidden; height:100vh; }
body.is-locked{ overflow:hidden; }

.sprite{ position:absolute; width:0; height:0; overflow:hidden; }

/* ── Layout ─────────────────────────────────────────────────── */
.shell{
  width:100%;
  max-width:var(--shell);
  margin-inline:auto;
  padding-inline:var(--pad);
}
.section{ padding-block:clamp(110px, 15vw, 230px); position:relative; }

.scroll{ position:relative; z-index:2; }
html.has-smooth .scroll{
  position:fixed;
  top:0; left:0; right:0;
  will-change:transform;
}

/* ── Atmosfer katmanları ────────────────────────────────────── */
.field{
  position:fixed; inset:0;
  width:100%; height:100%;
  z-index:0;
  background:var(--bg);
}
.orbit{
  position:fixed; inset:0; z-index:1;
  width:100%; height:100%;
  pointer-events:none;
}
.vignette{
  position:fixed; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(120% 90% at 50% 40%, transparent 30%, rgba(0,0,0,.44) 78%, rgba(0,0,0,.62) 100%);
}
.grain{
  position:fixed; inset:-200%; z-index:1; pointer-events:none;
  opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 7s steps(6) infinite;
}
@keyframes grain{
  0%{ transform:translate(0,0) }        16%{ transform:translate(-1.5%,-1%) }
  33%{ transform:translate(1%,-1.5%) }  50%{ transform:translate(-1%,1.5%) }
  66%{ transform:translate(1.5%,1%) }   83%{ transform:translate(-1.5%,.5%) }
  100%{ transform:translate(0,0) }
}

/* Kolon rehberi — grafik tasarımın altlığı, neredeyse görünmez */
.grid-lines{
  position:fixed; inset:0; z-index:1; pointer-events:none;
  display:flex; justify-content:space-between;
  max-width:var(--shell); margin-inline:auto;
  padding-inline:var(--pad);
}
.grid-lines i{ width:1px; background:rgba(242,241,236,.032); }
@media (max-width:760px){ .grid-lines i:nth-child(even){ display:none; } }

/* Kesim işaretleri — baskı işine gönderme, köşelerde ince sarı L'ler */
.crops{
  position:absolute; inset:clamp(16px, 2.6vw, 40px);
  pointer-events:none; z-index:1;
}
.crops i{ position:absolute; width:15px; height:15px; }
.crops i::before,.crops i::after{
  content:""; position:absolute; background:var(--yellow); opacity:.6;
}
.crops i::before{ width:100%; height:1px; }
.crops i::after{ width:1px; height:100%; }
.crops i:nth-child(1){ top:0; left:0; }
.crops i:nth-child(1)::before,.crops i:nth-child(1)::after{ top:0; left:0; }
.crops i:nth-child(2){ top:0; right:0; }
.crops i:nth-child(2)::before,.crops i:nth-child(2)::after{ top:0; right:0; }
.crops i:nth-child(3){ bottom:0; left:0; }
.crops i:nth-child(3)::before,.crops i:nth-child(3)::after{ bottom:0; left:0; }
.crops i:nth-child(4){ bottom:0; right:0; }
.crops i:nth-child(4)::before,.crops i:nth-child(4)::after{ bottom:0; right:0; }
@media (max-width:640px){ .crops{ display:none; } }

/* ═══ PRELOADER ═════════════════════════════════════════════ */
.preloader{
  position:fixed; inset:0; z-index:200;
  background:var(--bg);
  display:grid; place-items:center;
  clip-path:inset(0 0 0 0);
  transition:clip-path 1.15s var(--ease-io);
}
.preloader.is-out{ clip-path:inset(0 0 100% 0); }
.preloader.is-done{ display:none; }
.preloader__canvas{ position:absolute; inset:0; width:100%; height:100%; }

.preloader__inner{
  position:relative;
  display:flex; flex-direction:column; align-items:center; gap:34px;
  transition:opacity .55s var(--ease-out), transform .8s var(--ease-out);
}
.preloader.is-out .preloader__inner{ opacity:0; transform:translateY(-22px); }

.preloader__mark{
  width:clamp(56px, 7vw, 82px);
  aspect-ratio:414/356;
  color:var(--accent);
  opacity:0;
  transform:scale(.72) rotate(-8deg);
  animation:markIn 1.5s var(--ease-out) .12s forwards;
}
@keyframes markIn{ to{ opacity:1; transform:none } }

.preloader__count{
  font-family:var(--font-display);
  font-weight:300;
  font-size:clamp(2.6rem, 7vw, 5rem);
  line-height:1;
  letter-spacing:-.04em;
  font-variant-numeric:tabular-nums;
  display:flex; align-items:flex-start; gap:.1em;
}
.preloader__count i{
  font-style:normal;
  font-size:.28em;
  color:var(--yellow);
  transform:translateY(.35em);
  letter-spacing:0;
}

.preloader__bar{
  position:absolute; left:0; right:0; bottom:0;
  height:1px; background:var(--line-soft);
}
.preloader__bar span{
  display:block; height:100%; width:0;
  background:var(--yellow);
  transition:width .45s var(--ease-out);
}
.preloader__meta{
  position:absolute; left:0; right:0; bottom:26px;
  padding-inline:var(--pad);
  display:flex; justify-content:space-between;
  font-size:10px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--fg-faint);
}

/* ═══ CURSOR ════════════════════════════════════════════════ */
.cursor{ position:fixed; inset:0; z-index:300; pointer-events:none; opacity:0; transition:opacity .4s; }
.cursor.is-active{ opacity:1; }
.cursor__dot,.cursor__ring{
  position:absolute; top:0; left:0;
  border-radius:50%;
  transform:translate3d(-50%,-50%,0);
}
.cursor__dot{
  width:5px; height:5px; background:var(--yellow);
  transition:opacity .3s, width .3s var(--ease-out), height .3s var(--ease-out);
}
.cursor__ring{
  width:34px; height:34px;
  border:1px solid var(--fg-faint);
  display:grid; place-items:center;
  transition:width .5s var(--ease-out), height .5s var(--ease-out),
             border-color .4s, background-color .4s;
}
.cursor__label{
  font-size:9px; letter-spacing:.18em; text-transform:uppercase;
  opacity:0; transition:opacity .3s; white-space:nowrap;
}
.cursor.is-grow .cursor__ring{ width:82px; height:82px; border-color:var(--accent); background:rgba(103,104,173,.14); }
.cursor.is-grow .cursor__dot{ width:0; height:0; }
.cursor.is-hide .cursor__ring{ width:56px; height:56px; border-color:var(--yellow); }
.cursor.is-hide .cursor__dot{ opacity:0; }
.cursor.is-down .cursor__ring{ width:26px; height:26px; }

/* ═══ HEADER ════════════════════════════════════════════════ */
.header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  transition:transform .7s var(--ease-io);
}
.header__inner{
  max-width:var(--shell); margin-inline:auto;
  padding:clamp(20px,2.4vw,30px) var(--pad);
  display:flex; align-items:center; justify-content:space-between; gap:32px;
  transition:padding .6s var(--ease-out);
}
.header::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:rgba(29,29,27,.55);
  backdrop-filter:blur(20px) saturate(1.3);
  -webkit-backdrop-filter:blur(20px) saturate(1.3);
  opacity:0; transition:opacity .6s var(--ease-out);
}
.header__line{
  position:absolute; left:0; right:0; bottom:0; height:1px;
  background:var(--line);
  transform:scaleX(0); transform-origin:0 50%;
  transition:transform 1s var(--ease-io);
}
.header.is-stuck::before{ opacity:1; }
.header.is-stuck .header__line{ transform:scaleX(1); }
.header.is-stuck .header__inner{ padding-block:clamp(13px,1.5vw,18px); }
.header.is-hidden{ transform:translateY(-102%); }

.header__logo{ display:block; flex:none; }
.header__logo svg{
  /* "DESIGN" alt satırı çok küçük ölçekte okunmuyordu */
  height:clamp(30px, 3.2vw, 42px); width:auto;
  color:var(--fg);
  transition:height .6s var(--ease-out), transform .8s var(--ease-out), opacity .4s;
}
.header.is-stuck .header__logo svg{ height:clamp(24px, 2.5vw, 33px); }
.header__logo:hover svg{ transform:scale(1.035); }
.header__logo .gv-logo__mark{ transition:opacity .5s; }
.header__logo:hover .gv-logo__mark{ opacity:.82; }

.nav__list{ display:flex; align-items:center; gap:clamp(18px, 3vw, 46px); }
.nav__link{
  position:relative; display:block;
  padding:6px 2px;
  font-size:11px; font-weight:400;
  letter-spacing:.2em; text-transform:uppercase;
  color:var(--fg-dim);
  transition:color .45s var(--ease-out);
}
.nav__link::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:var(--yellow);
  transform:scaleX(0); transform-origin:100% 50%;
  transition:transform .6s var(--ease-io);
}
.nav__link:hover{ color:var(--fg); }
.nav__link:hover::after{ transform:scaleX(1); transform-origin:0 50%; }
.nav__link.is-active{ color:var(--fg); }
.nav__link.is-active::after{ transform:scaleX(1); background:var(--accent); }

/* Burger */
.burger{
  display:none;
  flex:none; /* flex içinde ezilirse çubuklar kutunun dışına taşıyor */
  width:44px; height:44px; margin-right:-10px;
  background:none; border:0; cursor:pointer;
  position:relative;
}
.burger span{
  position:absolute; left:11px; width:22px; height:1px;
  background:var(--fg);
  transition:transform .55s var(--ease-io), opacity .3s;
}
.burger span:nth-child(1){ top:19px; }
.burger span:nth-child(2){ top:25px; width:14px; }
.burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(3px) rotate(45deg); }
.burger[aria-expanded="true"] span:nth-child(2){ transform:translateY(-3px) rotate(-45deg); width:22px; }

/* ═══ MOBILE MENU ═══════════════════════════════════════════ */
.menu{
  position:fixed; inset:0; z-index:90;
  background:var(--bg-deep);
  display:flex; flex-direction:column; justify-content:center;
  padding:calc(var(--header-h) + 20px) var(--pad) 40px;
  clip-path:inset(0 0 100% 0);
  transition:clip-path .95s var(--ease-io);
  visibility:hidden;
}
.menu.is-open{ clip-path:inset(0 0 0 0); visibility:visible; }
.menu__nav{ display:flex; flex-direction:column; gap:clamp(6px,2vw,14px); }
.menu__link{
  display:flex; align-items:baseline; gap:18px;
  font-family:var(--font-display);
  font-weight:300;
  font-size:clamp(2rem, 11vw, 3.4rem);
  line-height:1.1; letter-spacing:-.03em;
  opacity:0; transform:translateY(40px);
  transition:opacity .7s var(--ease-out), transform .9s var(--ease-out), color .35s;
}
.menu.is-open .menu__link{ opacity:1; transform:none; }
.menu.is-open .menu__link:nth-child(1){ transition-delay:.16s }
.menu.is-open .menu__link:nth-child(2){ transition-delay:.23s }
.menu.is-open .menu__link:nth-child(3){ transition-delay:.30s }
.menu.is-open .menu__link:nth-child(4){ transition-delay:.37s }
.menu__link i{
  font-family:var(--font-body); font-style:normal;
  font-size:11px; letter-spacing:.2em; color:var(--yellow);
}
.menu__link:active,.menu__link:hover{ color:var(--accent); }
.menu__foot{
  margin-top:clamp(48px, 10vh, 96px); padding-top:28px;
  border-top:1px solid var(--line);
  font-size:13px; color:var(--fg-dim);
}

/* ═══ ORTAK PARÇALAR ════════════════════════════════════════ */
.label{
  display:flex; align-items:center; gap:14px;
  font-size:10px; font-weight:400;
  letter-spacing:.24em; text-transform:uppercase;
  color:var(--fg-dim);
}
.label i{ font-style:normal; color:var(--yellow); letter-spacing:.14em; }
.label i::after{
  content:""; display:inline-block; vertical-align:middle;
  width:clamp(22px,3vw,48px); height:1px; margin-left:14px;
  background:var(--yellow);
}

.section__head{ margin-bottom:clamp(46px, 6vw, 90px); }
.section__head--split{
  display:flex; flex-direction:column; gap:clamp(24px,3.5vw,54px);
}
.section__title{
  font-family:var(--font-display);
  font-weight:300;
  font-size:clamp(2.1rem, 5.4vw, 4.6rem);
  line-height:1.02; letter-spacing:-.035em;
  max-width:16ch;
}

/* Buton */
.btn{
  --btn-bg:transparent; --btn-fg:var(--fg); --btn-bd:var(--line);
  position:relative; display:inline-flex; align-items:center; justify-content:center;
  padding:17px 34px;
  border:1px solid var(--btn-bd);
  border-radius:100px;
  background:var(--btn-bg);
  color:var(--btn-fg);
  font-size:13px; font-weight:400; letter-spacing:.1em; text-transform:uppercase;
  overflow:hidden; isolation:isolate;
  transition:border-color .5s var(--ease-out), background-color .5s var(--ease-out),
             color .5s var(--ease-out);
  will-change:transform;
}
.btn--solid{ --btn-bg:var(--accent); --btn-fg:var(--on-accent); --btn-bd:var(--accent); }
.btn--solid:hover{ --btn-bd:var(--yellow); }
.btn--ghost:hover{ --btn-bd:var(--yellow); }

.btn__text{ position:relative; display:block; overflow:hidden; }
.btn__text i{ display:block; font-style:normal; transition:transform .62s var(--ease-io); }
.btn__text .t2{ position:absolute; inset:0; transform:translateY(105%); }
.btn:hover .btn__text .t1{ transform:translateY(-105%); }
.btn:hover .btn__text .t2{ transform:translateY(0); }

/* ═══ HERO ══════════════════════════════════════════════════ */
.hero{
  min-height:100svh;
  display:flex; flex-direction:column; justify-content:center;
  padding-block:calc(var(--header-h) + 40px) 132px;
  position:relative;
}
.hero__eyebrow{
  display:flex; align-items:center; gap:13px;
  font-size:10.5px; letter-spacing:.26em; text-transform:uppercase;
  color:var(--fg-dim);
  margin-bottom:clamp(28px, 4vw, 46px);
}
.hero__eyebrow .dot{
  width:5px; height:5px; border-radius:50%; background:var(--yellow);
  animation:pulse 3.4s var(--ease-io) infinite;
}
@keyframes pulse{
  0%,100%{ transform:scale(1); opacity:1 }
  50%{ transform:scale(.45); opacity:.35 }
}

.hero__title{
  font-family:var(--font-display);
  font-weight:300;
  font-size:clamp(2.05rem, 7.4vw, 7.6rem);
  line-height:.96;
  letter-spacing:-.042em;
}
.hero__title em{ display:block; font-style:normal; color:var(--accent); }
[data-float]{ will-change:transform; }

.hero__foot{
  display:flex; flex-wrap:wrap; align-items:flex-end;
  justify-content:space-between; gap:clamp(34px,5vw,72px);
  margin-top:clamp(44px, 6vw, 88px);
}
.hero__lead{
  max-width:44ch;
  color:var(--fg-dim);
  font-size:clamp(.95rem, .5vw + .85rem, 1.125rem);
  line-height:1.7;
}
.hero__actions{ display:flex; flex-wrap:wrap; gap:14px; }

.hero__scroll{
  position:absolute; left:50%; bottom:38px; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:14px;
}
.hero__scroll-label{
  font-size:9.5px; letter-spacing:.24em; text-transform:uppercase; color:var(--fg-faint);
}
.hero__scroll-track{
  position:relative; display:block; width:1px; height:64px;
  background:var(--line); overflow:hidden;
}
.hero__scroll-track i{
  position:absolute; top:0; left:0; width:100%; height:22px;
  background:var(--yellow);
  animation:drop 2.4s var(--ease-io) infinite;
}
@keyframes drop{
  0%{ transform:translateY(-100%) }
  60%,100%{ transform:translateY(300%) }
}

/* ═══ MARQUEE ═══════════════════════════════════════════════ */
.marquee{
  border-top:1px solid var(--line-soft);
  border-bottom:1px solid var(--line-soft);
  overflow:hidden;
  padding-block:20px;
  background:rgba(23,23,22,.35);
}
.marquee__track{ display:flex; width:max-content; animation:slide 48s linear infinite; }
.marquee__group{ display:flex; align-items:center; flex:none; }
.marquee__group span{
  font-family:var(--font-display);
  font-size:clamp(.8rem, 1.5vw, 1.05rem);
  font-weight:300; letter-spacing:.16em; text-transform:uppercase;
  color:var(--fg-faint);
  padding-inline:clamp(18px, 2.4vw, 34px);
  white-space:nowrap;
}
.marquee__group b{ width:4px; height:4px; border-radius:50%; background:var(--yellow); flex:none; }
@keyframes slide{ to{ transform:translateX(-50%) } }

/* ═══ HAKKIMIZDA ════════════════════════════════════════════ */
.about{ overflow:hidden; }
.about__watermark{
  position:absolute; z-index:-1;
  top:clamp(40px, 6vw, 110px); right:calc(var(--pad) * -.35);
  width:clamp(260px, 34vw, 520px); height:auto; aspect-ratio:414/356;
  color:var(--accent);
  opacity:.16;
  animation:drift 34s linear infinite;
}
@keyframes drift{
  0%{ transform:rotate(0deg) translateY(0) }
  50%{ transform:rotate(180deg) translateY(-16px) }
  100%{ transform:rotate(360deg) translateY(0) }
}
@media (max-width:760px){ .about__watermark{ opacity:.09; } }

.about__statement{
  font-family:var(--font-display);
  font-weight:300;
  font-size:clamp(1.55rem, 3.7vw, 3.35rem);
  line-height:1.16; letter-spacing:-.028em;
  max-width:22ch;
}
.about__statement em{ font-style:normal; color:var(--accent); }

.about__body{
  display:grid; gap:clamp(26px, 4vw, 68px);
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  margin-top:clamp(52px, 7vw, 104px);
  padding-top:clamp(38px, 4vw, 58px);
  border-top:1px solid var(--line);
}
.about__col p{ color:var(--fg-dim); max-width:46ch; }

.principles{
  display:grid; gap:0;
  grid-template-columns:repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  margin-top:clamp(70px, 9vw, 140px);
  border-top:1px solid var(--line);
}
.principle{
  padding:clamp(30px,3.6vw,52px) clamp(0px,2.6vw,40px) clamp(30px,3.6vw,52px) 0;
  position:relative;
}
.principle + .principle{ padding-left:clamp(0px,2.6vw,40px); }
.principle::before{
  content:""; position:absolute; top:0; left:0; width:0; height:1px;
  background:var(--yellow);
  transition:width 1.2s var(--ease-io) .1s;
}
.principle.is-in::before{ width:34px; }
.principle__idx{
  display:block;
  font-size:10px; letter-spacing:.22em; color:var(--fg-faint);
  margin-bottom:22px;
}
.principle__title{
  font-family:var(--font-display);
  font-weight:400;
  font-size:clamp(1.15rem, 1.8vw, 1.5rem);
  letter-spacing:-.01em;
  margin-bottom:14px;
}
.principle__text{ color:var(--fg-dim); font-size:.95rem; line-height:1.72; max-width:34ch; }

@media (min-width:760px){
  .principle + .principle{ border-left:1px solid var(--line); }
}

/* ═══ HİZMETLER ═════════════════════════════════════════════ */
.svc{
  --gutter:max(var(--pad), calc((100% - var(--shell)) / 2 + var(--pad)));
  border-top:1px solid var(--line);
}
.svc__row{
  position:relative;
  display:grid;
  grid-template-columns:clamp(40px,4.4vw,66px) 34px minmax(0,1.05fr) minmax(0,.85fr) 44px;
  align-items:center;
  gap:clamp(14px, 2.4vw, 40px);
  padding:clamp(26px, 3.4vw, 46px) var(--gutter);
  border-bottom:1px solid var(--line);
  cursor:default;
  isolation:isolate;
  overflow:hidden;
}
/* Yerçekimi alanı — imleci takip eden vurgu halesi */
.svc__row::before{
  content:""; position:absolute; z-index:-2; left:0; top:0;
  width:520px; height:520px; border-radius:50%;
  background:radial-gradient(circle closest-side, rgba(103,104,173,.30), rgba(103,104,173,0) 72%);
  /* imleci gecikmeli takip eder — kütlenin ataleti */
  transform:translate3d(calc(var(--mx, 50%) - 260px), calc(var(--my, 50%) - 260px), 0);
  transition:transform .6s var(--ease-out), opacity .55s var(--ease-out);
  opacity:0; pointer-events:none;
}
.svc__row::after{
  content:""; position:absolute; z-index:-3; inset:0;
  background:var(--bg-lift);
  transform:scaleY(0); transform-origin:50% 100%;
  transition:transform .62s var(--ease-io);
}
.svc__row.is-hot::before{ opacity:1; }
.svc__row.is-hot::after{ transform:scaleY(1); }

.svc__num{
  font-size:11px; letter-spacing:.16em;
  color:var(--fg-faint);
  font-variant-numeric:tabular-nums;
  transition:color .5s var(--ease-out), transform .7s var(--ease-out);
}
.svc__row.is-hot .svc__num{ color:var(--yellow); transform:translateX(4px); }

.svc__icon{
  width:30px; height:30px;
  color:var(--fg-dim);
  transition:color .5s var(--ease-out), transform .8s var(--ease-elastic), opacity .5s;
}
.svc__row.is-hot .svc__icon{ color:var(--accent); transform:rotate(-8deg) scale(1.14); }

.svc__name{
  font-family:var(--font-display);
  font-weight:300;
  font-size:clamp(1.28rem, 3.5vw, 2.9rem);
  line-height:1.06; letter-spacing:-.03em;
  overflow:hidden;
}
.svc__name span{
  display:block;
  transition:transform .85s var(--ease-out), color .5s var(--ease-out);
}
.svc__row.is-hot .svc__name span{ transform:translateX(clamp(8px, 1.6vw, 26px)); }

.svc__desc{
  color:var(--fg-faint);
  font-size:.9rem; line-height:1.6;
  max-width:34ch;
  opacity:0; transform:translateY(8px);
  transition:opacity .55s var(--ease-out), transform .7s var(--ease-out), color .5s;
}
.svc__row.is-hot .svc__desc{ opacity:1; transform:none; color:var(--fg-dim); }

.svc__arrow{
  width:20px; height:20px; justify-self:end;
  color:var(--yellow);
  opacity:0; transform:translate3d(-10px, 10px, 0);
  transition:opacity .5s var(--ease-out), transform .7s var(--ease-out);
}
.svc__row.is-hot .svc__arrow{ opacity:1; transform:none; }

@media (max-width:860px){
  .svc__row{
    grid-template-columns:26px minmax(0,1fr) 20px;
    column-gap:16px; row-gap:9px; align-items:start;
  }
  .svc__icon{ grid-area:1 / 1 / 2 / 2; width:22px; height:22px; margin-top:.15em; color:var(--accent); opacity:.75; }
  .svc__name{ grid-area:1 / 2 / 2 / 3; }
  .svc__arrow{ grid-area:1 / 3 / 2 / 4; width:15px; height:15px; opacity:.5; transform:none; margin-top:.35em; }
  .svc__num{ grid-area:2 / 1 / 3 / 2; padding-top:.1em; }
  .svc__desc{ grid-area:2 / 2 / 3 / 4; opacity:1; transform:none; color:var(--fg-faint); }
}

/* ═══ SSS ═══════════════════════════════════════════════════ */
.acc{ border-top:1px solid var(--line); }
.acc__item{ border-bottom:1px solid var(--line); }
.acc__item h3{ font:inherit; margin:0; }
.acc__trigger{
  width:100%; display:flex; align-items:center; justify-content:space-between;
  gap:clamp(20px,4vw,60px);
  padding:clamp(24px, 2.8vw, 38px) 0;
  background:none; border:0; text-align:left; cursor:pointer;
}
.acc__q{
  font-family:var(--font-display);
  font-weight:300;
  font-size:clamp(1.05rem, 2.1vw, 1.7rem);
  line-height:1.28; letter-spacing:-.02em;
  transition:color .45s var(--ease-out), transform .75s var(--ease-out);
}
.acc__trigger:hover .acc__q{ color:var(--accent); transform:translateX(10px); }
.acc__trigger[aria-expanded="true"] .acc__q{ color:var(--accent); }

.acc__icon{
  position:relative; flex:none; width:16px; height:16px;
  transition:transform .7s var(--ease-elastic);
}
.acc__icon i{ position:absolute; background:var(--yellow); transition:opacity .4s var(--ease-out); }
.acc__icon i:nth-child(1){ left:0; top:50%; width:100%; height:1px; margin-top:-.5px; }
.acc__icon i:nth-child(2){ top:0; left:50%; width:1px; height:100%; margin-left:-.5px; }
.acc__trigger[aria-expanded="true"] .acc__icon{ transform:rotate(180deg); }
.acc__trigger[aria-expanded="true"] .acc__icon i:nth-child(2){ opacity:0; }

.acc__panel{ overflow:hidden; height:0; }
.acc__panel[hidden]{ display:none; }
.acc__panel-inner{
  padding:0 clamp(20px,6vw,90px) clamp(30px,3.2vw,44px) 0;
  max-width:64ch;
  opacity:0; transform:translateY(-12px);
  transition:opacity .55s var(--ease-out), transform .7s var(--ease-out);
}
.acc__item.is-open .acc__panel-inner{ opacity:1; transform:none; transition-delay:.1s; }
.acc__panel-inner p{ color:var(--fg-dim); }

/* ═══ CTA ═══════════════════════════════════════════════════ */
.cta{
  padding-block:clamp(100px, 13vw, 200px);
  border-top:1px solid var(--line);
  text-align:center;
}
.cta .label{ justify-content:center; }
.cta__title{
  font-family:var(--font-display);
  font-weight:300;
  font-size:clamp(2.2rem, 7.6vw, 6.4rem);
  line-height:1; letter-spacing:-.04em;
  margin-block:clamp(30px,4vw,56px) clamp(38px,5vw,68px);
}
.cta__link{
  display:inline-flex; align-items:center; gap:16px;
  font-family:var(--font-display);
  font-size:clamp(.95rem, 2.1vw, 1.5rem);
  font-weight:300; letter-spacing:-.01em;
  padding-bottom:10px;
  border-bottom:1px solid var(--accent);
  transition:border-color .5s var(--ease-out), color .5s var(--ease-out);
  will-change:transform;
}
.cta__link svg{ width:18px; height:18px; transition:transform .7s var(--ease-out); }
.cta__link:hover{ color:var(--accent); border-color:var(--yellow); }
.cta__link:hover svg{ transform:translate3d(5px,-5px,0); color:var(--yellow); }
.cta__link-text{ position:relative; display:block; overflow:hidden; }
.cta__link-text i{ display:block; font-style:normal; transition:transform .62s var(--ease-io); }
.cta__link-text .t2{ position:absolute; inset:0; transform:translateY(105%); }
.cta__link:hover .cta__link-text .t1{ transform:translateY(-105%); }
.cta__link:hover .cta__link-text .t2{ transform:translateY(0); }

/* ═══ FOOTER ════════════════════════════════════════════════ */
.footer{
  border-top:1px solid var(--line);
  padding-block:clamp(56px, 7vw, 96px) 34px;
  background:rgba(23,23,22,.55);
}
.footer__grid{
  display:grid; gap:clamp(38px, 4vw, 60px);
  grid-template-columns:1fr;
  padding-bottom:clamp(52px, 6vw, 88px);
}
@media (min-width:640px){
  .footer__grid{ grid-template-columns:repeat(3, 1fr); }
  .footer__brand{ grid-column:1 / -1; }
}
@media (min-width:1000px){
  .footer__grid{ grid-template-columns:minmax(0,2.1fr) repeat(3, minmax(0,1fr)); }
  .footer__brand{ grid-column:auto; }
}
.footer__logo{
  width:clamp(200px, 24vw, 330px); height:auto; aspect-ratio:1484/329;
  color:var(--fg);
}
.footer__tag{
  margin-top:22px;
  font-size:13px; letter-spacing:.02em; color:var(--fg-faint);
}
.footer__col h4{
  font-size:10px; font-weight:400; letter-spacing:.24em; text-transform:uppercase;
  color:var(--fg-faint);
  margin-bottom:20px;
}
.footer__col a{
  display:block; width:fit-content;
  font-size:.9rem; color:var(--fg-dim);
  padding-block:6px;
  position:relative;
  transition:color .4s var(--ease-out);
}
.footer__col a::after{
  content:""; position:absolute; left:0; bottom:4px; width:100%; height:1px;
  background:var(--accent);
  transform:scaleX(0); transform-origin:100% 50%;
  transition:transform .55s var(--ease-io);
}
.footer__col a:hover{ color:var(--fg); }
.footer__col a:hover::after{ transform:scaleX(1); transform-origin:0 50%; }

.footer__bar{
  display:flex; align-items:center; gap:20px;
  padding-top:26px;
  border-top:1px solid var(--line-soft);
  font-size:11px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--fg-faint);
}
.footer__bar-mid{ flex:1; height:1px; background:var(--yellow); opacity:.5; }

/* ═══ ANİMASYON YARDIMCILARI ════════════════════════════════ */
[data-reveal]{
  opacity:0;
  transform:translate3d(0, 30px, 0);
  transition:opacity .95s var(--ease-out), transform 1.15s var(--ease-out);
  transition-delay:calc(var(--rd, 0) * 100ms);
}
[data-reveal].is-in{ opacity:1; transform:none; }

/* Kelime maskesi — padding/negatif margin ikilisi, maskeyi yalnızca
   görsel olarak büyütür; böylece ğ ş ç İ gibi alt/üst uzantılar
   kırpılmaz ama satır düzeni hiç bozulmaz. */
.line{
  display:inline-block; overflow:hidden; vertical-align:top;
  padding:.14em 0 .22em; margin:-.14em 0 -.22em;
}
.line__inner{
  display:inline-block;
  transform:translate3d(0, 130%, 0);
  transition:transform 1.25s var(--ease-out);
  transition-delay:calc(var(--i, 0) * 95ms);
}
[data-split].is-in .line__inner{ transform:none; }

/* ═══ RESPONSIVE ════════════════════════════════════════════ */
@media (max-width:1023px){
  .nav{ display:none; }
  .burger{ display:block; }
  .cursor{ display:none; }
}
@media (max-width:640px){
  .hero__actions{ width:100%; }
  .btn{ flex:1 1 auto; padding-inline:22px; }
  .hero__scroll{ display:none; }
  .footer__bar{ flex-wrap:wrap; gap:12px; }
  .footer__bar-mid{ order:3; flex-basis:100%; }
}

/* ═══ ERİŞİLEBİLİRLİK ═══════════════════════════════════════ */
:focus-visible{
  outline:1px solid var(--yellow);
  outline-offset:4px;
  border-radius:2px;
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  [data-reveal]{ opacity:1; transform:none; }
  .line__inner{ transform:none; }
  .grain{ display:none; }
  .svc__desc{ opacity:1; transform:none; }
}
