:root{
  --ink:#14181a;
  --navy:#121821;
  --navy-2:#1b2530;
  --grid-line:#2c3844;
  --concrete:#edeeea;
  --paper:#f7f7f5;
  --steel:#5b6470;
  --steel-light:#8b929b;
  --amber:#f2a900;
  --amber-deep:#c98800;
  --line:#d7d8d3;
  --white:#ffffff;
  --radius:2px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'IBM Plex Sans', sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:'Space Grotesk', sans-serif;
  margin:0;
  color:var(--ink);
  letter-spacing:-0.01em;
}
p{margin:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
ul{list-style:none;margin:0;padding:0;}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline:2px solid var(--amber);
  outline-offset:3px;
}
@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important; scroll-behavior:auto !important;}
}

/* ===== HEADER / NAV ===== */
header{
  position:sticky;top:0;z-index:200;
  background:rgba(247,247,245,0.94);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 32px;max-width:1180px;margin:0 auto;
}
.brand{display:flex;align-items:center;gap:10px;}
.brand img{height:34px;width:auto;}
.brand-fallback{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:19px;letter-spacing:-0.02em;}
.brand-fallback span{color:var(--amber-deep);}
nav.main-nav{display:flex;align-items:center;gap:34px;}
nav.main-nav > ul{display:flex;gap:6px;}
nav.main-nav > ul > li{position:relative;}
nav.main-nav > ul > li > a{
  display:block;font-size:14.5px;font-weight:500;color:var(--steel);
  padding:10px 12px;border-bottom:2px solid transparent;
  transition:color .15s ease, border-color .15s ease;
}
nav.main-nav > ul > li > a:hover, nav.main-nav > ul > li.active > a{color:var(--ink);border-color:var(--amber);}
.has-dropdown > a{display:flex;align-items:center;gap:5px;}
.has-dropdown > a::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-top:-3px;}
.dropdown{
  position:absolute;top:100%;left:0;
  background:var(--white);
  border:1px solid var(--line);
  min-width:240px;
  padding:8px;
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .15s ease, transform .15s ease, visibility .15s ease;
  box-shadow:0 12px 28px rgba(18,24,33,.1);
}
.has-dropdown:hover .dropdown, .has-dropdown:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown li a{
  display:block;padding:10px 12px;font-size:14px;color:var(--ink);border-radius:var(--radius);
}
.dropdown li a:hover{background:var(--concrete);color:var(--amber-deep);}
.nav-wrap{display:flex;align-items:center;gap:28px;}
.call-block{display:flex;align-items:center;gap:16px;}
.call-block .phone{font-family:'IBM Plex Mono', monospace;font-size:13.5px;color:var(--ink);display:flex;align-items:center;gap:8px;}
.call-block.nav-call{display:none;}
.btn{
  display:inline-flex;align-items:center;gap:8px;padding:11px 20px;
  background:var(--ink);color:var(--white);font-weight:600;font-size:14px;
  border-radius:var(--radius);border:1px solid var(--ink);cursor:pointer;
  transition:background .15s ease, transform .1s ease;
}
.btn:hover{background:var(--navy-2);}
.btn.amber{background:var(--amber);border-color:var(--amber);color:#241a00;}
.btn.amber:hover{background:var(--amber-deep);}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink);}
.btn.ghost:hover{background:var(--ink);color:var(--white);}
.btn.small{padding:9px 16px;font-size:13px;}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;width:34px;height:34px;position:relative;flex:none;}
.menu-toggle span{position:absolute;left:6px;right:6px;height:2px;background:var(--ink);transition:transform .2s ease, opacity .2s ease;}
.menu-toggle span:nth-child(1){top:11px;}
.menu-toggle span:nth-child(2){top:17px;}
.menu-toggle span:nth-child(3){top:23px;}
.menu-toggle.open span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.menu-toggle.open span:nth-child(2){opacity:0;}
.menu-toggle.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

