/* ============================================================
   fuuy mimarlık — 02 / TERRA  ·  Organik Sıcak
   kum · kil · terrakota · kemerler · güneş gölgeleri
   ============================================================ */

/* 1 — Değişkenler */

:root {
  --sand:#f7f0e4; --cream:#efe3d2; --terracotta:#a94f2e;
  --terracotta-d:#8c4024; --clay:#d99b72; --clay-soft:#e4c3a0;
  --olive:#6f7250; --ink:#33291f; --ink-soft:#5d5142;
  --footer:#3a3426; --paper:#fffaf1;
  --line:rgba(51,41,31,.16); --line-soft:rgba(51,41,31,.09);
  --terra-line:rgba(189,95,60,.32);
  --shadow-soft:0 18px 44px -26px rgba(51,41,31,.5);
  --shadow-lift:0 30px 60px -26px rgba(140,68,38,.55);
  --shadow-card:0 12px 34px -22px rgba(51,41,31,.45);
  --serif:Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  --mono:ui-monospace,"Cascadia Mono",Consolas,monospace;
  --wrap:1200px; --pad:clamp(1.25rem,5vw,4rem); --header-h:84px;
  --radius-lg:30px; --radius-md:22px;
  --ease:cubic-bezier(.22,.7,.28,1);
  --ease-soft:cubic-bezier(.4,0,.2,1);
}

/* 2 — Sıfırlama & temel */

*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; overflow-x:clip; }
body,h1,h2,h3,h4,p,ul,ol,li,figure,blockquote,form,fieldset { margin:0; padding:0; }
ul,ol { list-style:none; }
body {
  background-color:var(--sand); color:var(--ink);
  font-family:var(--sans); font-size:1rem; line-height:1.78;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  /* hafif kum / gren dokusu */
  background-image:
    radial-gradient(ellipse 46% 40% at 10% 6%,rgba(217,155,114,.13),transparent 70%),
    radial-gradient(ellipse 40% 36% at 92% 30%,rgba(189,95,60,.07),transparent 72%),
    radial-gradient(ellipse 60% 40% at 46% 96%,rgba(111,114,80,.06),transparent 76%);
}

img,svg { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; color:inherit; }
input,select,textarea { accent-color:var(--terracotta); }
section[id],main[id] { scroll-margin-top:calc(var(--header-h) + 14px); }

/* 3 — Yardımcılar */

.wrap { width:min(calc(100% - var(--pad) * 2),var(--wrap)); margin-inline:auto; }
.section { position:relative; padding-block:clamp(4.25rem,8.5vw,8.5rem); }
.section--sand {
  background-color:var(--sand);
  background-image:
    radial-gradient(ellipse 38% 44% at 88% 12%,rgba(217,155,114,.16),transparent 72%),
    radial-gradient(ellipse 30% 30% at 6% 88%,rgba(189,95,60,.07),transparent 74%);
}

.section--cream {
  background-color:var(--cream);
  background-image:
    radial-gradient(ellipse 42% 38% at 12% 10%,rgba(255,250,241,.6),transparent 72%),
    radial-gradient(ellipse 34% 36% at 92% 92%,rgba(217,155,114,.13),transparent 72%);
}

/* Kemer formu — tasarımın karakteristiği */

.arch { overflow:hidden; border-radius:50% 50% 12px 12px / 32% 32% 12px 12px; }
:focus-visible { outline:3px solid var(--terracotta); outline-offset:3px; border-radius:6px; }
.skip-link {
  position:absolute; top:-120px; left:1rem; z-index:300;
  padding:.75rem 1.4rem; border-radius:999px;
  background:var(--ink); color:var(--sand);
  font-size:.9rem; font-weight:600; transition:top .22s var(--ease);
}

.skip-link:focus { top:1rem; }
.display { font-family:var(--serif); font-weight:400; line-height:1.07; letter-spacing:-.012em; text-wrap:balance; }
.display em { font-style:italic; color:var(--terracotta); }
.kicker,.eyebrow {
  font-size:.72rem; font-weight:700; line-height:1.5;
  letter-spacing:.17em; text-transform:uppercase; color:var(--olive);
}

.lede { max-width:46ch; font-size:clamp(1.02rem,1.35vw,1.18rem); line-height:1.85; color:var(--ink-soft); }
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  padding:.95rem 1.75rem; border:1.5px solid transparent; border-radius:999px;
  font-size:.9rem; font-weight:600; line-height:1; letter-spacing:.005em;
  white-space:nowrap; cursor:pointer;
  transition:transform .32s var(--ease),box-shadow .32s var(--ease),
             background-color .32s var(--ease-soft),border-color .32s var(--ease-soft),color .32s var(--ease-soft);
}

