/* ============================================================
   Özgüntur İnşaat — tasarım sistemi
   Palet: Antalya traverteni (sıcak taş) · Akdeniz petrol yeşili · pirinç
   ============================================================ */
:root{
  --stone:      #E7E0D2;   /* travertine – ana açık zemin */
  --stone-2:    #DED5C3;   /* biraz koyu taş */
  --paper:      #F5F1E8;   /* kağıt */
  --ink:        #1C1B17;   /* neredeyse siyah, sıcak */
  --ink-soft:   #45423A;   /* yumuşak metin */
  --petrol:     #124B45;   /* Akdeniz petrol yeşili – ana koyu */
  --petrol-2:   #0C332F;   /* daha koyu petrol */
  --brass:      #A67C43;   /* pirinç aksan */
  --brass-2:    #C79A5A;   /* açık pirinç */
  --line:       rgba(28,27,23,.14);
  --line-light: rgba(245,241,232,.18);

  --f-display: "Unbounded", system-ui, sans-serif;
  --f-body:    "Manrope", system-ui, sans-serif;
  --f-mono:    "Space Mono", ui-monospace, monospace;

  --pad: clamp(20px, 5vw, 88px);
  --maxw: 1440px;
  --r: 2px;
  --ease: cubic-bezier(.22,.61,.36,1);
}
html[dir="rtl"]{ --f-display:"Cairo",system-ui,sans-serif; --f-body:"Cairo",system-ui,sans-serif; }

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--f-body); color:var(--ink); background:var(--stone);
  line-height:1.55; font-size:17px; font-weight:400;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; border:none; background:none; color:inherit; }
::selection{ background:var(--petrol); color:var(--paper); }

/* ---- tipografi ---- */
.display{ font-family:var(--f-display); font-weight:500; line-height:1.02; letter-spacing:-.02em; }
h1,h2,h3{ font-family:var(--f-display); font-weight:500; line-height:1.05; letter-spacing:-.02em; }
.mono{ font-family:var(--f-mono); font-weight:400; letter-spacing:.02em; }
.kicker{
  font-family:var(--f-mono); font-size:12px; font-weight:400;
  letter-spacing:.22em; text-transform:uppercase; color:var(--brass);
}
html[dir="rtl"] .kicker,html[dir="rtl"] .mono{ letter-spacing:normal; }

.container{ max-width:var(--maxw); margin:0 auto; padding-inline:var(--pad); }
.section{ padding-block:clamp(64px,10vw,150px); }

/* ============================================================ HEADER */
.hdr{
  position:fixed; inset:0 0 auto 0; z-index:60;
  display:flex; align-items:center; justify-content:space-between;
  padding:16px var(--pad); gap:24px;
  transition:background .4s var(--ease), padding .4s var(--ease), box-shadow .4s var(--ease);
  color:var(--paper);
}
.hdr.scrolled{ background:var(--paper); color:var(--ink); padding:11px var(--pad); box-shadow:0 1px 0 var(--line); }
.brand{ display:flex; align-items:center; }
.brand .logo{ height:42px; width:auto; display:block; }
.brand .logo-color{ display:none; }
.hdr.scrolled .brand .logo-white{ display:none; }
.hdr.scrolled .brand .logo-color{ display:block; }
.nav{ display:flex; align-items:center; gap:34px; margin-inline-start:auto; }
.nav a{ font-size:14.5px; font-weight:500; position:relative; padding-block:6px; letter-spacing:.01em; }
.nav a::after{ content:""; position:absolute; left:0; bottom:0; width:0; height:1.5px; background:var(--brass); transition:width .35s var(--ease); }
.nav a:hover::after,.nav a.active::after{ width:100%; }
.hdr-right{ display:flex; align-items:center; gap:18px; }
.lang{ display:flex; align-items:center; gap:2px; font-family:var(--f-mono); font-size:12px; }
.lang button{ padding:5px 7px; opacity:.55; transition:opacity .25s, color .25s; text-transform:uppercase; }
.lang button.active{ opacity:1; color:var(--brass); }
.lang button:hover{ opacity:1; }
.lang .sep{ opacity:.3; }
.hdr .call{
  display:inline-flex; align-items:center; gap:8px; font-size:13.5px; font-weight:600;
  border:1px solid currentColor; padding:9px 16px; border-radius:100px; transition:.3s var(--ease);
}
.hdr.scrolled .call:hover{ background:var(--petrol); border-color:var(--petrol); color:var(--paper); }
.hdr:not(.scrolled) .call:hover{ background:var(--paper); border-color:var(--paper); color:var(--ink); }
.burger{ display:none; width:30px; height:20px; position:relative; }
.burger span{ position:absolute; left:0; width:100%; height:2px; background:currentColor; transition:.3s var(--ease); }
.burger span:nth-child(1){ top:0; } .burger span:nth-child(2){ top:9px; } .burger span:nth-child(3){ top:18px; }