/* ===== HERO (home) ===== */
.hero{position:relative;background:var(--navy);color:var(--white);overflow:hidden;border-bottom:1px solid var(--grid-line);}
.hero-grid{
  position:absolute;inset:0;
  background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
  background-size:56px 56px;opacity:.5;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.9), rgba(0,0,0,.1) 85%);
}
.hero-inner{
  position:relative;max-width:1180px;margin:0 auto;padding:96px 32px 0;
  display:grid;grid-template-columns:1.15fr 0.85fr;gap:56px;align-items:center;
}
.hero-tag{font-family:'IBM Plex Mono', monospace;font-size:12.5px;color:var(--amber);display:flex;align-items:center;gap:10px;margin-bottom:22px;}
.hero-tag::before{content:"";width:22px;height:1px;background:var(--amber);}
.hero h1{font-size:clamp(32px, 4.2vw, 50px);line-height:1.1;font-weight:700;max-width:14ch;}
.hero p.lead{margin-top:22px;font-size:17px;color:#c3cad2;max-width:48ch;}
.hero-actions{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap;}
.hero-actions .btn.ghost{border-color:#3a4652;color:var(--white);}
.hero-actions .btn.ghost:hover{background:var(--white);color:var(--ink);border-color:var(--white);}
.hero-diagram{position:relative;border:1px solid var(--grid-line);aspect-ratio:1/1;padding:18px;}
.corner{position:absolute;width:14px;height:14px;border-color:var(--amber);}
.corner.tl{top:6px;left:6px;border-top:2px solid;border-left:2px solid;}
.corner.tr{top:6px;right:6px;border-top:2px solid;border-right:2px solid;}
.corner.bl{bottom:6px;left:6px;border-bottom:2px solid;border-left:2px solid;}
.corner.br{bottom:6px;right:6px;border-bottom:2px solid;border-right:2px solid;}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--grid-line);position:relative;margin-top:72px;}
.hero-stats .stat{padding:26px 30px;border-right:1px solid var(--grid-line);}
.hero-stats .stat:last-child{border-right:none;}
.hero-stats .num{font-family:'Space Grotesk',sans-serif;font-size:26px;font-weight:700;color:var(--white);}
.hero-stats .label{font-size:12.5px;color:var(--steel-light);margin-top:4px;}

/* ===== PAGE BANNER (inner pages) ===== */
.page-banner{
  position:relative;background:var(--navy);color:var(--white);
  border-bottom:1px solid var(--grid-line);overflow:hidden;
}
.page-banner .hero-grid{opacity:.4;}
.page-banner-inner{position:relative;max-width:1180px;margin:0 auto;padding:64px 32px 52px;}
.breadcrumb{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--amber);display:flex;align-items:center;gap:8px;margin-bottom:16px;}
.breadcrumb a{color:var(--steel-light);}
.breadcrumb a:hover{color:var(--white);}
.page-banner h1{font-size:clamp(28px,3.6vw,42px);max-width:22ch;}
.page-banner p.lead{margin-top:14px;color:#c3cad2;max-width:56ch;font-size:15.5px;}

/* ===== SECTION SHELL ===== */
section{padding:88px 0;}
section.tight{padding:64px 0;}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:48px;border-bottom:1px solid var(--line);padding-bottom:24px;}
.section-head .ref{font-family:'IBM Plex Mono', monospace;font-size:12.5px;color:var(--amber-deep);margin-bottom:12px;display:block;}
.section-head h2{font-size:clamp(24px,2.8vw,34px);max-width:18ch;}
.section-head .desc{max-width:36ch;color:var(--steel);font-size:15px;padding-bottom:4px;}

/* ===== CONTENT / PROSE (legal + about pages) ===== */
.prose{max-width:760px;}
.prose p{color:var(--steel);font-size:15.5px;margin-bottom:18px;}
.prose h2{font-size:22px;margin-top:44px;margin-bottom:16px;padding-top:24px;border-top:1px solid var(--line);}
.prose h2:first-child{margin-top:0;padding-top:0;border-top:none;}
.prose ul.check{margin:0 0 18px;}
.prose ul.check li{position:relative;padding-left:22px;color:var(--steel);font-size:15px;margin-bottom:10px;}
.prose ul.check li::before{content:"—";position:absolute;left:0;color:var(--amber-deep);}
.updated-note{
  font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--steel);
  margin-bottom:36px;padding-bottom:24px;border-bottom:1px solid var(--line);
}
.legal-layout{display:grid;grid-template-columns:220px 1fr;gap:56px;align-items:start;}
.legal-toc{position:sticky;top:100px;border-left:2px solid var(--line);padding-left:18px;}
.legal-toc a{display:block;font-size:13.5px;color:var(--steel);padding:7px 0;}
.legal-toc a:hover{color:var(--amber-deep);}

/* ===== TWO COL (about teaser etc.) ===== */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
#hakkimizda-teaser{background:var(--concrete);}
.about-visual{position:relative;border:1px solid var(--line);background:var(--navy);aspect-ratio:4/5;}
.about-visual svg{width:100%;height:100%;}
.about-points{margin-top:24px;display:grid;border-top:1px solid var(--line);}
.about-points li{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--steel);}
.about-points li b{font-family:'Space Grotesk',sans-serif;color:var(--amber-deep);font-size:13px;min-width:26px;}

/* ===== SERVICE GRID ===== */
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);}
.service-card{padding:34px 30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .15s ease;}
.service-card:hover{background:var(--concrete);}
.service-card .icon{width:40px;height:40px;margin-bottom:20px;color:var(--amber-deep);}
.service-card h3{font-size:17.5px;margin-bottom:10px;}
.service-card p{font-size:14.5px;color:var(--steel);}
.service-card .num-tag{font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--amber-deep);display:block;margin-bottom:14px;}

