/* =========================================================
   TOHUM DANIŞMANLIK — stil dosyası
   Renk paleti ofis fotoğraflarından alınmıştır (kiremit duvar,
   yosun yeşili panel, hardal minderler, sıcak ahşap tonları).
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=Work+Sans:wght@400;500;600&display=swap');

:root{
  --ink:        #2c2a22;
  --ink-soft:   #57543f;
  --paper:      #f3eee1;
  --paper-high: #faf7ee;
  --moss:       #3d4a34;
  --moss-deep:  #2b3526;
  --clay:       #ab5236;
  --clay-deep:  #8a4029;
  --mustard:    #d3a03f;
  --line:       #d8cfb8;
  --white:      #ffffff;

  --serif: "Fraunces", "Iowan Old Style", Georgia, serif;
  --sans:  "Work Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --maxw: 1180px;
  --pod: 62% 38% 71% 29% / 41% 46% 54% 59%; /* organik "tohum" şekli */
}

*, *::before, *::after{ box-sizing: border-box; }
html{ scroll-behavior:smooth; }

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

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; display:block; }
a{ color:inherit; }
h1,h2,h3,h4{ font-family:var(--serif); font-weight:600; margin:0 0 .5em; color:var(--moss-deep); line-height:1.15; }
p{ margin:0 0 1em; max-width:62ch; }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 28px; }

a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible{
  outline:2px solid var(--clay);
  outline-offset:3px;
}

/* ---------- eyebrow / kicker (bilgilendirici, süs değil) ---------- */
.kicker{
  font-family:var(--sans);
  font-size:.82rem;
  letter-spacing:.04em;
  color:var(--clay-deep);
  font-weight:600;
  margin:0 0 .6em;
}

/* ---------- Üst menü ---------- */
.site-header{
  position:sticky; top:0; z-index:40;
  background:rgba(243,238,225,.97);
  border-bottom:1px solid var(--line);
}
.site-header .wrap{
  display:flex; align-items:center; justify-content:space-between;
  padding-top:16px; padding-bottom:16px;
  gap:24px;
}
.logo{
  display:flex; align-items:center;
  text-decoration:none;
  white-space:nowrap;
}
.logo img{ height:42px; width:auto; display:block; flex:none; }
.logo .logo-light{ display:none; }
.nav-links{
  display:flex; align-items:center; gap:30px;
  list-style:none; margin:0; padding:0;
  font-size:.96rem;
}
.nav-links a{
  text-decoration:none; color:var(--ink);
  padding:6px 0; position:relative;
}
.nav-links a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
  background:var(--clay); transform:scaleX(0); transform-origin:left;
  transition:transform .25s ease;
}
.nav-links a:hover::after, .nav-links a[aria-current="page"]::after{ transform:scaleX(1); }
.nav-links a[aria-current="page"]{ color:var(--clay-deep); font-weight:600; }

.header-actions{ display:flex; align-items:center; gap:16px; }
.header-phone{
  display:flex; align-items:center; gap:7px;
  font-size:.9rem; text-decoration:none; color:var(--ink-soft);
}
.header-phone svg{ width:16px; height:16px; }
.icon-link{
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px; border-radius:50%;
  border:1px solid var(--line); color:var(--moss-deep); text-decoration:none;
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.icon-link:hover{ background:var(--moss-deep); border-color:var(--moss-deep); color:var(--paper-high); }
.icon-link svg{ width:16px; height:16px; }

.nav-toggle{ display:none; }

/* ---------- Butonlar ---------- */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--sans); font-weight:600; font-size:.95rem;
  padding:13px 26px; border-radius:3px;
  text-decoration:none; border:1px solid transparent;
  cursor:pointer; transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.btn:hover{ transform:translateY(-1px); }
.btn-primary{ background:var(--clay); color:var(--paper-high); }
.btn-primary:hover{ background:var(--clay-deep); }
.btn-line{ background:transparent; border-color:var(--moss-deep); color:var(--moss-deep); }
.btn-line:hover{ background:var(--moss-deep); color:var(--paper-high); }
.btn-light{ background:var(--paper-high); color:var(--moss-deep); }
.btn-light:hover{ background:var(--white); }