/* ============================================================ HERO */
.hero{ position:relative; min-height:100svh; display:flex; align-items:flex-end; color:var(--paper); overflow:hidden; }
.hero-media{ position:absolute; inset:0; z-index:0; }
.hero-media img,.hero-media video,video.hero-media{ width:100%; height:100%; object-fit:cover; }
.hero-media::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(12,26,24,.5) 0%, rgba(12,26,24,.12) 32%, rgba(12,26,24,.15) 55%, rgba(10,22,20,.86) 100%); }
.hero-inner{ position:relative; z-index:2; width:100%; padding-bottom:clamp(40px,7vw,86px); }
.hero .kicker{ color:var(--brass-2); margin-bottom:22px; opacity:0; animation:rise .9s var(--ease) .2s forwards; }
.hero h1{ font-size:clamp(42px,8.2vw,124px); font-weight:400; max-width:15ch; margin-bottom:26px; }
.hero h1 .ln{ display:block; overflow:hidden; }
.hero h1 .ln span{ display:block; transform:translateY(110%); animation:reveal 1.1s var(--ease) forwards; }
.hero h1 .ln:nth-child(1) span{ animation-delay:.28s; }
.hero h1 .ln:nth-child(2) span{ animation-delay:.4s; }
.hero h1 .ln:nth-child(3) span{ animation-delay:.52s; }
.hero-sub{ font-size:clamp(16px,1.5vw,20px); max-width:46ch; color:rgba(245,241,232,.9); font-weight:400; opacity:0; animation:rise .9s var(--ease) .7s forwards; }
.hero-actions{ margin-top:34px; display:flex; align-items:center; gap:22px; flex-wrap:wrap; opacity:0; animation:rise .9s var(--ease) .85s forwards; }
.btn{ display:inline-flex; align-items:center; gap:12px; font-weight:600; font-size:15px; border-radius:100px; padding:15px 26px; transition:.35s var(--ease); }
.btn-primary{ background:var(--brass); color:var(--ink); }
.btn-primary:hover{ background:var(--brass-2); transform:translateY(-2px); }
.btn-ghost{ border:1px solid rgba(245,241,232,.5); color:var(--paper); }
.btn-ghost:hover{ background:var(--paper); color:var(--ink); border-color:var(--paper); }
.btn .arw{ transition:transform .35s var(--ease); }
.btn:hover .arw{ transform:translateX(4px); }
html[dir="rtl"] .btn:hover .arw{ transform:translateX(-4px) scaleX(-1); }
html[dir="rtl"] .btn .arw{ transform:scaleX(-1); }

.hero-scroll{ position:absolute; z-index:2; bottom:30px; inset-inline-end:var(--pad);
  display:flex; align-items:center; gap:10px; font-family:var(--f-mono); font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:rgba(245,241,232,.75); }
.hero-scroll .bar{ width:1px; height:40px; background:rgba(245,241,232,.4); position:relative; overflow:hidden; }
.hero-scroll .bar::after{ content:""; position:absolute; inset:0; background:var(--brass-2); animation:scrolldot 2s var(--ease) infinite; }

