/* ==========================================================================
   ÜNSALAN GAYRİMENKUL — premium dark / 3D
   ========================================================================== */

/* ---------- TOKENS ---------- */
:root{
  --ink:      #08090B;
  --ink-2:    #0D0F13;
  --surface:  #12151A;
  --surface-2:#171B21;
  --line:     rgba(255,255,255,.085);
  --line-2:   rgba(255,255,255,.16);

  --amber:      #F5A623;
  --amber-soft: #FFC66B;
  --amber-deep: #B9760C;

  --text:  #ECEEF1;
  --text-2:#B7BDC6;
  --muted: #7E858F;

  --r-sm: 12px;
  --r:    18px;
  --r-lg: 26px;

  --ease: cubic-bezier(.16,1,.3,1);
  --ease-2: cubic-bezier(.22,.61,.36,1);

  --wrap: 1240px;
  --pad: clamp(20px, 5vw, 64px);
  --sec-y: clamp(84px, 11vw, 168px);

  --shadow: 0 30px 80px -30px rgba(0,0,0,.85);
  --shadow-amber: 0 24px 60px -24px rgba(245,166,35,.45);

  --hdr-h: 76px;
}

/* ---------- RESET ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--ink);
  color:var(--text);
  font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:16px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.is-locked{ overflow:hidden; }

img,svg,iframe{ display:block; max-width:100%; }
img{ height:auto; }
a{ color:inherit; text-decoration:none; }
button,input,select,textarea{ font:inherit; color:inherit; }
button{ background:none; border:0; cursor:pointer; }
ul,ol{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4,p{ margin:0; }
::selection{ background:var(--amber); color:#0A0B0D; }

:focus-visible{ outline:2px solid var(--amber); outline-offset:3px; border-radius:6px; }

/* scrollbar */
::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-track{ background:var(--ink); }
::-webkit-scrollbar-thumb{ background:#2A2F38; border-radius:99px; border:2px solid var(--ink); }
::-webkit-scrollbar-thumb:hover{ background:#3A414C; }

/* ---------- TYPO ---------- */
.h2{
  font-family:"Sora",system-ui,sans-serif;
  font-weight:600;
  font-size:clamp(30px, 4.6vw, 60px);
  line-height:1.08;
  letter-spacing:-.03em;
}
.h2 em{
  font-style:normal;
  background:linear-gradient(100deg,var(--amber-soft),var(--amber) 45%,var(--amber-deep));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.lead{ color:var(--text-2); font-size:clamp(15px,1.55vw,17.5px); line-height:1.75; max-width:62ch; }

.kicker{
  display:inline-flex; align-items:center; gap:12px;
  font-size:12px; font-weight:600; letter-spacing:.22em; text-transform:uppercase;
  color:var(--amber); margin-bottom:20px;
}
.kicker__num{
  font-family:"Sora",sans-serif; font-size:11px; letter-spacing:.06em;
  color:var(--text); background:rgba(255,255,255,.06);
  border:1px solid var(--line); border-radius:999px; padding:3px 9px;
}

/* ---------- LAYOUT ---------- */
.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--pad); }
.sec{ position:relative; padding-block:var(--sec-y); }
.sechead{ margin-bottom:clamp(40px,5vw,72px); }
.sechead--row{
  display:flex; flex-wrap:wrap; gap:28px 32px;
  align-items:flex-end; justify-content:space-between;
}

/* ---------- BUTTONS ---------- */
.btn{
  --bg:transparent; --fg:var(--text); --bd:var(--line-2);
  position:relative; display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:14px 24px; border-radius:999px;
  background:var(--bg); color:var(--fg); border:1px solid var(--bd);
  font-weight:600; font-size:14.5px; letter-spacing:.01em;
  cursor:pointer; overflow:hidden; isolation:isolate; white-space:nowrap;
  transition:transform .5s var(--ease), border-color .3s, color .3s, box-shadow .5s var(--ease);
  will-change:transform;
}
.btn svg{ width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.btn > span{ position:relative; z-index:2; }
.btn > svg{ position:relative; z-index:2; transition:transform .45s var(--ease); }
.btn::after{
  content:""; position:absolute; inset:0; z-index:1; border-radius:inherit;
  background:linear-gradient(100deg,var(--amber-soft),var(--amber));
  transform:translateY(101%); transition:transform .55s var(--ease);
}
.btn:hover::after{ transform:translateY(0); }
.btn:hover{ color:#0A0B0D; border-color:transparent; }
.btn:hover > svg{ transform:translateX(4px); }
.btn:active{ transform:scale(.97); }

.btn--solid{ --bg:linear-gradient(100deg,var(--amber-soft),var(--amber)); --fg:#0A0B0D; --bd:transparent; box-shadow:var(--shadow-amber); }
.btn--solid::after{ background:#fff; }
.btn--solid:hover{ color:#0A0B0D; }
.btn--ghost{ --bg:rgba(255,255,255,.03); backdrop-filter:blur(8px); }
.btn--ghost svg{ fill:currentColor; stroke:none; }
.btn--wa{ --bg:rgba(37,211,102,.12); --bd:rgba(37,211,102,.35); --fg:#5FE29A; }
.btn--wa::after{ background:#25D366; }
.btn--sm{ padding:10px 17px; font-size:13px; }
.btn--sm svg{ width:15px; height:15px; }
.btn--lg{ padding:17px 32px; font-size:15.5px; }
.btn--full{ width:100%; }

/* ---------- CURSOR ---------- */
.cursor{ position:fixed; inset:0 auto auto 0; z-index:9999; pointer-events:none; display:none; mix-blend-mode:difference; opacity:0; transition:opacity .3s; }
.cursor.is-live{ opacity:1; }
.cursor__dot,.cursor__ring{ position:absolute; top:0; left:0; border-radius:50%; transform:translate(-50%,-50%); }
.cursor__dot{ width:6px; height:6px; background:#fff; }
.cursor__ring{
  width:34px; height:34px; border:1px solid rgba(255,255,255,.7);
  transition:width .35s var(--ease), height .35s var(--ease), opacity .3s, background .3s;
}
.cursor.is-hot .cursor__ring{ width:60px; height:60px; background:rgba(255,255,255,.12); }
@media (hover:hover) and (pointer:fine){ .cursor{ display:block; } }

/* ---------- PRELOADER ---------- */
/* JS yoksa preloader hiç gösterilmez. Aksi hâlde JavaScript çalıştırmayan
   tarayıcılar (yapay zekâ crawler'ları, metin tarayıcılar) sayfayı kaplayan
   siyah bir katman görüyor, altındaki içeriği hiç okuyamıyordu. */
.preloader{ display:none; }
.js .preloader{
  position:fixed; inset:0; z-index:10000; background:var(--ink);
  display:grid; place-items:center;
  transition:opacity .7s var(--ease), visibility .7s;
}
.js .preloader.is-done{ opacity:0; visibility:hidden; }
.preloader__inner{ text-align:center; width:min(300px,72vw); }
.preloader__mark{ width:74px; margin:0 auto 18px; animation:pulse 2s var(--ease) infinite; }
.preloader__mark img{ width:100%; }
@keyframes pulse{ 0%,100%{ transform:scale(1); opacity:1 } 50%{ transform:scale(.9); opacity:.65 } }
.preloader__word{ font-family:"Sora",sans-serif; font-weight:700; letter-spacing:.42em; font-size:14px; color:var(--text-2); margin-bottom:22px; padding-left:.42em; }
.preloader__bar{ height:2px; background:rgba(255,255,255,.1); border-radius:99px; overflow:hidden; }
.preloader__bar span{ display:block; height:100%; width:0; background:linear-gradient(90deg,var(--amber-deep),var(--amber-soft)); transition:width .25s linear; }
.preloader__pct{ margin-top:12px; font-family:"Sora",sans-serif; font-size:12px; color:var(--muted); letter-spacing:.1em; }
.preloader__pct i{ font-style:normal; opacity:.5; }

/* ---------- HEADER ---------- */
.hdr{
  position:fixed; inset:0 0 auto 0; z-index:960;
  transition:transform .55s var(--ease), background .45s, backdrop-filter .45s, border-color .45s;
  border-bottom:1px solid transparent;
  padding-top:env(safe-area-inset-top);
}
.hdr.is-stuck{
  background:rgba(8,9,11,.72);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  border-bottom-color:var(--line);
}
.hdr.is-hidden{ transform:translateY(-105%); }
/* menü açıkken başlık şeffaf kalsın, sadece logo + kapatma düğmesi görünsün */
body.is-locked .hdr{ background:transparent; backdrop-filter:none; -webkit-backdrop-filter:none; border-bottom-color:transparent; transform:none; }
body.is-locked .hdr__progress{ opacity:0; }
.hdr__in{
  max-width:var(--wrap); margin-inline:auto; padding-inline:var(--pad);
  height:var(--hdr-h); display:flex; align-items:center; gap:22px;
}
.hdr__progress{ position:absolute; left:0; right:0; bottom:-1px; height:2px; background:transparent; }
.hdr__progress i{ display:block; height:100%; width:0; background:linear-gradient(90deg,var(--amber-deep),var(--amber-soft)); }

.brand{ display:flex; align-items:center; gap:11px; margin-right:auto; }
.brand__mark{ width:34px; height:34px; flex:none; }
.brand__txt{ display:flex; flex-direction:column; line-height:1; }
.brand__txt b{ font-family:"Sora",sans-serif; font-weight:700; font-size:16.5px; letter-spacing:.13em; }
.brand__txt i{ font-style:normal; font-size:8.6px; letter-spacing:.235em; color:var(--muted); margin-top:5px; }
.brand--lg .brand__mark{ width:46px; height:46px; }
.brand--lg .brand__txt b{ font-size:21px; }
.brand--lg .brand__txt i{ font-size:9.5px; }

.nav{ display:flex; gap:4px; }
.nav a{
  position:relative; padding:9px 14px; border-radius:99px;
  font-size:14px; font-weight:500; color:var(--text-2);
  transition:color .3s, background .3s;
}
.nav a::after{
  content:""; position:absolute; left:14px; right:14px; bottom:4px; height:1px;
  background:var(--amber); transform:scaleX(0); transform-origin:left; transition:transform .45s var(--ease);
}
.nav a:hover{ color:var(--text); }
.nav a:hover::after,.nav a.is-active::after{ transform:scaleX(1); }
.nav a.is-active{ color:var(--text); }

.hdr__cta{ display:flex; gap:10px; }

.burger{ display:none; width:44px; height:44px; border-radius:12px; border:1px solid var(--line);
  flex-direction:column; align-items:center; justify-content:center; }
.burger span{ display:block; width:19px; height:1.6px; background:var(--text); border-radius:2px; transition:transform .45s var(--ease), opacity .3s; }
.burger span+span{ margin-top:5px; }
.burger.is-on span:first-child{ transform:translateY(3.3px) rotate(45deg); }
.burger.is-on span:last-child{ transform:translateY(-3.3px) rotate(-45deg); }

/* ---------- MOBİL MENÜ ---------- */
.mmenu{ position:fixed; inset:0; z-index:950; visibility:hidden; pointer-events:none; }
.mmenu.is-open{ visibility:visible; pointer-events:auto; }
.mmenu__bg{
  position:absolute; inset:0; background:rgba(8,9,11,.94);
  backdrop-filter:blur(22px); -webkit-backdrop-filter:blur(22px);
  clip-path:circle(0% at calc(100% - 46px) 46px);
  transition:clip-path .75s var(--ease);
}
.mmenu.is-open .mmenu__bg{ clip-path:circle(150% at calc(100% - 46px) 46px); }
.mmenu__body{
  position:relative; height:100%; display:flex; flex-direction:column; justify-content:center; gap:34px;
  padding:calc(var(--hdr-h) + 24px) var(--pad) calc(32px + env(safe-area-inset-bottom));
  overflow-y:auto;
}
.mmenu__nav{ display:flex; flex-direction:column; gap:2px; }
.mmenu__nav a{
  display:flex; align-items:baseline; gap:14px;
  font-family:"Sora",sans-serif; font-weight:600; font-size:clamp(26px,8.4vw,40px);
  letter-spacing:-.025em; padding:9px 0; border-bottom:1px solid rgba(255,255,255,.06);
  opacity:0; transform:translateY(26px);
}
.mmenu.is-open .mmenu__nav a{ animation:mIn .7s var(--ease) forwards; }
.mmenu__nav a i{ font-style:normal; font-size:11px; letter-spacing:.15em; color:var(--amber); font-family:"Inter",sans-serif; }
@keyframes mIn{ to{ opacity:1; transform:none } }
.mmenu__nav a:nth-child(1){ animation-delay:.14s } .mmenu__nav a:nth-child(2){ animation-delay:.19s }
.mmenu__nav a:nth-child(3){ animation-delay:.24s } .mmenu__nav a:nth-child(4){ animation-delay:.29s }
.mmenu__nav a:nth-child(5){ animation-delay:.34s } .mmenu__nav a:nth-child(6){ animation-delay:.39s }
.mmenu__nav a:nth-child(7){ animation-delay:.44s }
.mmenu__foot{ font-size:14px; color:var(--text-2); display:grid; gap:7px; }
.mmenu__foot a{ color:var(--amber); }
.mmenu__foot p{ color:var(--muted); font-size:13px; line-height:1.6; }
.mmenu__social{ display:flex; gap:16px; margin-top:6px; }
.mmenu__social a{ color:var(--text); border-bottom:1px solid var(--line-2); padding-bottom:2px; }

/* ---------- HERO ---------- */
.hero{
  position:relative; min-height:100svh; display:flex; align-items:flex-end;
  padding:calc(var(--hdr-h) + 56px) 0 clamp(40px,7vw,84px);
  overflow:hidden; isolation:isolate;
}
.hero__canvas{ position:absolute; inset:0; width:100%; height:100%; z-index:-3; }
.hero__fallback{
  position:absolute; inset:0; z-index:-4;
  background:
    radial-gradient(120% 80% at 78% 12%, rgba(245,166,35,.20), transparent 58%),
    radial-gradient(90% 70% at 10% 90%, rgba(60,80,120,.16), transparent 60%),
    linear-gradient(180deg,#0A0C10,#08090B 65%);
}
.hero__grain{
  position:absolute; inset:0; z-index:-2; opacity:.35; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
  mix-blend-mode:overlay;
}
.hero__vig{
  position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    linear-gradient(90deg, rgba(8,9,11,.88) 0%, rgba(8,9,11,.55) 34%, rgba(8,9,11,0) 66%),
    linear-gradient(180deg, rgba(8,9,11,.55) 0%, rgba(8,9,11,0) 30%, rgba(8,9,11,.18) 55%, rgba(8,9,11,.93) 100%),
    radial-gradient(100% 70% at 50% 100%, rgba(8,9,11,.7), transparent 70%);
}
.hero__in{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--pad); }

.hero__eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-size:11.5px; font-weight:600; letter-spacing:.24em; text-transform:uppercase;
  color:var(--text-2); background:rgba(255,255,255,.045); border:1px solid var(--line);
  padding:8px 15px; border-radius:999px; backdrop-filter:blur(10px); margin-bottom:26px;
}
.hero__eyebrow .dot{ width:6px; height:6px; border-radius:50%; background:var(--amber); box-shadow:0 0 0 0 rgba(245,166,35,.55); animation:ping 2.4s var(--ease) infinite; }
@keyframes ping{ 0%{ box-shadow:0 0 0 0 rgba(245,166,35,.5) } 70%{ box-shadow:0 0 0 11px rgba(245,166,35,0) } 100%{ box-shadow:0 0 0 0 rgba(245,166,35,0) } }

.hero__title{
  font-family:"Sora",sans-serif; font-weight:600;
  font-size:clamp(33px, 5.4vw, 68px); line-height:1.06; letter-spacing:-.035em;
  margin-bottom:26px; max-width:22ch;
}
.hero__title em{
  font-style:normal;
  background:linear-gradient(100deg,var(--amber-soft) 5%,var(--amber) 50%,var(--amber-deep));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero__title .line{ display:block; overflow:hidden; padding-bottom:.09em; margin-bottom:-.09em; }
.hero__title .line > span{ display:block; transform:translateY(110%); }
.is-ready .hero__title .line > span{ animation:lineUp 1.05s var(--ease) forwards; }
.is-ready .hero__title .line:nth-child(2) > span{ animation-delay:.11s; }
@keyframes lineUp{ to{ transform:none } }

.hero__sub{ color:var(--text-2); max-width:58ch; font-size:clamp(14.5px,1.5vw,17px); line-height:1.72; margin-bottom:34px; }
.hero__acts{ display:flex; flex-wrap:wrap; gap:12px; margin-bottom:clamp(38px,6vw,66px); }

.hero__stats{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line); border-radius:var(--r);
  overflow:hidden; backdrop-filter:blur(12px);
}
.hero__stats .stat{ background:rgba(12,14,18,.55); padding:20px 18px; }
.hero__stats b{
  display:block; font-family:"Sora",sans-serif; font-weight:700;
  font-size:clamp(24px,3.1vw,38px); line-height:1; letter-spacing:-.03em;
  background:linear-gradient(180deg,#fff,#C9CDD4);
  -webkit-background-clip:text; background-clip:text; color:transparent;
  margin-bottom:7px;
}
.hero__stats span{ display:block; font-size:11.7px; color:var(--muted); line-height:1.45; letter-spacing:.01em; }

.hero__scroll{
  position:absolute; right:var(--pad); bottom:132px; z-index:3;
  display:flex; flex-direction:column; align-items:center; gap:12px; color:var(--muted);
}
.hero__scrollline{ width:1px; height:56px; background:rgba(255,255,255,.16); position:relative; overflow:hidden; }
.hero__scrollline i{ position:absolute; inset:0 auto auto 0; width:100%; height:40%; background:var(--amber); animation:scrl 2.1s var(--ease) infinite; }
@keyframes scrl{ 0%{ transform:translateY(-100%) } 100%{ transform:translateY(250%) } }
.hero__scrolltxt{ writing-mode:vertical-rl; font-size:9.5px; letter-spacing:.34em; }

/* ---------- MARQUEE ---------- */
.marq{
  overflow:hidden; border-block:1px solid var(--line);
  background:linear-gradient(90deg,rgba(245,166,35,.05),rgba(245,166,35,.01));
  padding:16px 0;
}
.marq__track{ display:flex; width:max-content; animation:marq 34s linear infinite; }
.marq__track span{
  font-family:"Sora",sans-serif; font-weight:600; font-size:clamp(13px,1.5vw,17px);
  letter-spacing:.17em; color:rgba(255,255,255,.42); white-space:nowrap; padding-right:0;
}
.marq__track i{ font-style:normal; color:var(--amber); padding:0 22px; font-size:.7em; vertical-align:middle; }
@keyframes marq{ to{ transform:translateX(-50%) } }
@media (prefers-reduced-motion: reduce){ .marq__track{ animation:none } }

/* ---------- CARD BASE ---------- */
.card{
  position:relative; border-radius:var(--r-lg);
  background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.018));
  border:1px solid var(--line);
  overflow:hidden; isolation:isolate;
  transition:border-color .5s var(--ease), transform .6s var(--ease), box-shadow .6s var(--ease);
}
.card:hover{ border-color:var(--line-2); box-shadow:var(--shadow); }
.card__glow{
  position:absolute; width:340px; height:340px; border-radius:50%; pointer-events:none; z-index:0;
  left:var(--mx,50%); top:var(--my,50%); transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(245,166,35,.17),transparent 62%);
  opacity:0; transition:opacity .45s var(--ease);
}
.card:hover .card__glow{ opacity:1; }

/* 3D tilt */
.tilt{ transform-style:preserve-3d; will-change:transform; }
.tilt > *{ transform:translateZ(0.01px); }

/* ---------- HAKKIMIZDA ---------- */
.about__grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(40px,6vw,90px); align-items:center; }
.about__list{ display:grid; gap:13px; margin:30px 0 34px; }
.about__list li{ position:relative; padding-left:30px; color:var(--text-2); font-size:15px; line-height:1.6; }
.about__list li b{ color:var(--text); font-weight:600; }
.about__list li::before{
  content:""; position:absolute; left:0; top:9px; width:14px; height:14px; border-radius:4px;
  background:linear-gradient(135deg,var(--amber-soft),var(--amber-deep));
  box-shadow:0 0 0 4px rgba(245,166,35,.1);
}
.about__media{ position:relative; perspective:1200px; min-height:min(78vw,520px); }
.about__img{ margin:0; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow); }
.about__img img{ width:100%; aspect-ratio:4/5; object-fit:cover; }
.about__img figcaption{
  position:absolute; left:0; right:0; bottom:0; padding:36px 20px 16px;
  font-size:12.4px; letter-spacing:.05em; color:#EAECEF;
  background:linear-gradient(180deg,transparent,rgba(6,7,9,.9));
}
.about__img--a{ width:72%; }
.about__img--b{ position:absolute; right:0; bottom:-6%; width:48%; z-index:2; }
.about__img--b img{ aspect-ratio:3/4; }
.about__badge{
  position:absolute; left:-5%; top:6%; z-index:3;
  width:112px; height:112px; border-radius:50%;
  background:linear-gradient(140deg,var(--amber-soft),var(--amber-deep));
  color:#151007; display:grid; place-content:center; text-align:center;
  box-shadow:0 22px 50px -18px rgba(245,166,35,.7);
}
.about__badge b{ display:block; font-family:"Sora",sans-serif; font-size:34px; font-weight:800; line-height:1; }
.about__badge span{ display:block; font-size:10px; font-weight:700; letter-spacing:.11em; text-transform:uppercase; margin-top:4px; line-height:1.3; }

/* ---------- HİZMETLER ---------- */
.svc{ background:linear-gradient(180deg,transparent,rgba(255,255,255,.016),transparent); }
.svc__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.svc__card{ padding:34px 30px 32px; display:flex; flex-direction:column; }
.svc__ico{
  width:52px; height:52px; border-radius:15px; display:grid; place-items:center; margin-bottom:22px;
  background:linear-gradient(150deg,rgba(245,166,35,.19),rgba(245,166,35,.05));
  border:1px solid rgba(245,166,35,.25);
  transition:transform .6s var(--ease);
}
.card:hover .svc__ico{ transform:translateY(-4px) rotate(-5deg); }
.svc__ico svg{ width:24px; height:24px; fill:none; stroke:var(--amber); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.svc__card h3{ font-family:"Sora",sans-serif; font-size:20.5px; font-weight:600; letter-spacing:-.02em; margin-bottom:10px; }
.svc__card p{ color:var(--text-2); font-size:14.6px; line-height:1.66; }
.svc__card ul{ display:flex; flex-wrap:wrap; gap:7px; margin-top:20px; }
.svc__card ul li{
  font-size:11.6px; color:var(--text-2); letter-spacing:.03em;
  border:1px solid var(--line); border-radius:999px; padding:5px 11px; background:rgba(255,255,255,.025);
}
.svc__card--cta{
  background:linear-gradient(150deg,rgba(245,166,35,.15),rgba(245,166,35,.03));
  border-color:rgba(245,166,35,.28);
  justify-content:center;
}
.svc__card--cta h3{ font-size:23px; }
.svc__card--cta .btn{ margin-top:22px; align-self:flex-start; }

/* ---------- PROJELER ---------- */
.proj__filters{ display:flex; gap:8px; flex-wrap:wrap; }
.chip{
  padding:10px 20px; border-radius:999px; border:1px solid var(--line);
  font-size:13.5px; font-weight:600; color:var(--text-2); background:rgba(255,255,255,.025);
  transition:all .4s var(--ease);
}
.chip:hover{ color:var(--text); border-color:var(--line-2); }
.chip.is-on{ background:linear-gradient(100deg,var(--amber-soft),var(--amber)); color:#0A0B0D; border-color:transparent; box-shadow:var(--shadow-amber); }

.proj__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.pcard{
  position:relative; border-radius:var(--r-lg); overflow:hidden; cursor:pointer;
  border:1px solid var(--line); background:var(--surface);
  transition:transform .65s var(--ease), border-color .5s, box-shadow .65s var(--ease), opacity .45s;
  will-change:transform;
}
.pcard.is-hidden{ display:none; }
.pcard:hover{ border-color:rgba(245,166,35,.35); box-shadow:var(--shadow); }
.pcard__media{ position:relative; aspect-ratio:4/3; overflow:hidden; background:#0E1116; }
.pcard__media img{ width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease), filter .6s; filter:saturate(.9) brightness(.9); }
.pcard:hover .pcard__media img{ transform:scale(1.07); filter:saturate(1.05) brightness(1); }
.pcard__media::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(8,9,11,.05) 30%,rgba(8,9,11,.86));
}
.pcard__tag{
  position:absolute; z-index:2; top:14px; left:14px;
  font-size:10.6px; font-weight:700; letter-spacing:.13em; text-transform:uppercase;
  padding:6px 12px; border-radius:999px; backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.18); background:rgba(10,12,15,.55); color:#E6E9ED;
}
.pcard__tag--satista{ background:linear-gradient(100deg,var(--amber-soft),var(--amber)); color:#0A0B0D; border-color:transparent; }
.pcard__body{ position:absolute; z-index:2; left:0; right:0; bottom:0; padding:22px 22px 24px; }
.pcard__loc{ font-size:11.6px; letter-spacing:.11em; text-transform:uppercase; color:var(--amber); margin-bottom:7px; }
.pcard__name{ font-family:"Sora",sans-serif; font-size:19px; font-weight:600; letter-spacing:-.02em; line-height:1.22; margin-bottom:8px; }
.pcard__meta{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.pcard__type{ font-size:12.5px; color:var(--text-2); }
.pcard__go{
  width:36px; height:36px; border-radius:50%; display:grid; place-items:center; flex:none;
  border:1px solid var(--line-2); background:rgba(255,255,255,.06);
  transition:background .45s var(--ease), transform .45s var(--ease), border-color .45s;
}
.pcard__go svg{ width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.pcard:hover .pcard__go{ background:linear-gradient(100deg,var(--amber-soft),var(--amber)); color:#0A0B0D; border-color:transparent; transform:rotate(-45deg); }
.pcard__count{
  position:absolute; z-index:2; top:14px; right:14px;
  font-size:11px; letter-spacing:.06em; padding:6px 10px; border-radius:999px;
  background:rgba(10,12,15,.55); border:1px solid rgba(255,255,255,.14); backdrop-filter:blur(10px); color:#DCE0E5;
}

/* ---------- SÜREÇ ---------- */
.proc__list{ display:grid; gap:0; border-top:1px solid var(--line); }
.proc__item{
  display:grid; grid-template-columns:120px 1fr; gap:clamp(20px,4vw,56px);
  padding:clamp(28px,3.4vw,44px) 0; border-bottom:1px solid var(--line);
  position:relative; transition:padding-left .6s var(--ease);
}
.proc__item::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:2px;
  background:linear-gradient(180deg,var(--amber),transparent);
  transform:scaleY(0); transform-origin:top; transition:transform .7s var(--ease);
}
.proc__item:hover::before{ transform:scaleY(1); }
@media (hover:hover){ .proc__item:hover{ padding-left:22px; } }
.proc__no{
  font-family:"Sora",sans-serif; font-weight:700; font-size:clamp(38px,5vw,66px); line-height:.9;
  letter-spacing:-.04em; color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.22);
  transition:color .6s var(--ease), -webkit-text-stroke-color .6s;
}
.proc__item:hover .proc__no{ -webkit-text-stroke-color:transparent; color:var(--amber); }
.proc__body h3{ font-family:"Sora",sans-serif; font-size:clamp(19px,2.3vw,26px); font-weight:600; letter-spacing:-.022em; margin-bottom:10px; }
.proc__body p{ color:var(--text-2); font-size:15px; line-height:1.72; max-width:64ch; }

/* ---------- EKİP ---------- */
.team__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.team__card{ padding:34px 30px; text-align:center; }
.team__av{
  width:92px; height:92px; margin:0 auto 20px; border-radius:50%;
  display:grid; place-items:center; position:relative;
  background:linear-gradient(150deg,rgba(245,166,35,.2),rgba(255,255,255,.04));
  border:1px solid rgba(245,166,35,.25);
  font-family:"Sora",sans-serif; font-weight:700; font-size:29px; letter-spacing:.02em; color:var(--amber);
  transition:transform .6s var(--ease);
}
.team__av::before{ content:attr(data-initials); }
.card:hover .team__av{ transform:translateY(-4px) scale(1.04); }
.team__card h3{ font-family:"Sora",sans-serif; font-size:21px; font-weight:600; letter-spacing:-.02em; }
.team__role{ color:var(--muted); font-size:13.4px; margin-top:5px; margin-bottom:20px; letter-spacing:.03em; }
.team__acts{ display:flex; flex-direction:column; gap:9px; }

/* ---------- HABERLER ---------- */
.news__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.news__card{ padding:32px 28px; display:flex; flex-direction:column; gap:12px; }
.news__card time{ font-size:11.6px; letter-spacing:.15em; color:var(--amber); text-transform:uppercase; }
.news__card h3{ font-family:"Sora",sans-serif; font-size:18.5px; font-weight:600; letter-spacing:-.02em; line-height:1.3; }
.news__card p{ color:var(--text-2); font-size:14.4px; line-height:1.68; }

/* ---------- İLETİŞİM ---------- */
.cta{ background:linear-gradient(180deg,transparent,rgba(245,166,35,.035)); }
.cta__grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,5vw,72px); align-items:start; }
@media (min-width:981px){ .cta__right{ position:sticky; top:calc(var(--hdr-h) + 24px); } }
.info{ display:grid; gap:20px; margin:32px 0; }
.info li{ display:grid; grid-template-columns:96px 1fr; gap:16px; align-items:start; }
.info__k{ font-size:11.4px; letter-spacing:.15em; text-transform:uppercase; color:var(--muted); padding-top:3px; }
.info__v{ color:var(--text); font-size:15px; line-height:1.6; transition:color .3s; }
a.info__v:hover{ color:var(--amber); }
.info__v a{ border-bottom:1px solid var(--line-2); transition:color .3s, border-color .3s; }
.info__v a:hover{ color:var(--amber); border-color:var(--amber); }
.map{ border-radius:var(--r); overflow:hidden; border:1px solid var(--line); filter:grayscale(1) invert(.92) contrast(.85); }
.map iframe{ display:block; }

.form{ padding:clamp(26px,3.2vw,40px); display:grid; gap:16px; }
.form__row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field{ position:relative; display:block; }
.field input,.field textarea,.field select{
  width:100%; padding:20px 16px 9px; border-radius:var(--r-sm);
  background:rgba(255,255,255,.035); border:1px solid var(--line);
  color:var(--text); font-size:15px; transition:border-color .35s, background .35s;
  -webkit-appearance:none; appearance:none;
}
.field select{ padding-top:22px; cursor:pointer; background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%); background-position:calc(100% - 21px) 24px, calc(100% - 15px) 24px; background-size:6px 6px,6px 6px; background-repeat:no-repeat; }
.field select option{ background:#14171C; color:var(--text); }
.field textarea{ resize:vertical; min-height:118px; padding-top:24px; }
.field input:focus,.field textarea:focus,.field select:focus{ outline:none; border-color:rgba(245,166,35,.55); background:rgba(245,166,35,.05); }
.field > span:not(.field__static),.field__static{
  position:absolute; left:17px; top:15px; font-size:15px; color:var(--muted);
  pointer-events:none; transition:transform .3s var(--ease), font-size .3s var(--ease), color .3s;
  transform-origin:left top;
}
.field__static{ transform:translateY(-8px) scale(.76); color:var(--amber); }
.field input:focus + span,.field textarea:focus + span,
.field input:not(:placeholder-shown) + span,.field textarea:not(:placeholder-shown) + span{
  transform:translateY(-8px) scale(.76); color:var(--amber);
}
.form__note{ font-size:12.4px; color:var(--muted); text-align:center; line-height:1.5; }
.form__note.is-err{ color:#FF8A80; }
.form__note.is-ok{ color:#5FE29A; }

/* ---------- FOOTER ---------- */
.ftr{ border-top:1px solid var(--line); background:linear-gradient(180deg,var(--ink-2),var(--ink)); padding-top:clamp(52px,6vw,80px); }
.ftr__grid{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:40px 32px; padding-bottom:52px; }
.ftr__brand p{ color:var(--muted); font-size:13.6px; line-height:1.75; margin-top:20px; }
.ftr__col{ display:flex; flex-direction:column; gap:11px; }
.ftr__col h4{ font-size:11.6px; letter-spacing:.17em; text-transform:uppercase; color:var(--amber); margin-bottom:6px; font-weight:600; }
.ftr__col a{ color:var(--text-2); font-size:14.2px; transition:color .3s, transform .35s var(--ease); }
.ftr__col a:hover{ color:var(--amber); transform:translateX(3px); }
.ftr__bar{
  display:flex; flex-wrap:wrap; gap:10px 22px; justify-content:space-between;
  border-top:1px solid var(--line); padding-block:22px calc(24px + env(safe-area-inset-bottom));
  font-size:12.6px; color:var(--muted);
}

/* ---------- FAB ---------- */
.fab{
  position:fixed; right:18px; z-index:800; width:52px; height:52px; border-radius:50%;
  display:grid; place-items:center; box-shadow:0 14px 34px -10px rgba(0,0,0,.7);
  transition:transform .5s var(--ease), opacity .45s, visibility .45s;
}
.fab:hover{ transform:translateY(-4px) scale(1.05); }
.fab--wa{ bottom:calc(18px + env(safe-area-inset-bottom)); background:#25D366; color:#08210F; }
.fab--wa svg{ width:28px; height:28px; fill:currentColor; }
.fab--top{
  bottom:calc(80px + env(safe-area-inset-bottom));
  background:rgba(20,23,28,.85); border:1px solid var(--line-2); color:var(--text);
  backdrop-filter:blur(10px); opacity:0; visibility:hidden;
}
.fab--top.is-on{ opacity:1; visibility:visible; }
.fab--top svg{ width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* ---------- MODAL ---------- */
.modal{ position:fixed; inset:0; z-index:1000; visibility:hidden; pointer-events:none; }
.modal.is-open{ visibility:visible; pointer-events:auto; }
.modal__bg{ position:absolute; inset:0; background:rgba(4,5,7,.8); backdrop-filter:blur(10px); opacity:0; transition:opacity .5s var(--ease); }
.modal.is-open .modal__bg{ opacity:1; }
.modal__panel{
  position:absolute; inset:auto 0 0 0; max-height:94svh;
  background:var(--ink-2); border-top:1px solid var(--line);
  border-radius:var(--r-lg) var(--r-lg) 0 0;
  transform:translateY(100%); transition:transform .7s var(--ease);
  display:flex; flex-direction:column;
}
.modal.is-open .modal__panel{ transform:none; }
@media (min-width:900px){
  .modal__panel{
    inset:50% auto auto 50%; transform:translate(-50%,-46%) scale(.97);
    width:min(1080px,92vw); max-height:88vh; border-radius:var(--r-lg); border:1px solid var(--line);
    opacity:0; transition:transform .7s var(--ease), opacity .5s var(--ease);
  }
  .modal.is-open .modal__panel{ transform:translate(-50%,-50%); opacity:1; }
}
.modal__x{
  position:absolute; top:14px; right:14px; z-index:5; width:42px; height:42px; border-radius:50%;
  display:grid; place-items:center; background:rgba(10,12,15,.7); border:1px solid var(--line-2);
  backdrop-filter:blur(10px); transition:background .35s, transform .45s var(--ease);
}
.modal__x:hover{ background:var(--amber); color:#0A0B0D; transform:rotate(90deg); }
.modal__x svg{ width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; }
.modal__scroll{ overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }

.mhead{ position:relative; width:100%; height:clamp(210px, 36svh, 400px); overflow:hidden; background:#0E1116; }
.mhead img{ width:100%; height:100%; object-fit:cover; }
.mhead::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 40%,rgba(13,15,19,.96)); }
.mhead__txt{ position:absolute; z-index:2; left:0; right:0; bottom:0; padding:clamp(20px,3vw,34px); }
.mhead__tag{
  display:inline-block; font-size:10.6px; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  padding:6px 12px; border-radius:999px; margin-bottom:12px;
  background:linear-gradient(100deg,var(--amber-soft),var(--amber)); color:#0A0B0D;
}
.mhead__tag--done{ background:rgba(255,255,255,.1); color:var(--text); border:1px solid var(--line-2); }
.mhead h3{ font-family:"Sora",sans-serif; font-size:clamp(23px,3.6vw,40px); font-weight:600; letter-spacing:-.03em; line-height:1.08; }
.mhead__loc{ color:var(--amber); font-size:13px; letter-spacing:.09em; text-transform:uppercase; margin-top:9px; }

.mbody{ padding:clamp(22px,3vw,36px); }
.mbody > p{ color:var(--text-2); font-size:15.4px; line-height:1.78; max-width:72ch; }
.mfacts{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:26px 0 30px; }
.mfacts div{ border:1px solid var(--line); border-radius:var(--r-sm); padding:16px 18px; background:rgba(255,255,255,.028); }
.mfacts dt{ font-size:11px; letter-spacing:.13em; text-transform:uppercase; color:var(--muted); margin-bottom:6px; }
.mfacts dd{ margin:0; font-family:"Sora",sans-serif; font-size:15.5px; font-weight:600; letter-spacing:-.01em; }
.mgal__t{ font-size:11.6px; letter-spacing:.17em; text-transform:uppercase; color:var(--amber); margin-bottom:14px; }
.mgal{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
.mgal button{ border-radius:var(--r-sm); overflow:hidden; aspect-ratio:1; border:1px solid var(--line); background:#0E1116; }
.mgal img{ width:100%; height:100%; object-fit:cover; transition:transform .7s var(--ease), filter .5s; filter:brightness(.86); }
.mgal button:hover img{ transform:scale(1.09); filter:brightness(1.05); }
.mcta{ display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; padding-top:26px; border-top:1px solid var(--line); }

/* ---------- LIGHTBOX ---------- */
.lbox{ position:fixed; inset:0; z-index:1100; background:rgba(3,4,6,.96); display:grid; place-items:center; visibility:hidden; opacity:0; transition:opacity .4s var(--ease), visibility .4s; }
.lbox.is-open{ visibility:visible; opacity:1; }
.lbox__fig{ margin:0; padding:clamp(16px,4vw,52px); max-width:100%; max-height:100%; }
.lbox__fig img{ max-width:min(1200px,92vw); max-height:78svh; object-fit:contain; border-radius:var(--r-sm); }
.lbox__fig figcaption{ text-align:center; color:var(--muted); font-size:12.6px; margin-top:14px; letter-spacing:.06em; }
.lbox__x,.lbox__nav{
  position:absolute; z-index:3; width:46px; height:46px; border-radius:50%;
  display:grid; place-items:center; background:rgba(255,255,255,.07); border:1px solid var(--line-2);
  color:var(--text); transition:background .35s, color .35s, transform .4s var(--ease);
}
.lbox__x:hover,.lbox__nav:hover{ background:var(--amber); color:#0A0B0D; }
.lbox__x{ top:18px; right:18px; }
.lbox__nav--prev{ left:14px; top:50%; transform:translateY(-50%); }
.lbox__nav--next{ right:14px; top:50%; transform:translateY(-50%); }
.lbox__nav--prev:hover{ transform:translateY(-50%) scale(1.08); }
.lbox__nav--next:hover{ transform:translateY(-50%) scale(1.08); }
.lbox svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

/* ---------- REVEAL ---------- */
/* Giriş animasyonu yalnızca JS varken. JS yoksa içerik doğrudan görünür —
   ön-basılan proje kartları opacity:0 yüzünden görünmez kalıyordu. */
.reveal{ opacity:1; transform:none; }
.js .reveal{ opacity:0; transform:translateY(26px); transition:opacity .95s var(--ease), transform .95s var(--ease); }
.reveal.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion: reduce){
  .reveal, .js .reveal{ opacity:1; transform:none; transition:none; }
  .hero__title .line > span{ transform:none; animation:none !important; }
  .preloader__mark{ animation:none; }
  *,*::before,*::after{ animation-duration:.01ms !important; transition-duration:.01ms !important; }
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1100px){
  .svc__grid,.team__grid,.news__grid,.proj__grid{ grid-template-columns:repeat(2,1fr); }
  .nav{ display:none; }
}

@media (max-width:980px){
  .about__grid{ grid-template-columns:1fr; }
  .about__media{ order:-1; min-height:min(96vw,460px); }
  .cta__grid{ grid-template-columns:1fr; }
  .ftr__grid{ grid-template-columns:1fr 1fr; }
}

@media (max-width:880px){
  :root{ --hdr-h:66px; }
  .hdr__cta{ display:none; }
  .burger{ display:flex; }
  .hero__stats{ grid-template-columns:repeat(2,1fr); }
  .hero__scroll{ display:none; }
  .mfacts{ grid-template-columns:1fr; }
  .mgal{ grid-template-columns:repeat(3,1fr); }
  .proc__item{ grid-template-columns:1fr; gap:12px; }
  .proc__no{ font-size:34px; }
}

@media (max-width:640px){
  body{ font-size:15.5px; }
  .svc__grid,.team__grid,.news__grid,.proj__grid{ grid-template-columns:1fr; }
  .form__row{ grid-template-columns:1fr; }
  .ftr__grid{ grid-template-columns:1fr; gap:34px; }
  .info li{ grid-template-columns:1fr; gap:5px; }
  .hero{ min-height:100svh; align-items:center; padding-top:calc(var(--hdr-h) + 40px); }
  .hero__vig{ background:
    linear-gradient(180deg, rgba(8,9,11,.62) 0%, rgba(8,9,11,.34) 28%, rgba(8,9,11,.5) 56%, rgba(8,9,11,.95) 100%); }
  .hero__title{ max-width:none; }
  .hero__stats .stat{ padding:16px 14px; }
  .hero__stats span{ font-size:11px; }
  .about__img--a{ width:80%; }
  .about__img--b{ width:52%; bottom:-4%; }
  .about__badge{ width:84px; height:84px; left:0; top:4%; }
  .about__badge b{ font-size:27px; }
  .btn--lg{ padding:15px 24px; font-size:14.5px; }
  .hero__acts .btn{ flex:1 1 auto; }
  .mgal{ grid-template-columns:repeat(2,1fr); }
  .lbox__nav{ width:40px; height:40px; }
  .fab{ width:48px; height:48px; }
}

@media (max-width:400px){
  .brand__txt b{ font-size:14.5px; letter-spacing:.1em; }
  .brand__txt i{ font-size:7.6px; }
  .hero__eyebrow{ font-size:10px; letter-spacing:.18em; padding:7px 12px; }
}

/* dokunmatik cihazlarda hover efektlerini kapat */
@media (hover:none){
  .card:hover{ transform:none; }
  .pcard:hover .pcard__media img{ transform:none; }
  .card__glow{ display:none; }
}

/* ---------- KISA EKRANLAR (yatay telefon / küçük dizüstü) ---------- */
@media (max-height:820px) and (min-width:641px){
  .hero{ padding-top:calc(var(--hdr-h) + 28px); padding-bottom:28px; }
  .hero__eyebrow{ margin-bottom:16px; }
  .hero__title{ font-size:clamp(30px,4.4vw,52px); margin-bottom:16px; }
  .hero__sub{ margin-bottom:22px; font-size:15px; }
  .hero__acts{ margin-bottom:26px; }
  .hero__stats .stat{ padding:14px 16px; }
  .hero__stats b{ font-size:26px; margin-bottom:4px; }
  .hero__stats span{ font-size:10.8px; }
  .hero__scroll{ display:none; }
}
@media (max-height:680px){
  .hero__stats{ display:none; }
}

/* ==========================================================================
   SOHBET BALONU (assets/js/chat.js tarafından oluşturulur)
   ========================================================================== */
/* Genişlik açıkça verilmeli: sadece right verilip width:auto bırakılınca
   konteyner sayfa genişliğine yayılıyordu. column-reverse paneli balonun
   ÜSTÜNE alır (DOM sırası balon-önce, erişilebilirlik için öyle kalsın). */
.chat{
  /* Mevcut yuvarlak butonlar (.fab) 52px, right:18px, z-index:800:
     WhatsApp 18..70, yukarı-çık 80..132. Sohbet onların üstünde başlamalı,
     ayrıca panel .fab'ların altında kalmasın diye z-index daha yüksek. */
  position:fixed; right:18px; left:auto; z-index:900; font-size:15px;
  bottom:calc(142px + env(safe-area-inset-bottom));
  width:min(360px, calc(100vw - 36px));
  display:flex; flex-direction:column-reverse; align-items:flex-end; gap:12px;
}
@media (max-width:600px){
  .chat{ right:14px; bottom:calc(138px + env(safe-area-inset-bottom)); width:calc(100vw - 28px); }
  .chat__panel{ height:min(420px, 60vh); }
}

.chat__fab{
  width:56px; height:56px; flex:none; display:grid; place-items:center;
  border-radius:50%; background:var(--amber); color:var(--ink);
  box-shadow:var(--shadow-amber); transition:transform .25s var(--ease);
}
.chat__fab:hover{ transform:scale(1.06); }
.chat__fab:focus-visible{ outline:2px solid var(--amber-soft); outline-offset:3px; }

.chat__panel{
  width:100%; height:min(480px,70vh);
  display:flex; flex-direction:column; overflow:hidden;
  background:var(--surface); border:1px solid var(--line-2);
  border-radius:var(--r); box-shadow:var(--shadow);
}
.chat__panel[hidden]{ display:none; }

.chat__hdr{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px; border-bottom:1px solid var(--line);
  font-weight:600; font-size:14px;
}
.chat__x{ font-size:22px; line-height:1; color:var(--muted); padding:0 4px; }
.chat__x:hover{ color:var(--text); }

.chat__log{ flex:1; overflow-y:auto; padding:14px; display:flex; flex-direction:column; gap:10px; }

.chat__msg{
  max-width:85%; padding:10px 13px; border-radius:14px;
  font-size:14px; line-height:1.55; white-space:pre-wrap; word-break:break-word;
}
.chat__msg--bot{ align-self:flex-start; background:var(--surface-2); border:1px solid var(--line); border-bottom-left-radius:4px; }
.chat__msg--me{ align-self:flex-end; background:var(--amber); color:var(--ink); border-bottom-right-radius:4px; }
.chat__msg.is-typing{ color:var(--muted); letter-spacing:3px; animation:chatPulse 1.2s ease-in-out infinite; }
@keyframes chatPulse{ 0%,100%{ opacity:.4 } 50%{ opacity:1 } }
@media (prefers-reduced-motion: reduce){ .chat__msg.is-typing{ animation:none } .chat__fab{ transition:none } }

.chat__form{ display:flex; gap:8px; padding:12px; border-top:1px solid var(--line); }
.chat__in{
  flex:1; min-width:0; padding:10px 12px; font-size:14px;
  background:var(--ink-2); border:1px solid var(--line-2); border-radius:10px;
}
.chat__in:focus{ outline:none; border-color:rgba(245,166,35,.6); }
.chat__send{
  width:40px; display:grid; place-items:center; flex:none;
  background:var(--amber); color:var(--ink); border-radius:10px;
}

/* Ekran okuyucuya açık, görsel olarak gizli. Proje detayları modalda JS ile
   gösteriliyor; bu blok aynı içeriği ekran okuyuculara ve JS çalıştırmayan
   tarayıcılara (yapay zekâ crawler'ları dahil) ulaştırır. */
.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}