/* full service page: image-free detail rows */
.service-detail{border-top:1px solid var(--line);}
.service-row{display:grid;grid-template-columns:60px 1fr 220px;gap:28px;padding:34px 0;border-bottom:1px solid var(--line);align-items:start;}
.service-row .icon{width:34px;height:34px;color:var(--amber-deep);}
.service-row h3{font-size:19px;margin-bottom:10px;}
.service-row p{color:var(--steel);font-size:15px;}
.service-row .stat-chip{
  justify-self:end;text-align:right;
  font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--steel);
  border-left:1px solid var(--line);padding-left:20px;
}
.service-row .stat-chip b{display:block;font-family:'Space Grotesk',sans-serif;font-size:19px;color:var(--ink);font-weight:700;margin-bottom:2px;}

/* ===== NUMBERS ===== */
.numbers-band{background:var(--navy);color:var(--white);}
.numbers-band .section-head{border-bottom-color:var(--grid-line);}
.numbers-band .section-head h2{color:var(--white);}
.numbers-band .section-head .desc{color:var(--steel-light);}
.numbers-band .section-head .ref{color:var(--amber);}
.numbers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--grid-line);}
.numbers-grid .cell{background:var(--navy);padding:32px 26px;}
.numbers-grid .num{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:34px;color:var(--amber);}
.numbers-grid .label{margin-top:8px;font-size:13.5px;color:var(--steel-light);}

/* ===== TEAM ===== */
.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.team-card{border:1px solid var(--line);background:var(--white);}
.team-photo{aspect-ratio:4/3;background:var(--navy);position:relative;overflow:hidden;}
.team-photo svg{width:100%;height:100%;}
.team-body{padding:28px 30px;}
.team-body h3{font-size:21px;}
.team-body .role{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--amber-deep);margin-top:6px;display:block;}
.team-body p{color:var(--steel);font-size:14.5px;margin-top:16px;}
.team-body p + p{margin-top:12px;}
.team-together{
  margin-top:56px;border:1px solid var(--grid-line);background:var(--navy);color:var(--white);
  padding:40px;display:grid;grid-template-columns:1fr 1.4fr;gap:36px;align-items:center;
}
.team-together h3{color:var(--white);font-size:20px;}
.team-together p{color:var(--steel-light);font-size:14.5px;margin-top:10px;}

/* ===== PARTNERS (logo grid) ===== */
.partners-intro{max-width:640px;margin:0 auto 52px;text-align:center;}
.partners-intro h2{font-size:clamp(24px,2.8vw,32px);}
.partners-intro p{color:var(--steel);font-size:15.5px;margin-top:16px;}
.logo-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);}
.logo-tile{
  aspect-ratio:16/9;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;padding:24px;background:var(--white);
}
.logo-tile img{max-height:56px;width:auto;opacity:.85;filter:grayscale(1);transition:opacity .15s ease, filter .15s ease;}
.logo-tile:hover img{opacity:1;filter:grayscale(0);}
.logo-tile .ph{
  width:100%;height:100%;border:1px dashed var(--line);display:flex;align-items:center;justify-content:center;
  font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--steel-light);
}

/* ===== GALLERY / REFERANSLAR ===== */
.filter-bar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:36px;}
.filter-bar button{
  border:1px solid var(--line);background:var(--white);padding:9px 16px;font-size:13.5px;
  font-family:inherit;color:var(--steel);cursor:pointer;border-radius:var(--radius);transition:all .15s ease;
}
.filter-bar button:hover{border-color:var(--ink);color:var(--ink);}
.filter-bar button.active{background:var(--ink);color:var(--white);border-color:var(--ink);}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.tile{position:relative;aspect-ratio:4/3;background:var(--concrete);border:1px solid var(--line);display:flex;align-items:flex-end;overflow:hidden;transition:opacity .2s ease;}
.tile.hidden{display:none;}
.tile svg{position:absolute;inset:0;width:100%;height:100%;opacity:.55;}
.tile .tag{position:relative;padding:16px;font-size:12.5px;font-family:'IBM Plex Mono', monospace;color:var(--steel);background:linear-gradient(to top, rgba(237,238,234,.9), rgba(237,238,234,0));width:100%;}
.tile .tag b{display:block;color:var(--ink);font-family:'Space Grotesk',sans-serif;font-size:14px;margin-bottom:2px;}