/* ---------- Hero (anasayfa) ---------- */
.hero{ padding:74px 0 92px; }
.hero .wrap{
  display:grid; grid-template-columns:1.05fr .95fr; gap:64px; align-items:center;
}
.hero-quote{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(1.7rem, 3.1vw, 2.55rem);
  color:var(--moss-deep); line-height:1.28; margin-bottom:.55em;
  max-width:15ch;
}
.hero-quote em{ font-style:italic; color:var(--clay-deep); }
.hero p.lede{ font-size:1.08rem; color:var(--ink-soft); max-width:44ch; }
.hero-cta{ display:flex; gap:16px; margin-top:30px; flex-wrap:wrap; }

.hero-art{ position:relative; }
.pod-photo{
  width:100%; aspect-ratio:4/4.6; object-fit:cover;
  border-radius:var(--pod);
  box-shadow:0 30px 60px -30px rgba(43,53,38,.45);
  animation:pod-in 900ms cubic-bezier(.2,.8,.2,1) both;
}
.hero-art .seed-mark{
  position:absolute; width:120px; height:120px; right:-18px; bottom:-24px;
  opacity:.9; animation:sprout 1100ms 250ms cubic-bezier(.2,.8,.2,1) both;
}
@keyframes pod-in{ from{opacity:0; transform:scale(.94) translateY(14px);} to{opacity:1; transform:none;} }
@keyframes sprout{ from{opacity:0; transform:scale(.7) rotate(-8deg);} to{opacity:.9; transform:none;} }

/* ---------- Bölüm başlıkları ---------- */
section{ padding:78px 0; }
.section-head{ max-width:640px; margin-bottom:44px; }
.section-head h2{ font-size:clamp(1.7rem,2.6vw,2.15rem); }
.section-head p{ color:var(--ink-soft); }
.divider{ border:none; border-top:1px solid var(--line); margin:0; }

/* ---------- Üç ilke şeridi (kart değil, çizgili liste) ---------- */
.pillars{ background:var(--paper-high); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.pillar-list{
  display:grid; grid-template-columns:repeat(3,1fr);
}
.pillar{
  padding:40px 30px; border-left:1px solid var(--line);
}
.pillar:first-child{ border-left:none; padding-left:0; }
.pillar-num{ font-family:var(--serif); font-size:.95rem; color:var(--clay); margin-bottom:14px; display:block; }
.pillar h3{ font-size:1.18rem; margin-bottom:.45em; }
.pillar p{ color:var(--ink-soft); font-size:.97rem; margin-bottom:0; }

/* ---------- Ekip / flip-kart ---------- */
.team-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:46px;
}
.team-card{
  perspective:1600px;
}
.team-flip{
  position:relative; width:100%; aspect-ratio:3/3.7;
  transform-style:preserve-3d; transition:transform .7s cubic-bezier(.4,.2,.2,1);
}
.team-card.is-open .team-flip{ transform:rotateY(180deg); }
.team-face{
  position:absolute; inset:0; backface-visibility:hidden;
  border-radius:14px; overflow:hidden;
  box-shadow:0 18px 40px -24px rgba(43,53,38,.4);
}
.team-front{ background:var(--moss-deep); }
.team-front img{ width:100%; height:100%; object-fit:cover; opacity:.92; }
.team-front .team-label{
  position:absolute; left:0; right:0; bottom:0; padding:22px 22px 20px;
  background:linear-gradient(180deg, rgba(43,53,38,0) 0%, rgba(30,37,27,.86) 78%);
  color:var(--paper-high);
}
.team-front .team-label h3{ color:var(--paper-high); font-size:1.35rem; margin-bottom:.15em; }
.team-front .team-label .role{ font-size:.88rem; opacity:.85; margin-bottom:10px; }
.flip-hint{
  display:inline-flex; align-items:center; gap:7px;
  font-size:.82rem; background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.35); padding:6px 12px; border-radius:20px;
  cursor:pointer; color:var(--paper-high); font-family:var(--sans);
}
.team-back{
  transform:rotateY(180deg);
  background:var(--paper-high); border:1px solid var(--line);
  padding:26px 24px; display:flex; flex-direction:column;
  overflow-y:auto;
}
.team-back h3{ font-size:1.15rem; margin-bottom:.2em; }
.team-back .role{ color:var(--clay-deep); font-size:.85rem; font-weight:600; margin-bottom:12px; }
.team-back p{ font-size:.92rem; color:var(--ink-soft); margin-bottom:10px; }
.team-back .flip-hint{ color:var(--moss-deep); border-color:var(--line); background:var(--paper); margin-top:auto; align-self:flex-start; }
.team-more{ margin-top:14px; font-size:.9rem; }
.team-more a{ color:var(--clay-deep); font-weight:600; text-decoration:underline; text-underline-offset:3px; }