.btn--pill { border-radius:999px; }
.btn--solid { background-color:var(--terracotta); color:#fff8ee; box-shadow:0 14px 28px -16px rgba(163,79,46,.9); }
.btn--solid:hover { background-color:var(--terracotta-d); transform:translateY(-3px); box-shadow:0 20px 34px -16px rgba(163,79,46,.95); }
.btn--ghost { background:transparent; border-color:rgba(51,41,31,.32); color:var(--ink); }
.btn--ghost:hover { border-color:var(--terracotta); color:var(--terracotta); transform:translateY(-3px); }
.btn--header { padding:.72rem 1.4rem; background-color:var(--terracotta); color:#fff8ee; font-size:.85rem; box-shadow:0 10px 22px -14px rgba(163,79,46,.8); }
.btn--header:hover { background-color:var(--terracotta-d); transform:translateY(-2px); }
.text-link {
  display:inline-flex; align-items:center; gap:.4rem;
  padding-bottom:2px; border-bottom:1px solid var(--terra-line);
  font-size:.86rem; font-weight:600; color:var(--terracotta);
  transition:gap .3s var(--ease),border-color .3s var(--ease);
}

.text-link:hover { gap:.75rem; border-color:var(--terracotta); }
/* Dalgalı bölüm ayırıcıları */

.wave { display:block; width:100%; height:clamp(46px,6.5vw,92px); margin-block:-1px; }
.wave path { fill:var(--wave-fill,var(--cream)); }
.wave--a { background:var(--sand);  --wave-fill:var(--cream); }
.wave--b { background:var(--cream); --wave-fill:var(--sand); }
.wave--c { background:var(--sand);  --wave-fill:var(--cream); }
.wave--d { background:var(--cream); --wave-fill:#ecd6ba; }
.wave--e { background:var(--clay);  --wave-fill:var(--footer); }

/* 4 — İmza motifi: güneşin bir kemerden düşürdüğü gölge */

.motif { position:relative; flex:none; width:120px; height:86px; }
.motif__halo { position:absolute; top:0; right:0; width:84px; height:84px; border:1px dashed rgba(189,95,60,.45); border-radius:50%; }
.motif__sun {
  position:absolute; top:12px; right:20px; width:42px; height:42px; border-radius:50%;
  background:radial-gradient(circle at 34% 30%,#eec094,var(--terracotta));
  box-shadow:0 0 0 7px rgba(217,155,114,.2);
}

.motif__arch {
  position:absolute; left:4px; bottom:4px; width:66px; height:60px;
  border:2px solid var(--terracotta); border-bottom:0;
  border-radius:999px 999px 0 0; opacity:.82;
}

.motif__arch::after {
  content:""; position:absolute; inset:10px 12px 0;
  border:1.5px solid rgba(189,95,60,.45); border-bottom:0;
  border-radius:999px 999px 0 0;
}

.motif__shadow {
  position:absolute; left:10px; bottom:-12px; width:96px; height:22px;
  clip-path:polygon(0 0,100% 0,86% 100%,0 100%);
  background:repeating-linear-gradient(100deg,rgba(111,114,80,.34) 0 2px,transparent 2px 9px);
  transform:skewX(-18deg); transition:transform .6s var(--ease);
}

/* :hover ile gölge hafifçe kayar */

.section-head:hover .motif__shadow,
.motif:hover .motif__shadow,
.project-card:hover .svg-shadow,
.svg-shadow { transition:transform .6s var(--ease); }

/* 5 — Header & navigasyon */

.site-header {
  position:sticky; top:0; z-index:60;
  background-color:rgba(247,240,228,.95); border-bottom:1px solid var(--line);
  transition:background-color .35s var(--ease-soft),border-color .35s var(--ease-soft),box-shadow .35s var(--ease-soft);
}

.site-header.is-scrolled {
  background-color:rgba(247,240,228,.74); border-bottom-color:rgba(51,41,31,.1);
  box-shadow:0 12px 32px -22px rgba(51,41,31,.7);
}

.header-inner {
  min-height:var(--header-h); display:grid; grid-template-columns:1fr auto 1fr;
  align-items:center; gap:clamp(1rem,3vw,2.5rem);
}

.brand { justify-self:start; display:inline-flex; align-items:center; flex:none; width:72px; height:72px; line-height:1; overflow:hidden; border-radius:50%; }
.brand__logo {
  display:block; flex:none; width:100%; height:100%; padding:0;
  border:0; border-radius:0;
  background:transparent; object-fit:cover; object-position:center;
  box-shadow:none; transform:scale(1.27);
}
.primary-nav { justify-self:center; }
.primary-nav ul { display:flex; align-items:center; gap:clamp(.9rem,2.1vw,2rem); }
.primary-nav a { position:relative; display:block; padding:.55rem .1rem; font-size:.88rem; font-weight:550; color:var(--ink-soft); transition:color .28s var(--ease-soft); }
.primary-nav a::after {
  content:""; position:absolute; left:0; right:0; bottom:.2rem; height:1.5px;
  background:var(--terracotta); transform:scaleX(0); transform-origin:left center;
  transition:transform .32s var(--ease);
}

.primary-nav a:hover { color:var(--terracotta); }
.primary-nav a:hover::after { transform:scaleX(1); }
.btn--header { justify-self:end; }
/* Hamburger — CSS-only checkbox (JS'siz de çalışır) */

.nav-toggle { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.nav-toggle-btn {
  display:none; align-items:center; gap:.6rem; padding:.6rem .9rem;
  border:1.5px solid var(--line); border-radius:999px; cursor:pointer;
  user-select:none; background:rgba(255,250,241,.6);
  transition:border-color .3s var(--ease),background .3s var(--ease);
}

.nav-toggle-btn:hover { border-color:var(--terracotta); }
.nav-toggle:focus-visible ~ .nav-toggle-btn { outline:3px solid var(--terracotta); outline-offset:3px; }
.nav-toggle-btn__text { font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); }
.burger { display:grid; gap:4px; width:20px; }
.burger span { display:block; height:1.8px; border-radius:2px; background:var(--ink); transition:transform .3s var(--ease),opacity .25s var(--ease); }
.nav-toggle:checked ~ .nav-toggle-btn .burger span:nth-child(1) { transform:translateY(5.8px) rotate(45deg); }
.nav-toggle:checked ~ .nav-toggle-btn .burger span:nth-child(2) { opacity:0; }
.nav-toggle:checked ~ .nav-toggle-btn .burger span:nth-child(3) { transform:translateY(-5.8px) rotate(-45deg); }

/* 6 — Hero */

.hero {
  position:relative; display:grid; align-items:center; isolation:isolate; overflow:hidden;
  min-height:calc(100vh - var(--header-h)); min-height:calc(100svh - var(--header-h));
  padding-block:clamp(4rem,8vh,7rem); background:#28251f;
}

.hero__video { position:absolute; z-index:-2; inset:0; overflow:hidden; background:#28251f; pointer-events:none; }
.hero__video-frame {
  position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover;
  z-index:0; opacity:0; transform:scale(1.06);
  transition:opacity 1.8s cubic-bezier(.4,0,.2,1);
}
.hero__video-frame.is-active { z-index:1; opacity:1; will-change:opacity,transform; }
.hero__video-frame.is-entering { z-index:2; }
.hero__video-frame.is-active[data-motion="zoom-in"] { animation:hero-zoom-in 6.2s linear both; }
.hero__video-frame.is-active[data-motion="zoom-out"] { animation:hero-zoom-out 6.2s linear both; }
.hero__video-frame.is-active[data-motion="pan-left"] { animation:hero-pan-left 6.2s linear both; }
.hero__video-frame.is-active[data-motion="pan-right"] { animation:hero-pan-right 6.2s linear both; }
@keyframes hero-zoom-in { from { transform:scale(1); } to { transform:scale(1.12); } }
@keyframes hero-zoom-out { from { transform:scale(1.14); } to { transform:scale(1.04); } }
@keyframes hero-pan-left { from { transform:scale(1.1) translateX(1.5%); } to { transform:scale(1.1) translateX(-1.5%); } }
@keyframes hero-pan-right { from { transform:scale(1.1) translateX(-1.5%); } to { transform:scale(1.1) translateX(1.5%); } }
.hero__video-overlay {
  position:absolute; z-index:-1; inset:0;
  background:linear-gradient(90deg,rgba(25,25,22,.78) 0%,rgba(25,25,22,.58) 48%,rgba(25,25,22,.2) 100%),
             linear-gradient(0deg,rgba(25,25,22,.36),transparent 48%,rgba(25,25,22,.2));
  pointer-events:none;
}
.hero__grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1fr); align-items:center; }
.hero__copy { position:relative; min-width:0; max-width:780px; }
.hero .eyebrow { color:rgba(255,250,241,.82); }
.hero__title { margin-block:1.3rem 1.5rem; font-size:clamp(3rem,6.6vw,5.6rem); max-width:14ch; }
.hero .hero__title { color:#fffaf1; }
.hero .hero__title em { display:inline-block; color:#efb087; }
.hero .lede { color:rgba(255,250,241,.84); }
.hero__cta { display:flex; flex-wrap:wrap; gap:.85rem; margin-top:2.1rem; }
.hero__meta {
  display:flex; flex-wrap:wrap; align-items:center; gap:.6rem 1.4rem;
  margin-top:2.8rem; padding-top:1.4rem; border-top:1px solid rgba(255,250,241,.3);
  font-family:var(--mono); font-size:.7rem; letter-spacing:.06em; color:rgba(255,250,241,.78);
}

.hero__meta-accent { font-family:var(--serif); font-style:italic; font-size:.95rem; letter-spacing:0; color:#efb087; }
.hero .btn--ghost { border-color:rgba(255,250,241,.68); color:#fffaf1; }
.hero .btn--ghost:hover { border-color:#fffaf1; background:rgba(255,250,241,.1); color:#fffaf1; }

/* 7 — Bölüm başlıkları */

.section-head { display:block; margin-bottom:clamp(2rem,4vw,3rem); }
.section-head__text { min-width:0; max-width:100%; }
.section-head__text::after {
  content:""; display:block; width:100%; height:1px; margin-top:clamp(1.25rem,2.5vw,1.8rem);
  background:linear-gradient(90deg,var(--terra-line),rgba(189,95,60,0) 82%);
}
.section-head__title { margin-top:1rem; font-size:clamp(2.3rem,4.8vw,4rem); }
.section-head__sub { margin-top:1.1rem; font-size:1.05rem; color:var(--ink-soft); }
.section-head--light .kicker { color:var(--terracotta-d); }
.section-head--light .section-head__sub { color:#5b4634; }
.section-head--light .display em { color:var(--terracotta-d); }

/* 8 — Hakkımızda */

.about__grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,300px) minmax(0,1fr); align-items:center; gap:clamp(1.75rem,4vw,3.5rem); }
.about__col { min-width:0; }
.about__col p { color:var(--ink-soft); line-height:1.9; }
.about__col p + p { margin-top:1.35rem; }
.about-logo { width:100%; max-width:340px; margin-top:1.65rem; padding:.35rem 0; }
.about-logo svg { width:100%; height:auto; overflow:visible; }
/* Ortadaki büyük daire alıntı */

.about__quote {
  position:relative; display:grid; place-content:center; gap:.85rem;
  aspect-ratio:1; padding:clamp(1.75rem,3vw,2.5rem); text-align:center; border-radius:50%;
  background:radial-gradient(circle at 30% 22%,rgba(255,250,241,.96),transparent 62%),
             linear-gradient(150deg,#f7f0e4 0%,#efe3d2 72%,#e9d5bd 100%);
  border:1px solid rgba(169,79,46,.24); overflow:hidden;
  box-shadow:0 18px 38px -28px rgba(51,41,31,.38),inset 0 0 0 8px rgba(255,250,241,.58);
}

.about__quote-sun { position:absolute; top:12%; right:14%; width:34%; aspect-ratio:1; border-radius:50%; background:rgba(189,95,60,.08); }
.about__quote blockquote { position:relative; font-family:var(--serif); font-style:italic; font-size:clamp(1rem,1.5vw,1.22rem); line-height:1.6; color:var(--ink); }
.about__quote figcaption { position:relative; font-size:.68rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--terracotta-d); }
/* İstatistikler — daire içinde rakam */

.stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(1rem,2.6vw,2.2rem); margin-top:clamp(3.5rem,6vw,5.5rem); }
.stat { display:grid; justify-items:center; gap:1rem; text-align:center; }
.stat__disc {
  display:grid; place-items:center; width:clamp(96px,11vw,132px); aspect-ratio:1; border-radius:50%;
  background:rgba(255,250,241,.6); border:1px solid var(--terra-line);
  box-shadow:inset 0 0 0 7px rgba(247,240,228,.7),var(--shadow-card);
  transition:transform .4s var(--ease),border-color .4s var(--ease);
}

.stat:hover .stat__disc { transform:translateY(-5px) rotate(-4deg); border-color:var(--terracotta); }
.stat__num { font-family:var(--serif); font-size:clamp(2.2rem,3.6vw,3rem); line-height:1; color:var(--terracotta); }
.stat__label { font-size:.8rem; font-weight:600; letter-spacing:.04em; color:var(--ink-soft); }
/* Süreç — aşama kartları ve her adımın somut çıktısı */

.process-wrap { margin-top:clamp(4rem,7vw,6.5rem); padding-top:clamp(2.5rem,4vw,3.5rem); border-top:1px solid var(--line); }
.process__intro { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:end; gap:2rem; margin-bottom:2rem; }
.process__heading { font-family:var(--serif); font-size:clamp(1.6rem,2.8vw,2.2rem); font-weight:400; line-height:1.2; }
.process__heading span { color:var(--terracotta); font-style:italic; }
.process__intro > p { max-width:64ch; color:var(--ink-soft); font-size:.96rem; line-height:1.8; }
.process { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.process__step {
  min-width:0; display:grid; grid-template-columns:42px minmax(0,1fr); align-content:start; gap:.9rem;
  padding:1.45rem 1.25rem; border:1px solid var(--line-soft); border-radius:20px;
  background:rgba(255,250,241,.58); box-shadow:var(--shadow-card);
  transition:transform .35s var(--ease),border-color .35s var(--ease),background-color .35s var(--ease-soft),box-shadow .35s var(--ease);
}
.process__step:hover { transform:translateY(-4px); border-color:var(--terra-line); background:rgba(255,250,241,.86); box-shadow:var(--shadow-soft); }
.process__node {
  display:grid; place-items:center; width:40px; height:40px; border-radius:50%;
  background:var(--cream); border:1px solid var(--terra-line);
  font-family:var(--mono); font-size:.7rem; font-weight:700; color:var(--terracotta-d);
  transition:transform .35s var(--ease),background .35s var(--ease),color .35s var(--ease);
}
.process__step:hover .process__node { transform:rotate(-7deg); background:var(--terracotta); color:#fff8ee; }
.process__content { min-width:0; }
.process__content h4 { margin:.15rem 0 .6rem; font-family:var(--sans); font-size:clamp(1rem,1.25vw,1.1rem); font-weight:650; letter-spacing:-.015em; line-height:1.45; text-wrap:balance; }
.process__content > p { font-size:.9rem; line-height:1.8; color:var(--ink-soft); }
.process__note { max-width:90ch; margin:1.2rem 0 0 auto; font-size:.75rem; line-height:1.7; color:var(--ink-soft); }

/* 9 — Projeler */

.projects__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1.5rem,3.2vw,3rem) clamp(1.25rem,2.6vw,2.4rem); }
.project-card { min-width:0; }
.project-card__visual {
  position:relative; aspect-ratio:4/5; background:var(--clay-soft);
  border:1px solid rgba(189,95,60,.22); box-shadow:var(--shadow-card);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s var(--ease);
}

.project-card__visual svg { width:100%; height:100%; transition:transform .7s var(--ease); }
.project-card__num {
  position:absolute; top:27%; right:1rem; z-index:4;
  display:grid; place-items:center; width:36px; height:36px; border-radius:50%;
  border:1px solid rgba(255,250,241,.6); background:rgba(51,41,31,.72); color:#fffaf1;
  font-family:var(--mono); font-size:.65rem; font-weight:700; letter-spacing:.06em;
}

.project-card:hover .project-card__visual { transform:translateY(-8px) scale(1.014); border-color:var(--terracotta); box-shadow:var(--shadow-lift); }
.project-card:hover .project-card__visual svg { transform:scale(1.065); }
.project-card__cat {
  position:absolute; top:27%; left:1rem; z-index:4; display:inline-flex; align-items:center; gap:.5rem;
  max-width:calc(100% - 4.75rem); padding:.62rem .9rem; border:1px solid rgba(255,250,241,.55);
  border-radius:7px 18px 18px 18px; background:var(--terracotta); color:#fffaf1;
  box-shadow:0 10px 24px -13px rgba(51,41,31,.8);
  font-size:.74rem; font-weight:750; letter-spacing:.055em; line-height:1.25;
  text-transform:uppercase;
}
.project-card__cat::before {
  content:""; display:block; flex:none; width:7px; height:7px; border-radius:50%;
  background:var(--clay-soft); box-shadow:0 0 0 3px rgba(255,250,241,.16);
}
.project-card__action {
  position:absolute; right:.8rem; bottom:.8rem; z-index:3;
  display:flex; align-items:center; gap:.55rem; max-width:calc(100% - 1.6rem);
  padding:.35rem .45rem .35rem .8rem; border:1px solid rgba(255,250,241,.72); border-radius:999px;
  background:rgba(255,250,241,.88); color:var(--terracotta-d); backdrop-filter:blur(8px);
  font-size:.7rem; font-weight:700; letter-spacing:.01em; white-space:nowrap;
  transition:background-color .3s var(--ease-soft),color .3s var(--ease-soft),border-color .3s var(--ease-soft),transform .3s var(--ease);
}
.project-card__action span { display:grid; place-items:center; flex:none; width:25px; height:25px; border-radius:50%; background:var(--terracotta); color:#fff8ee; font-size:.85rem; transition:transform .3s var(--ease),background-color .3s var(--ease-soft); }
.project-card__action:hover { transform:translateY(-2px); border-color:var(--terracotta); background:var(--terracotta); color:#fff8ee; }
.project-card__action:hover span { transform:rotate(45deg); background:var(--terracotta-d); }

/* Ana sayfadaki proje fotoğrafları için tam ekran galeri */
.project-lightbox:not([open]) { display:none; }
.project-lightbox[open] {
  position:fixed; inset:0; display:grid; grid-template-rows:minmax(0,1fr);
  width:100vw; height:100vh; height:100dvh; max-width:none; max-height:none; margin:0; padding:0;
  overflow:hidden; border:0; border-radius:0; background:#171512; color:var(--paper);
}
.project-lightbox::backdrop { background:#171512; }
.lightbox__close { position:absolute; top:clamp(.75rem,2vw,1.5rem); right:clamp(.75rem,2vw,1.5rem); z-index:3; display:grid; place-items:center; width:46px; height:46px; border:1px solid rgba(255,250,241,.45); border-radius:50%; background:rgba(33,30,26,.72); color:var(--paper); font-size:1.8rem; line-height:1; cursor:pointer; transition:background .25s,color .25s,transform .25s; }
.lightbox__close:hover { transform:rotate(90deg); background:var(--terracotta); color:#fff8ee; }
.lightbox__stage { position:relative; min-width:0; min-height:0; overflow:hidden; background:#171512; }
.lightbox__image { position:absolute; inset:0; display:block; width:100%; height:100%; max-width:none; max-height:none; object-fit:contain; object-position:center; opacity:1; transition:opacity .28s var(--ease-soft); user-select:none; -webkit-user-drag:none; }
.lightbox__image.is-changing { opacity:.15; }
.lightbox__arrow { position:absolute; top:50%; display:grid; place-items:center; width:54px; height:54px; transform:translateY(-50%); border:1px solid rgba(255,250,241,.35); border-radius:50%; background:rgba(33,30,26,.68); color:var(--paper); font-size:2rem; line-height:1; cursor:pointer; transition:background .25s,border-color .25s,transform .25s; }
.lightbox__arrow:hover { border-color:var(--clay); background:var(--terracotta); }
.lightbox__arrow--prev { left:clamp(.65rem,2vw,1.5rem); }
.lightbox__arrow--next { right:clamp(.65rem,2vw,1.5rem); }
.lightbox__arrow--prev:hover { transform:translate(-3px,-50%); }
.lightbox__arrow--next:hover { transform:translate(3px,-50%); }
@media (max-width:620px) { .lightbox__arrow { width:44px; height:44px; } .lightbox__close { width:42px; height:42px; } }

/* 10 — Hizmetler */

.services__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(1.15rem,2.4vw,2rem); }
.service {
  position:relative; min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:.9rem;
  padding:clamp(1.6rem,3vw,2.4rem); border-radius:var(--radius-lg);
  background:rgba(255,250,241,.5); border:1px solid var(--line-soft); box-shadow:var(--shadow-card);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),background-color .4s var(--ease-soft),border-color .4s var(--ease);
}

.service:hover { transform:translateY(-6px); background:rgba(255,250,241,.82); border-color:var(--terra-line); box-shadow:var(--shadow-soft); }
.service__num { align-self:flex-end; font-family:var(--mono); font-size:.7rem; font-weight:700; letter-spacing:.14em; color:var(--clay); }
.service__icon {
  display:grid; place-items:center; width:66px; height:66px; border-radius:50%;
  background:var(--sand); border:1px dashed var(--terra-line);
  box-shadow:inset 0 0 0 5px rgba(239,227,210,.75);
  transition:transform .45s var(--ease),background .45s var(--ease);
}

.service:hover .service__icon { transform:rotate(-8deg) scale(1.06); background:#fbead6; }
.service__icon svg { width:38px; height:38px; fill:none; stroke:var(--terracotta); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.service h3 { font-family:var(--serif); font-size:clamp(1.25rem,1.8vw,1.5rem); font-weight:400; line-height:1.25; }
.service p { font-size:.9rem; line-height:1.75; color:var(--ink-soft); }

/* 11 — İletişim */

.section--contact { background-color:#ecd6ba; background-image:linear-gradient(180deg,#ecd6ba 0%,#e6c39d 52%,var(--clay) 100%); }
.contact__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:clamp(1.25rem,3vw,2.5rem); }
.contact__info,.contact-frame {
  min-width:0; padding:clamp(1.2rem,2.5vw,2rem);
  border:1px solid rgba(140,64,36,.2); border-radius:var(--radius-lg);
  background:rgba(255,250,241,.3); box-shadow:var(--shadow-card);
}
.contact__info { display:flex; flex-direction:column; }
.info-list { display:grid; gap:1.4rem; }
.info-list li { display:flex; align-items:flex-start; gap:1rem; }
.info-list__icon { flex:none; display:grid; place-items:center; width:50px; height:50px; border-radius:50%; background:rgba(255,250,241,.62); border:1px solid rgba(189,95,60,.3); }
.info-list__icon svg { width:26px; height:26px; fill:none; stroke:var(--terracotta-d); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.info-list h3 { font-size:.7rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--terracotta-d); }
.info-list p { margin-top:.15rem; font-size:.95rem; line-height:1.65; color:var(--ink); }
.info-list a { border-bottom:1px solid rgba(163,79,46,.4); transition:color .25s var(--ease),border-color .25s var(--ease); }
.info-list a:hover { color:var(--terracotta-d); border-color:var(--terracotta-d); }
.socials { margin-top:auto; padding-top:2rem; }
.socials__label { margin-bottom:.9rem; font-size:.7rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--terracotta-d); }
.socials ul { display:flex; flex-wrap:wrap; gap:.65rem; }
.socials a {
  display:grid; place-items:center; width:44px; height:44px; border-radius:50%;
  background:rgba(255,250,241,.6); border:1px solid rgba(189,95,60,.35); color:var(--terracotta-d);
  transition:transform .35s var(--ease),background .35s var(--ease),color .35s var(--ease);
}

.socials a:hover { transform:translateY(-4px) rotate(-6deg); background:var(--terracotta); color:#fff8ee; border-color:var(--terracotta); }
.socials svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
/* İletişim formu, iletişim bilgileriyle aynı yüzey dilini paylaşır. */
.contact-frame {
  position:relative;
}

.contact-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem 1.1rem; }
.contact-form__intro { grid-column:1/-1; margin-bottom:.35rem; text-align:left; font-family:var(--serif); font-size:clamp(1.3rem,2vw,1.7rem); color:var(--ink-soft); }
.contact-form__intro em { font-style:italic; color:var(--terracotta); }
.contact-form__intro::after { content:""; display:block; width:46px; height:2px; margin-top:.75rem; border-radius:2px; background:var(--terracotta); }
.field { display:grid; gap:.4rem; min-width:0; }
.field--wide { grid-column:1/-1; }
.field label { font-size:.76rem; font-weight:700; letter-spacing:.06em; color:var(--ink); }
.field input,.field select,.field textarea {
  width:100%; min-width:0; padding:.82rem 1.15rem;
  border:1.5px solid rgba(140,64,36,.2); border-radius:999px; background:rgba(255,250,241,.48);
  font-size:.92rem; line-height:1.5;
  transition:border-color .3s var(--ease-soft),box-shadow .3s var(--ease-soft),background-color .3s var(--ease-soft);
}

.field textarea { border-radius:var(--radius-md); resize:vertical; min-height:110px; }
.field input::placeholder,.field textarea::placeholder { color:rgba(93,81,66,.55); }
.field input:hover,.field select:hover,.field textarea:hover { border-color:rgba(189,95,60,.55); }
.field input:focus,.field select:focus,.field textarea:focus { outline:none; border-color:var(--terracotta); box-shadow:0 0 0 4px rgba(189,95,60,.15); background:#fffdf8; }
.field select {
  appearance:none; padding-right:2.5rem;
  background-image:linear-gradient(45deg,transparent 50%,var(--terracotta) 50%),linear-gradient(135deg,var(--terracotta) 50%,transparent 50%);
  background-position:calc(100% - 22px) 52%,calc(100% - 16px) 52%;
  background-size:6px 6px,6px 6px; background-repeat:no-repeat;
}

.contact-form__submit { grid-column:1/-1; justify-self:start; min-width:210px; margin-top:.2rem; }
.form-note[hidden] { display:none; }
.form-note {
  grid-column:1/-1; margin-top:1rem; padding:.9rem 1.25rem; border-radius:var(--radius-md);
  background:rgba(111,114,80,.13); border:1px solid rgba(111,114,80,.35);
  font-family:var(--serif); font-style:italic; font-size:.98rem; line-height:1.6;
  text-align:center; color:#4d5334; animation:note-in .45s var(--ease) both;
}

@keyframes note-in { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }

/* 12 — Footer */

.site-footer {
  background-color:var(--footer); color:var(--cream);
  padding-top:clamp(2.5rem,5vw,4rem);
  background-image:radial-gradient(ellipse 40% 60% at 8% 0%,rgba(111,114,80,.35),transparent 74%),
                   radial-gradient(ellipse 36% 50% at 96% 100%,rgba(189,95,60,.16),transparent 76%);
}

.footer__grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,1.1fr) auto; gap:clamp(2rem,4vw,3.5rem); padding-bottom:clamp(2.5rem,5vw,4rem); }
.footer__logo-crop { width:112px; height:112px; overflow:hidden; border-radius:50%; }
.footer__logo {
  display:block; width:100%; height:100%; padding:0; border:0; border-radius:0;
  background:transparent; object-fit:cover; object-position:center; transform:scale(1.27);
}
.footer__slogan { margin-top:.65rem; font-family:var(--serif); font-style:italic; font-size:1.2rem; color:var(--clay); }
.footer__desc { margin-top:1.3rem; max-width:32ch; font-size:.88rem; line-height:1.8; color:rgba(239,227,210,.68); }
.footer__nav h2,.footer__contact h2 { margin-bottom:1.1rem; font-size:.7rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--clay); }
.footer__nav ul { display:grid; gap:.55rem; }
.footer__nav a { font-size:.9rem; color:rgba(239,227,210,.82); transition:color .25s var(--ease),padding-left .25s var(--ease); }
.footer__nav a:hover { color:var(--clay); padding-left:.3rem; }
.footer__contact p { font-size:.88rem; line-height:1.85; color:rgba(239,227,210,.8); }
.footer__contact a { border-bottom:1px solid rgba(217,155,114,.35); }
.footer__contact a:hover { color:var(--clay); border-color:var(--clay); }
.footer__hours { margin-top:.7rem; color:rgba(239,227,210,.6) !important; }
.footer__seal { justify-self:end; align-self:center; }
.seal { width:clamp(110px,12vw,156px); height:auto; }
.footer__bottom {
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem;
  padding-block:1.4rem; border-top:1px solid rgba(239,227,210,.16);
  font-size:.78rem; color:rgba(239,227,210,.62);
}

.footer__bottom a { color:var(--clay); font-weight:600; transition:transform .3s var(--ease); }
.footer__bottom a:hover { transform:translateY(-3px); }

/* 13 — Giriş animasyonları (CSS-only, JS gerektirmez) */

@media (prefers-reduced-motion:no-preference) {
  .hero__copy > * { animation:rise .85s var(--ease) both; }
  .hero__copy > :nth-child(1) { animation-delay:.04s; }
  .hero__copy > :nth-child(2) { animation-delay:.12s; }
  .hero__copy > :nth-child(3) { animation-delay:.2s; }
  .hero__copy > :nth-child(4) { animation-delay:.28s; }
  .hero__copy > :nth-child(5) { animation-delay:.36s; }
  .motif__sun { animation:sun-breathe 7s ease-in-out infinite; }
}

@keyframes rise { from { opacity:0; transform:translateY(20px); } to { opacity:1; transform:translateY(0); } }
@keyframes sun-breathe { 0%,100% { box-shadow:0 0 0 7px rgba(217,155,114,.2); } 50% { box-shadow:0 0 0 12px rgba(217,155,114,.1); } }

/* 14 — Responsive / 1100px */

@media (max-width:1100px) {
  :root { --header-h:76px; }
  .primary-nav ul { gap:1rem; }
  .primary-nav a { font-size:.82rem; }
  .btn--header { padding:.65rem 1.1rem; font-size:.8rem; }
  .about__grid { grid-template-columns:minmax(0,1fr) minmax(190px,250px) minmax(0,1fr); gap:1.5rem; }
  .process { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .projects__grid,.services__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer__grid { grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(0,1fr); }
  .footer__seal { grid-column:1/-1; justify-self:start; margin-top:1rem; }
}

/* 15 — Responsive / 768px (mobil menü + tek kolon) */

@media (max-width:768px) {
  :root { --header-h:70px; }
  .header-inner { grid-template-columns:1fr auto; gap:0; padding-block:.55rem; }
  .nav-toggle-btn { display:inline-flex; justify-self:end; }
  .btn--header { display:none; }
  .brand,.brand__logo { width:56px; height:56px; }
  .primary-nav {
    grid-column:1/-1; justify-self:stretch; display:none; margin-top:.75rem; padding:.75rem;
    border:1px solid var(--terra-line); border-radius:0 0 var(--radius-lg) var(--radius-lg);
    background:rgba(255,250,241,.97); box-shadow:var(--shadow-soft);
  }
  .nav-toggle:checked ~ .primary-nav { display:block; animation:nav-in .3s var(--ease) both; }
  @keyframes nav-in { from { opacity:0; transform:translateY(-8px); } to { opacity:1; transform:translateY(0); } }
  .primary-nav ul { flex-direction:column; align-items:stretch; gap:0; }
  .primary-nav li + li { border-top:1px solid var(--line-soft); }
  .primary-nav a { padding:.85rem .6rem; font-size:.95rem; }
  .primary-nav a::after { display:none; }
  .hero { padding-block:clamp(3.5rem,8vh,5rem); }
  .hero__grid { grid-template-columns:minmax(0,1fr); gap:0; }
  .hero__title { max-width:16ch; }
  .motif { transform:scale(.82); transform-origin:right center; }
  .about__grid { grid-template-columns:minmax(0,1fr); gap:2rem; }
  .about__quote { width:min(100%,290px); margin-inline:auto; order:-1; }
  .about-logo { max-width:320px; }
  .stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.8rem 1rem; }
  .process__intro { grid-template-columns:minmax(0,1fr); gap:.8rem; }
  .process { grid-template-columns:minmax(0,1fr); gap:.8rem; }
  .projects__grid,.services__grid { grid-template-columns:minmax(0,1fr); }
  .project-card__visual { max-width:420px; }
  .project-card { max-width:480px; }
  .contact__grid { grid-template-columns:minmax(0,1fr); gap:2.75rem; }
  .contact-frame { max-width:none; margin:0; width:100%; }
  .footer__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .footer__brand { grid-column:1/-1; }
  .footer__seal { grid-column:1/-1; justify-self:start; }
}

/* 16 — Responsive / 480px */

@media (max-width:480px) {
  :root { --pad:1.15rem; }
  .nav-toggle-btn__text { display:none; }
  .eyebrow,.kicker { font-size:.65rem; letter-spacing:.13em; }
  .hero__title { font-size:clamp(2.5rem,12vw,3.3rem); }
  .hero__cta { flex-direction:column; align-items:stretch; }
  .hero__cta .btn { width:100%; }
  .hero__meta { gap:.45rem 1rem; font-size:.64rem; }
  .motif { align-self:flex-end; transform:scale(.7); margin-top:-1.5rem; }
  .section-head__title { font-size:clamp(2rem,9vw,2.6rem); }
  .about__quote { width:min(100%,250px); padding:1.6rem; }
  .stats { gap:1.4rem .5rem; }
  .contact__info,.contact-frame { padding:1.1rem; }
  .contact-form { grid-template-columns:minmax(0,1fr); }
  .field--wide { grid-column:auto; }
  .footer__grid { grid-template-columns:minmax(0,1fr); gap:2rem; }
  .footer__brand,.footer__seal { grid-column:auto; }
  .footer__bottom { flex-direction:column; align-items:flex-start; }
  .wave { height:48px; }
}

/* 17 — Hareket azaltma */

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after {
    animation-duration:.001ms !important; animation-iteration-count:1 !important;
    transition-duration:.001ms !important; scroll-behavior:auto !important;
  }
}

/* ================================================================== */
/* GERÇEK FOTOĞRAFLAR — yerel WebP, sıfır harici istek                 */
/* ================================================================== */
img.photo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .7s var(--ease, ease);
}
.project-card__visual img.photo {
  object-fit: cover;
  object-position: center;
}
.photo-band {
  margin: clamp(2rem, 5vw, 3.6rem) 0;
  overflow: hidden;
}
.photo-band img.photo { height: clamp(220px, 32vw, 400px); }
.hero__shot {
  height: clamp(170px, 19vw, 270px);
  width: 100%;
  object-fit: cover;
  margin-bottom: 1.1rem;
}
.card:hover img.photo,
.project-card:hover img.photo,
.proj:hover img.photo,
.project:hover img.photo,
.card-link:hover img.photo { transform: scale(1.045); }

.arch img.photo { border-radius: inherit; }
.project-card__visual img.photo { transition: transform .7s var(--ease); }
.project-card:hover .project-card__visual img.photo { transform: scale(1.065); }
.photo-band { border-radius: 30px; }

/* Sayfalar arası yumuşak çıkış ve giriş */
body.page-enter { animation:site-page-enter .38s var(--ease) both; }
body.page-leave { opacity:0; transform:translateY(-5px); transition:opacity .18s ease,transform .18s ease; }
@keyframes site-page-enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }

/* Scroll ile zarifçe görünür olan içerikler */
.motion-reveal { opacity:0; transform:translateY(18px); transition:opacity .65s var(--ease),transform .65s var(--ease); transition-delay:var(--motion-delay,0ms); }
.motion-reveal.is-visible { opacity:1; transform:translateY(0); }
.service.motion-reveal.is-visible:hover { transform:translateY(-6px); }
.process__step.motion-reveal.is-visible:hover { transform:translateY(-4px); }
.catalog-card.motion-reveal.is-visible:hover { transform:translateY(-5px); }
@media (prefers-reduced-motion:reduce) {
  .motion-reveal,.motion-reveal.is-visible { opacity:1; transform:none; transition:none; }
  body.page-enter,body.page-leave { animation:none; opacity:1; transform:none; transition:none; }
}