/* ============================================================ STAT STRIP */
.stats{ background:var(--petrol); color:var(--paper); }
.stats .row{ display:grid; grid-template-columns:repeat(3,1fr); }
.stats .cell{ padding:clamp(30px,4vw,54px) var(--pad); border-inline-start:1px solid var(--line-light); }
.stats .cell:first-child{ border:none; }
.stats .num{ font-family:var(--f-display); font-size:clamp(38px,5vw,68px); font-weight:400; line-height:1; letter-spacing:-.03em; }
.stats .num .plus{ color:var(--brass-2); }
.stats .lbl{ margin-top:12px; font-size:14px; color:rgba(245,241,232,.72); }

/* ============================================================ FEATURED */
.sec-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:clamp(34px,5vw,66px); flex-wrap:wrap; }
.sec-head h2{ font-size:clamp(30px,4.4vw,60px); font-weight:400; }
.sec-head .kicker{ margin-bottom:14px; display:block; }
.link-arrow{ display:inline-flex; align-items:center; gap:10px; font-weight:600; font-size:15px; color:var(--petrol); border-bottom:1.5px solid transparent; padding-bottom:3px; transition:border-color .3s; }
.link-arrow:hover{ border-color:var(--brass); }
.link-arrow .arw{ transition:transform .3s var(--ease); }
.link-arrow:hover .arw{ transform:translateX(4px); }
html[dir="rtl"] .link-arrow .arw{ transform:scaleX(-1); }
html[dir="rtl"] .link-arrow:hover .arw{ transform:translateX(-4px) scaleX(-1); }

.feat-grid{ display:grid; grid-template-columns:repeat(12,1fr); gap:clamp(14px,1.6vw,24px); }
.feat-card{ position:relative; overflow:hidden; border-radius:var(--r); background:var(--stone-2); }
.feat-card.lg{ grid-column:span 7; } .feat-card.sm{ grid-column:span 5; }
.feat-card.full{ grid-column:span 12; }
.feat-card .ph{ position:relative; overflow:hidden; }
.feat-card.lg .ph{ aspect-ratio:16/11; } .feat-card.sm .ph{ aspect-ratio:16/11; }
.feat-card img{ width:100%; height:100%; object-fit:cover; transition:transform 1.1s var(--ease); }
.feat-card:hover img{ transform:scale(1.05); }
.feat-card .ph::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 45%,rgba(12,26,24,.72)); opacity:.9; }
.feat-card .cap{ position:absolute; z-index:2; inset:auto 0 0 0; padding:clamp(20px,2.4vw,34px); color:var(--paper); }
.feat-card .cap .loc{ font-family:var(--f-mono); font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--brass-2); margin-bottom:9px; }
.feat-card .cap h3{ font-size:clamp(21px,2.4vw,34px); font-weight:500; }
.feat-card .tags{ display:flex; gap:7px; margin-top:13px; flex-wrap:wrap; }
.tag{ font-family:var(--f-mono); font-size:11.5px; padding:5px 10px; border:1px solid rgba(245,241,232,.4); border-radius:100px; color:rgba(245,241,232,.92); }

/* ============================================================ ABOUT split */
.about{ background:var(--paper); }
.about .split{ display:grid; grid-template-columns:1.05fr 1fr; align-items:stretch; gap:0; }
.about .txt{ padding:clamp(48px,7vw,110px) clamp(30px,5vw,84px); display:flex; flex-direction:column; justify-content:center; }
.about .txt h2{ font-size:clamp(30px,4vw,54px); font-weight:400; margin:16px 0 24px; }
.about .txt p{ color:var(--ink-soft); max-width:48ch; margin-bottom:30px; }
.about .img{ position:relative; overflow:hidden; min-height:420px; }
.about .img img{ width:100%; height:100%; object-fit:cover; }
.about .img .stamp{ position:absolute; inset-block-start:24px; inset-inline-end:24px; background:var(--petrol); color:var(--paper);
  font-family:var(--f-mono); font-size:12px; letter-spacing:.1em; padding:10px 16px; border-radius:100px; }