/* ---------- Çalışma alanları teaser grid ---------- */
.area-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line);
}
.area-item{
  background:var(--paper); padding:34px 28px; min-height:190px;
  display:flex; flex-direction:column; justify-content:space-between;
}
.area-item h3{ font-size:1.12rem; }
.area-item p{ font-size:.92rem; color:var(--ink-soft); margin-bottom:0; }
.area-item .go{ font-size:.85rem; color:var(--clay-deep); font-weight:600; margin-top:16px; text-decoration:none; }

/* ---------- Galeri (ofis fotoğrafları) ---------- */
.gallery-strip{
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
}
.gallery-strip figure{ margin:0; }
.gallery-strip img{
  width:100%; height:220px; object-fit:cover; border-radius:6px;
}
.gallery-strip figcaption{
  font-size:.82rem; color:var(--ink-soft); margin-top:8px;
}
.gallery-strip .tall{ grid-row: span 2; }
.gallery-strip .tall img{ height:100%; min-height:454px; }

/* ---------- İletişim / CTA bandı ---------- */
.cta-band{
  background:var(--moss-deep); color:var(--paper-high);
}
.cta-band h2{ color:var(--paper-high); }
.cta-band p{ color:#cdd3c4; }
.cta-band .wrap{
  display:grid; grid-template-columns:1.1fr .9fr; gap:50px; align-items:center;
}
.contact-list{ list-style:none; margin:26px 0 0; padding:0; display:grid; gap:14px; font-size:.98rem; }
.contact-list li{ display:flex; gap:12px; align-items:flex-start; }
.contact-list svg{ width:19px; height:19px; flex:none; margin-top:2px; color:var(--mustard); }
.contact-list a{ color:var(--paper-high); text-decoration:none; border-bottom:1px solid rgba(250,247,238,.35); }

/* ---------- Alt bilgi ---------- */
.site-footer{ background:var(--moss-deep); color:#c9cfbf; border-top:1px solid rgba(255,255,255,.08); }
.site-footer .wrap{
  padding:44px 28px 30px;
  display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:36px;
}
.site-footer .logo .logo-dark{ display:none; }
.site-footer .logo .logo-light{ display:block; }
.site-footer h4{ color:var(--paper-high); font-family:var(--sans); font-size:.85rem; letter-spacing:.03em; margin-bottom:14px; }
.site-footer ul{ list-style:none; margin:0; padding:0; display:grid; gap:9px; font-size:.92rem; }
.site-footer a{ text-decoration:none; color:#c9cfbf; }
.site-footer a:hover{ color:var(--paper-high); }
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1); padding:18px 28px;
  font-size:.8rem; color:#8f9782; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px;
}

/* ---------- İç sayfa başlık bandı ---------- */
.page-head{ padding:56px 0 50px; border-bottom:1px solid var(--line); }
.page-head .kicker{ margin-bottom:10px; }
.page-head h1{ font-size:clamp(2rem,3.4vw,2.7rem); max-width:18ch; }
.page-head p{ color:var(--ink-soft); max-width:58ch; font-size:1.04rem; }

/* ---------- Hakkımızda sayfası ---------- */
.about-block{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.about-block.reverse .about-media{ order:2; }
.about-media img{ border-radius:var(--pod); aspect-ratio:4/4.6; object-fit:cover; }
.about-text h2{ font-size:1.7rem; }

.bio-section{ padding-top:20px; }
.bio{
  display:grid; grid-template-columns:280px 1fr; gap:50px; padding:52px 0;
  border-top:1px solid var(--line);
}
.bio:last-child{ padding-bottom:0; }
.bio-photo img{ width:100%; aspect-ratio:3/3.6; object-fit:cover; border-radius:10px; }
.bio-photo .name{ font-family:var(--serif); font-size:1.3rem; margin-top:16px; color:var(--moss-deep); }
.bio-photo .role{ font-size:.87rem; color:var(--clay-deep); font-weight:600; }
.bio-body p{ max-width:70ch; }
.bio-cols{ display:grid; grid-template-columns:1fr 1fr; gap:36px; margin-top:24px; }
.bio-cols h4{ font-family:var(--sans); font-size:.85rem; letter-spacing:.03em; color:var(--moss-deep); margin-bottom:10px; text-transform:none; border-bottom:1px solid var(--line); padding-bottom:8px; }
.bio-cols ul{ list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.bio-cols li{ font-size:.9rem; color:var(--ink-soft); padding-left:14px; position:relative; }
.bio-cols li::before{ content:"—"; position:absolute; left:0; color:var(--clay); }

/* ---------- CV / eğitim detay açılırı ---------- */
.cv-details{ margin-top:22px; border-top:1px solid var(--line); padding-top:18px; }
.cv-details summary{
  cursor:pointer; list-style:none; display:inline-flex; align-items:center; gap:9px;
  font-family:var(--sans); font-weight:600; font-size:.92rem; color:var(--clay-deep);
}
.cv-details summary::-webkit-details-marker{ display:none; }
.cv-details summary .chev{ width:14px; height:14px; transition:transform .2s ease; }
.cv-details[open] summary .chev{ transform:rotate(90deg); }
.cv-details .bio-cols{ margin-top:22px; }
.cv-details .bio-cols + .bio-cols{ margin-top:8px; }

/* ---------- Çalışma alanları sayfası ---------- */
.topics-nav{
  display:flex; gap:10px; flex-wrap:wrap; margin-bottom:10px;
}
.topics-nav a{
  font-size:.88rem; padding:8px 16px; border:1px solid var(--line); border-radius:20px;
  text-decoration:none; color:var(--ink-soft); background:var(--paper-high);
}
.topics-nav a:hover{ border-color:var(--clay); color:var(--clay-deep); }

.topic-block{ padding:58px 0; border-top:1px solid var(--line); scroll-margin-top:90px; }
.topic-block .wrap{ display:grid; grid-template-columns:.85fr 1.15fr; gap:56px; }
.topic-block h2{ font-size:1.55rem; }
.topic-block .topic-note{ color:var(--ink-soft); font-size:.96rem; }
.topic-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:11px 26px; }
.topic-list li{
  font-size:.94rem; padding:10px 0 10px 20px; border-bottom:1px solid var(--line);
  position:relative; color:var(--ink);
}
.topic-list li::before{ content:""; position:absolute; left:0; top:16px; width:7px; height:7px; border-radius:50%; background:var(--mustard); }

.workshop-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:14px 30px; }
.workshop-list li{
  border:1px solid var(--line); background:var(--paper-high); padding:16px 18px; border-radius:8px; font-size:.95rem;
}

/* ---------- Blog sayfası (yer tutucu) ---------- */
.empty-state{
  text-align:center; padding:90px 28px; max-width:520px; margin:0 auto;
}
.empty-state .seed-mark{ width:64px; height:64px; margin:0 auto 22px; color:var(--clay); }
.empty-state h2{ font-size:1.5rem; }
.empty-state p{ color:var(--ink-soft); margin:0 auto 22px; }

/* ---------- İletişim sayfası ---------- */
.contact-page .wrap{ display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.contact-card{ background:var(--paper-high); border:1px solid var(--line); border-radius:12px; padding:38px; }
.contact-card h2{ font-size:1.35rem; }
.info-list{ list-style:none; margin:26px 0 0; padding:0; display:grid; gap:20px; }
.info-list li{ display:flex; gap:14px; align-items:flex-start; }
.info-list svg{ width:20px; height:20px; flex:none; margin-top:3px; color:var(--clay); }
.info-list .label{ font-size:.78rem; color:var(--ink-soft); display:block; margin-bottom:2px; }
.info-list a{ text-decoration:none; border-bottom:1px solid var(--line); }
.map-embed{ margin-top:28px; border-radius:10px; overflow:hidden; border:1px solid var(--line); }
.map-embed iframe{ width:100%; height:240px; border:0; display:block; }

.form{ display:grid; gap:18px; }
.form .row2{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form label{ display:block; font-size:.85rem; color:var(--ink-soft); margin-bottom:7px; }
.form input, .form textarea{
  width:100%; font-family:var(--sans); font-size:.97rem; color:var(--ink);
  background:var(--paper); border:1px solid var(--line); border-radius:6px;
  padding:12px 14px;
}
.form input:focus, .form textarea:focus{ border-color:var(--clay); }
.form textarea{ resize:vertical; min-height:110px; }
.form-note{ font-size:.82rem; color:var(--ink-soft); margin-top:2px; }

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width: 980px){
  .hero .wrap{ grid-template-columns:1fr; gap:44px; }
  .hero-art{ order:-1; max-width:360px; margin:0 auto; }
  .pillar-list{ grid-template-columns:1fr; }
  .pillar{ border-left:none; border-top:1px solid var(--line); padding-left:0; }
  .pillar:first-child{ border-top:none; }
  .team-grid{ grid-template-columns:1fr; max-width:380px; margin:0 auto; }
  .area-grid{ grid-template-columns:1fr; }
  .gallery-strip{ grid-template-columns:1fr 1fr; }
  .gallery-strip .tall img{ min-height:220px; }
  .cta-band .wrap{ grid-template-columns:1fr; }
  .site-footer .wrap{ grid-template-columns:1fr 1fr; }
  .about-block{ grid-template-columns:1fr; }
  .about-block.reverse .about-media{ order:0; }
  .bio{ grid-template-columns:1fr; }
  .bio-photo{ max-width:220px; }
  .bio-cols{ grid-template-columns:1fr; }
  .topic-block .wrap{ grid-template-columns:1fr; gap:20px; }
  .topic-list, .workshop-list{ grid-template-columns:1fr; }
  .contact-page .wrap{ grid-template-columns:1fr; }
}

@media (max-width: 720px){
  .nav-links{
    position:fixed; top:0; left:0; right:0; bottom:0; z-index:50;
    background:var(--paper-high);
    flex-direction:column; align-items:flex-start; gap:0;
    padding:96px 28px 28px;
    transform:translateX(-100%); transition:transform .3s ease; overflow-y:auto;
  }
  .nav-links.is-open{ transform:translateX(0); }
  .nav-links li{ width:100%; border-bottom:1px solid var(--line); }
  .nav-links a{ display:block; padding:16px 0; }
  .header-phone span{ display:none; }
  .nav-toggle{
    display:flex; align-items:center; justify-content:center;
    width:38px; height:38px; border:1px solid var(--line); border-radius:8px;
    background:none; cursor:pointer;
  }
  .nav-toggle svg{ width:19px; height:19px; }
  .site-footer .wrap{ grid-template-columns:1fr; }
}

@media (max-width: 560px){
  .hero{ padding:44px 0 60px; }
  section{ padding:56px 0; }
  .form .row2{ grid-template-columns:1fr; }
}