/* ===== CONTACT ===== */
#iletisim-page{background:var(--concrete);}
.contact-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:56px;}
.contact-info .item{display:flex;gap:16px;padding:20px 0;border-bottom:1px solid var(--line);}
.contact-info .item:first-child{padding-top:0;}
.contact-info .item .ic{width:20px;height:20px;flex:none;color:var(--amber-deep);margin-top:2px;}
.contact-info .item h4{font-size:14px;margin-bottom:4px;}
.contact-info .item p{font-size:14.5px;color:var(--steel);}
.map-frame{margin-top:26px;border:1px solid var(--line);aspect-ratio:4/3;overflow:hidden;}
.map-frame iframe{width:100%;height:100%;border:0;filter:grayscale(.3) contrast(1.05);}
form.contact-form{background:var(--white);border:1px solid var(--line);padding:32px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.field{margin-bottom:18px;}
.field label{display:block;font-size:12.5px;font-weight:600;margin-bottom:7px;color:var(--ink);}
.field input, .field textarea, .field select{
  width:100%;border:1px solid var(--line);background:var(--paper);padding:11px 12px;
  font-family:inherit;font-size:14.5px;border-radius:var(--radius);
}
.field textarea{resize:vertical;min-height:110px;}
.form-note{font-size:12.5px;color:var(--steel);margin-top:14px;}
.form-note a{color:var(--amber-deep);text-decoration:underline;}
.form-status{margin-top:14px;font-size:13.5px;display:none;}
.form-status.show{display:block;}

/* ===== CTA BAND ===== */
.cta-band{background:var(--ink);color:var(--white);}
.cta-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;padding:56px 0;}
.cta-inner h2{color:var(--white);font-size:clamp(22px,2.6vw,30px);max-width:20ch;}
.cta-inner p{color:var(--steel-light);margin-top:10px;font-size:14.5px;}

/* ===== FOOTER ===== */
footer{background:var(--navy);color:var(--steel-light);padding:60px 0 26px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid var(--grid-line);}
.footer-brand .brand img{height:30px;filter:brightness(0) invert(1);}
.footer-brand p{margin-top:16px;font-size:13.5px;max-width:32ch;color:var(--steel-light);}
footer h5{color:var(--white);font-size:13px;font-weight:600;margin-bottom:16px;font-family:'IBM Plex Sans',sans-serif;}
footer ul li{margin-bottom:10px;}
footer ul li a{font-size:14px;color:var(--steel-light);}
footer ul li a:hover{color:var(--amber);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:22px;font-size:12.5px;flex-wrap:wrap;gap:12px;}

/* ===== REVEAL ===== */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

/* ===== RESPONSIVE ===== */
@media (max-width:980px){
  nav.main-nav{
    position:fixed;inset:65px 0 0 0;background:var(--paper);flex-direction:column;align-items:flex-start;
    padding:12px 32px 28px;gap:0;transform:translateX(100%);transition:transform .25s ease;overflow-y:auto;
  }
  nav.main-nav.open{transform:translateX(0);}
  nav.main-nav > ul{flex-direction:column;width:100%;gap:0;}
  nav.main-nav > ul > li{width:100%;border-bottom:1px solid var(--line);}
  nav.main-nav > ul > li > a{padding:16px 0;}
  .has-dropdown > a::after{margin-left:auto;}
  .dropdown{position:static;opacity:1;visibility:visible;transform:none;border:none;box-shadow:none;display:none;padding:0 0 10px 14px;}
  .has-dropdown.open .dropdown{display:block;}
  .call-block.nav-call{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:24px;padding-top:20px;border-top:1px solid var(--line);width:100%;}
  .menu-toggle{display:block;}
  .call-block.desktop-only{display:none;}
  .nav-wrap{gap:14px;}
  .hero-inner{grid-template-columns:1fr;padding-top:64px;}
  .hero-diagram{max-width:300px;}
  .hero-stats{grid-template-columns:repeat(2,1fr);margin-top:48px;}
  .two-col{grid-template-columns:1fr;}
  .service-grid{grid-template-columns:repeat(2,1fr);}
  .service-row{grid-template-columns:1fr;gap:14px;}
  .service-row .stat-chip{justify-self:start;text-align:left;border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:14px;}
  .numbers-grid{grid-template-columns:repeat(2,1fr);}
  .team-grid{grid-template-columns:1fr;}
  .team-together{grid-template-columns:1fr;}
  .logo-grid{grid-template-columns:repeat(3,1fr);}
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .contact-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .section-head{flex-direction:column;align-items:flex-start;}
  .legal-layout{grid-template-columns:1fr;}
  .legal-toc{position:static;border-left:none;padding-left:0;border-top:1px solid var(--line);padding-top:16px;margin-bottom:8px;}
}
@media (max-width:560px){
  .wrap, .topbar, .hero-inner, .page-banner-inner{padding-left:20px;padding-right:20px;}
  .hero-stats{grid-template-columns:1fr 1fr;}
  .service-grid{grid-template-columns:1fr;}
  .numbers-grid{grid-template-columns:1fr 1fr;}
  .logo-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-grid{grid-template-columns:1fr;}
  .form-row{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .cta-inner{flex-direction:column;align-items:flex-start;}
}