/* ============================================================ PROJECTS PAGE */
.page-hero{ background:var(--petrol); color:var(--paper); padding-top:clamp(120px,15vw,190px); padding-bottom:clamp(50px,7vw,90px); }
.page-hero h1{ font-size:clamp(38px,7vw,96px); font-weight:400; }
.page-hero .lead{ margin-top:22px; max-width:52ch; color:rgba(245,241,232,.82); font-size:clamp(16px,1.4vw,19px); }

.controls{ position:sticky; top:0; z-index:40; background:var(--stone); border-bottom:1px solid var(--line);
  display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px var(--pad); flex-wrap:wrap; }
.tabs{ display:flex; gap:6px; background:var(--stone-2); padding:5px; border-radius:100px; }
.tabs button{ font-weight:600; font-size:14px; padding:10px 20px; border-radius:100px; color:var(--ink-soft); transition:.3s var(--ease); white-space:nowrap; }
.tabs button.active{ background:var(--petrol); color:var(--paper); }
.filters{ display:flex; gap:8px; flex-wrap:wrap; }
.filters button{ font-family:var(--f-mono); font-size:12.5px; padding:8px 15px; border:1px solid var(--line); border-radius:100px; color:var(--ink-soft); transition:.25s var(--ease); }
.filters button.active,.filters button:hover{ border-color:var(--petrol); color:var(--petrol); }

.grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(14px,1.8vw,28px); padding-block:clamp(34px,5vw,64px); }
.card{ display:block; position:relative; overflow:hidden; border-radius:var(--r); background:var(--stone-2); opacity:0; transform:translateY(24px); }
.card.in{ animation:rise .7s var(--ease) forwards; }
.card .ph{ position:relative; aspect-ratio:4/3.15; overflow:hidden; }
.card img{ width:100%; height:100%; object-fit:cover; transition:transform 1s var(--ease); }
.card:hover img{ transform:scale(1.06); }
.card .ph::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 48%,rgba(12,26,24,.78)); }
.card .idx{ position:absolute; z-index:2; inset-block-start:14px; inset-inline-start:14px; font-family:var(--f-mono); font-size:12px; color:rgba(245,241,232,.85); background:rgba(12,26,24,.35); backdrop-filter:blur(4px); padding:4px 9px; border-radius:100px; }
.card .cap{ position:absolute; z-index:2; inset:auto 0 0 0; padding:clamp(16px,1.8vw,24px); color:var(--paper); }
.card .cap .loc{ font-family:var(--f-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:var(--brass-2); margin-bottom:7px; }
.card .cap h3{ font-size:clamp(18px,1.7vw,23px); font-weight:500; line-height:1.1; }
.card .meta{ display:flex; align-items:center; gap:10px; margin-top:11px; flex-wrap:wrap; }
.card .units{ display:flex; gap:5px; flex-wrap:wrap; }
.card .units span{ font-family:var(--f-mono); font-size:10.5px; padding:3px 8px; border:1px solid rgba(245,241,232,.38); border-radius:100px; }
.card .pc{ font-family:var(--f-mono); font-size:11px; color:rgba(245,241,232,.6); margin-inline-start:auto; }

.empty{ text-align:center; padding:clamp(60px,10vw,130px) var(--pad); }
.empty .ic{ width:64px; height:64px; margin:0 auto 26px; color:var(--brass); }
.empty h3{ font-size:clamp(24px,3vw,38px); font-weight:400; margin-bottom:14px; }
.empty p{ color:var(--ink-soft); max-width:44ch; margin:0 auto 28px; }

/* ============================================================ DETAIL */
.detail-hero{ position:relative; height:78svh; min-height:520px; display:flex; align-items:flex-end; color:var(--paper); overflow:hidden; }
.detail-hero img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.detail-hero::after{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(12,26,24,.42) 0,transparent 30%,rgba(10,22,20,.85)); }
.detail-hero .inner{ position:relative; z-index:2; width:100%; padding-bottom:clamp(34px,5vw,64px); }
.detail-hero .back{ display:inline-flex; align-items:center; gap:9px; font-size:14px; font-weight:600; margin-bottom:26px; opacity:.9; }
.detail-hero .back:hover{ opacity:1; }
html[dir="rtl"] .detail-hero .back svg{ transform:scaleX(-1); }
.detail-hero .loc{ font-family:var(--f-mono); font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--brass-2); margin-bottom:14px; }
.detail-hero h1{ font-size:clamp(38px,6.5vw,90px); font-weight:400; }

.detail-meta{ background:var(--petrol); color:var(--paper); }
.detail-meta .row{ display:grid; grid-template-columns:repeat(3,1fr); }
.detail-meta .cell{ padding:clamp(26px,3.4vw,44px) var(--pad); border-inline-start:1px solid var(--line-light); }
.detail-meta .cell:first-child{ border:none; }
.detail-meta .k{ font-family:var(--f-mono); font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--brass-2); margin-bottom:12px; }
.detail-meta .v{ font-size:clamp(17px,1.5vw,21px); font-weight:600; }
.detail-meta .v .u{ display:inline-block; font-family:var(--f-mono); font-size:13px; font-weight:400; border:1px solid rgba(245,241,232,.4); border-radius:100px; padding:3px 10px; margin:3px 4px 0 0; }
html[dir="rtl"] .detail-meta .v .u{ margin:3px 0 0 4px; }

.gallery-sec{ padding-block:clamp(44px,6vw,90px); }
.gallery{ display:block; }
.gal-section{ margin-bottom:clamp(36px,5vw,64px); }
.gal-grid{ columns:3; column-gap:clamp(12px,1.4vw,20px); }
.gallery figure,.gal-grid figure,
.gallery .gal-item,.gal-grid .gal-item{ display:block; break-inside:avoid; margin-bottom:clamp(12px,1.4vw,20px); overflow:hidden; border-radius:var(--r); background:var(--stone-2); cursor:zoom-in; position:relative; }
.gallery img,.gal-grid img{ width:100%; height:auto; display:block; transition:transform .9s var(--ease), opacity .6s; }
.gallery figure:hover img,.gal-grid figure:hover img,
.gallery .gal-item:hover img,.gal-grid .gal-item:hover img{ transform:scale(1.04); }
.video-wrap{ margin-bottom:clamp(30px,4vw,50px); }
.video-wrap video{ width:100%; border-radius:var(--r); background:#000; }

.pager{ display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); }
.pager a{ padding:clamp(28px,4vw,54px) var(--pad); transition:background .3s; }
.pager a:hover{ background:var(--stone-2); }
.pager a.next{ text-align:end; border-inline-start:1px solid var(--line); }
.pager .dir{ font-family:var(--f-mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--brass); margin-bottom:10px; }
.pager .nm{ font-family:var(--f-display); font-size:clamp(20px,2.4vw,32px); font-weight:500; }

/* ============================================================ CTA band */
.cta-band{ background:var(--ink); color:var(--paper); text-align:center; }
.cta-band h2{ font-size:clamp(28px,4vw,52px); font-weight:400; margin-bottom:16px; }
.cta-band p{ color:rgba(245,241,232,.7); margin-bottom:32px; max-width:44ch; margin-inline:auto; }

/* ============================================================ CONTACT */
.contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(30px,5vw,80px); align-items:start; }
.contact-info .kicker{ display:block; margin-bottom:16px; }
.contact-info h1{ font-size:clamp(34px,5vw,64px); font-weight:400; margin-bottom:20px; }
.contact-info .lead{ color:var(--ink-soft); max-width:42ch; margin-bottom:40px; }
.info-list{ display:flex; flex-direction:column; gap:2px; }
.info-item{ display:flex; gap:18px; padding:20px 0; border-top:1px solid var(--line); align-items:flex-start; }
.info-item .ic{ width:22px; height:22px; flex:0 0 auto; color:var(--brass); margin-top:2px; }
.info-item .k{ font-family:var(--f-mono); font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:5px; }
.info-item .v{ font-size:16.5px; font-weight:600; }
.info-item a.v:hover{ color:var(--petrol); }
.socials{ display:flex; gap:12px; margin-top:28px; }
.socials a{ width:44px; height:44px; border:1px solid var(--line); border-radius:50%; display:grid; place-items:center; transition:.3s var(--ease); }
.socials a:hover{ background:var(--petrol); border-color:var(--petrol); color:var(--paper); }

.form{ background:var(--paper); padding:clamp(28px,3.6vw,48px); border-radius:var(--r); border:1px solid var(--line); }
.field{ margin-bottom:20px; }
.field label{ display:block; font-family:var(--f-mono); font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:9px; }
.field input,.field textarea{ width:100%; font-family:var(--f-body); font-size:16px; color:var(--ink);
  background:var(--stone); border:1px solid var(--line); border-radius:var(--r); padding:14px 16px; transition:border-color .25s; }
.field input:focus,.field textarea:focus{ outline:none; border-color:var(--petrol); }
.field textarea{ resize:vertical; min-height:120px; }
.form .btn-primary{ width:100%; justify-content:center; background:var(--petrol); color:var(--paper); }
.form .btn-primary:hover{ background:var(--petrol-2); }
.form-msg{ margin-top:16px; font-size:14.5px; padding:14px 16px; border-radius:var(--r); display:none; }
.form-msg.ok{ display:block; background:rgba(18,75,69,.1); color:var(--petrol); border:1px solid rgba(18,75,69,.3); }
.form-msg.err{ display:block; background:rgba(166,60,43,.1); color:#a63c2b; border:1px solid rgba(166,60,43,.3); }
.map-embed{ margin-top:0; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; height:280px; }
.map-embed iframe{ width:100%; height:100%; border:0; filter:grayscale(.3) contrast(1.05); }

/* ============================================================ FOOTER */
.ft{ background:var(--ink); color:rgba(245,241,232,.72); padding-block:clamp(50px,6vw,80px) 30px; }
.ft-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; padding-bottom:48px; border-bottom:1px solid var(--line-light); }
.ft .brand{ color:var(--paper); margin-bottom:18px; }
.ft .brand .logo{ height:56px; width:auto; }
.hdr.scrolled .brand .logo{ height:38px; }
.ft-tag{ max-width:34ch; font-size:15px; }
.ft h4{ font-family:var(--f-mono); font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--brass-2); margin-bottom:18px; font-weight:400; }
.ft ul{ list-style:none; display:flex; flex-direction:column; gap:11px; }
.ft ul a:hover,.ft ul li a:hover{ color:var(--paper); }
.ft-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:26px; font-size:13px; flex-wrap:wrap; gap:12px; }
.ft-bottom .made{ font-family:var(--f-mono); font-size:11.5px; opacity:.6; }

/* ============================================================ LIGHTBOX */
.lb{ position:fixed; inset:0; z-index:100; background:rgba(10,18,17,.96); display:none; align-items:center; justify-content:center; }
.lb.open{ display:flex; }
.lb img{ max-width:92vw; max-height:88vh; object-fit:contain; border-radius:var(--r); }
.lb .x{ position:absolute; top:22px; inset-inline-end:26px; width:46px; height:46px; border-radius:50%; border:1px solid rgba(245,241,232,.3); color:var(--paper); display:grid; place-items:center; transition:.25s; }
.lb .x:hover{ background:rgba(245,241,232,.12); }
.lb .nav-btn{ position:absolute; top:50%; transform:translateY(-50%); width:54px; height:54px; border-radius:50%; border:1px solid rgba(245,241,232,.28); color:var(--paper); display:grid; place-items:center; transition:.25s; }
.lb .nav-btn:hover{ background:rgba(245,241,232,.12); }
.lb .prev{ inset-inline-start:26px; } .lb .next{ inset-inline-end:26px; }
.lb .count{ position:absolute; bottom:24px; left:50%; transform:translateX(-50%); font-family:var(--f-mono); font-size:13px; color:rgba(245,241,232,.75); }
html[dir="rtl"] .lb .prev svg,html[dir="rtl"] .lb .next svg{ transform:scaleX(-1); }

/* ============================================================ MOBILE MENU */
.mobile-menu{ position:fixed; inset:0; z-index:55; background:var(--petrol); color:var(--paper);
  transform:translateY(-100%); transition:transform .5s var(--ease); display:flex; flex-direction:column; justify-content:center; padding:var(--pad); }
.mobile-menu.open{ transform:translateY(0); }
.mobile-menu a{ font-family:var(--f-display); font-size:clamp(30px,9vw,52px); font-weight:400; padding:14px 0; border-bottom:1px solid var(--line-light); }
.mobile-menu .m-lang{ margin-top:40px; display:flex; gap:14px; font-family:var(--f-mono); }
.mobile-menu .m-lang button{ opacity:.6; } .mobile-menu .m-lang button.active{ opacity:1; color:var(--brass-2); }

/* ============================================================ ANIMATIONS */
@keyframes reveal{ to{ transform:translateY(0); } }
@keyframes rise{ from{ opacity:0; transform:translateY(24px); } to{ opacity:1; transform:translateY(0); } }
@keyframes scrolldot{ 0%{ transform:translateY(-100%); } 100%{ transform:translateY(100%); } }
.reveal{ opacity:0; transform:translateY(30px); transition:opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.in{ opacity:1; transform:translateY(0); }

/* ============================================================ RESPONSIVE */
@media (max-width:1024px){
  .feat-card.lg,.feat-card.sm{ grid-column:span 12; }
  .grid{ grid-template-columns:repeat(2,1fr); }
  .gal-grid{ columns:2; }
  .about .split{ grid-template-columns:1fr; }
  .about .img{ min-height:340px; order:-1; }
  .contact-grid{ grid-template-columns:1fr; }
  .ft-top{ grid-template-columns:1fr 1fr; }
}
@media (max-width:720px){
  .nav,.hdr .call{ display:none; }
  .burger{ display:block; }
  .stats .row,.detail-meta .row{ grid-template-columns:1fr; }
  .stats .cell,.detail-meta .cell{ border-inline-start:none; border-top:1px solid var(--line-light); }
  .stats .cell:first-child,.detail-meta .cell:first-child{ border-top:none; }
  .grid{ grid-template-columns:1fr; }
  .gal-grid{ columns:1; }
  .pager{ grid-template-columns:1fr; }
  .pager a.next{ border-inline-start:none; border-top:1px solid var(--line); }
  .ft-top{ grid-template-columns:1fr; gap:32px; }
  .lang{ display:none; }
}
@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.01ms!important; transition-duration:.01ms!important; }
  .hero h1 .ln span{ transform:none; }
}

/* ---- proje/görsel yokken (boş durum) ---- */
.hero-media--empty{ background:linear-gradient(135deg,var(--petrol-2) 0%,var(--petrol) 55%,#1a5f57 100%); }
.about .img--empty{ background:linear-gradient(135deg,var(--petrol) 0%,var(--petrol-2) 100%); }
.about .img--empty img{ display:none; }

/* ---- kategorili galeri ---- */
.gal-cat{ font-family:var(--f-display); font-size:18px; font-weight:500; color:var(--petrol); margin-bottom:20px; padding-bottom:8px; border-bottom:2px solid var(--line-light); text-align:center; letter-spacing:.02em; }

/* ============================================================ PROJE KONUM HARİTASI */
.project-map{ padding-bottom:clamp(44px,6vw,90px); }
.project-map .gal-cat{ margin-bottom:24px; }
.map-frame{ border-radius:var(--r); overflow:hidden; background:var(--stone-2); line-height:0; }
.map-hit{ display:block; position:relative; cursor:pointer; }
.map-frame iframe{ width:100%; height:clamp(280px,42vw,460px); border:0; display:block; pointer-events:none; }
.map-link{ display:inline-flex; align-items:center; gap:10px; margin-top:18px; font-weight:500; color:var(--petrol); border-bottom:1px solid var(--line-light); padding-bottom:4px; transition:gap .3s var(--ease), border-color .3s; }
.map-link:hover{ gap:16px; border-color:var(--brass); }
