/* ==========================================================================
   Cephe teması — YapıSite
   Fikir: giydirme cephe. Alüminyum taşıyıcı çizgiler, cam paneller,
   teknik çizim. Renkler panelden: --glass (ana), --signal (vurgu).
   ========================================================================== */
:root {
  --glass: #1f3a5f;
  --signal: #e0892b;
  --ink: #1a2128;
  --ink-2: #222b34;
  --alu: #b9c1c8;
  --concrete: #e9ecee;
  --paper: #f6f7f8;
  --text: #2b333b;
  --muted: #65707a;
  --rule: #d5dadf;
  --display: "Barlow Condensed", "Arial Narrow", sans-serif;
  --body: "Barlow", system-ui, sans-serif;
  --wrap: 1280px;
  --gutter: clamp(20px, 4vw, 48px);
  --ease: cubic-bezier(.2, .7, .1, 1);
}
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font: 400 var(--fs, 17px)/1.65 var(--body); color: var(--text); background: var(--paper); -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
h1, h2, h3 { font-family: var(--display); font-weight: var(--hw, 600); color: var(--ink); line-height: 1.02; letter-spacing: -.005em; margin: 0; }
p { margin: 0 0 1em; }
.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
:focus-visible { outline: 3px solid var(--signal); outline-offset: 3px; }
.skip { position: absolute; inset-inline-start: -999px; top: 8px; z-index: 100; background: var(--signal); color: var(--on-signal, #fff); padding: 10px 16px; }
.skip:focus { inset-inline-start: 8px; }

/* ---------- Butonlar ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 28px;
  font: 600 19px/1 var(--display); letter-spacing: .01em; text-decoration: none; border: 2px solid transparent; cursor: pointer;
  transition: background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease); }
.btn-signal { background: var(--signal); color: var(--on-signal, #fff); position: relative; overflow: hidden; }
.btn-signal::after { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, transparent 35%, rgba(255,255,255,.35) 50%, transparent 65%); transform: translateX(-100%); }
.btn-signal:hover::after { transform: translateX(100%); transition: transform .6s var(--ease); }
.btn-line { border-color: currentColor; color: inherit; background: transparent; }
.btn-line:hover { background: #fff; color: var(--ink); border-color: #fff; }
.link-line { font: 600 19px var(--display); color: var(--ink); text-decoration: none; display: inline-flex; gap: 10px; align-items: center; padding-bottom: 4px; background: linear-gradient(var(--signal), var(--signal)) 0 100% / 100% 2px no-repeat; transition: background-size .3s var(--ease); }
.link-line:hover { background-size: 40% 2px; }

/* ---------- Başlık çubuğu ---------- */
.hdr { position: sticky; top: 0; z-index: 50; background: var(--paper); border-bottom: 1px solid var(--rule); transition: background .35s, border-color .35s, color .35s; }
.hdr-in { display: flex; align-items: center; gap: 28px; height: 76px; max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
.brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--ink); margin-inline-end: auto; }
.brand-logo { max-height: 46px; width: auto; }
.brand-logo.light { display: none; }
.brand-mark { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; width: 30px; height: 30px; }
.brand-mark i { background: var(--glass); }
.brand-mark i:nth-child(2) { background: var(--signal); }
.brand-mark i:nth-child(3) { opacity: .55; }
.brand-name { font: 700 25px/1 var(--display); letter-spacing: .005em; }
.nav { display: flex; align-items: center; gap: 4px; }
.nav a { font: 500 18px var(--display); white-space: nowrap; text-decoration: none; padding: 8px 12px; color: inherit; position: relative; }
.nav a::after { content: ""; position: absolute; inset-inline-start: 12px; inset-inline-end: 12px; bottom: 2px; height: 2px; background: var(--signal); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--ease); }
.nav a:hover::after, .nav a[aria-current]::after { transform: scaleX(1); }
.nav-phone { display: none; }
.lang-sw { display: none; }
.lang-more { margin-inline-start: 6px; padding-inline-start: 10px; border-inline-start: 1px solid color-mix(in srgb, currentColor 25%, transparent); }
.lang-more .nav-more-btn { font-size: 15px; font-weight: 600; letter-spacing: .06em; padding: 8px 6px; }
.lang-more .nav-drop { min-width: 170px; }
.hdr-cta { font: 600 18px var(--display); text-decoration: none; background: var(--signal); color: var(--on-signal, #fff); padding: 12px 20px; white-space: nowrap; }
.burger { display: none; width: 46px; height: 46px; background: none; border: 0; cursor: pointer; position: relative; color: inherit; }
.burger span { position: absolute; left: 11px; right: 11px; height: 2px; background: currentColor; transition: transform .3s var(--ease), top .3s var(--ease); }
.burger span:first-child { top: 18px; } .burger span:last-child { top: 27px; }
.nav-open .burger span:first-child { top: 22px; transform: rotate(45deg); }
.nav-open .burger span:last-child { top: 22px; transform: rotate(-45deg); }

/* Ana sayfada başlık çubuğu kapağın üstünde şeffaf */
.is-home .hdr { position: fixed; left: 0; right: 0; background: transparent; border-color: rgba(255,255,255,.18); color: #fff; }
.is-home .hdr .brand { color: #fff; }
.is-home .hdr .brand-logo.dark { display: none; }
.is-home .hdr .brand-logo.light { display: block; }
.is-home .hdr .brand-logo.dark:only-child { display: block; filter: brightness(0) invert(1); }
.is-home .hdr.solid { background: rgba(246,247,248,.94); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-color: var(--rule); color: var(--ink); }
.is-home .hdr.solid .brand { color: var(--ink); }
.is-home .hdr.solid .brand-logo.dark { display: block; filter: none; }
.is-home .hdr.solid .brand-logo.light { display: none; }

/* ==========================================================================
   KAPAK — 3D cam kule veya proje vitrini + künye
   ========================================================================== */
.hero { position: relative; min-height: 100vh; min-height: 100svh; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; color: #fff; background: var(--ink); isolation: isolate; }

/* 3D mod */
.hero-sky { position: absolute; inset: 0; z-index: -4;
  background:
    radial-gradient(70% 40% at 30% 100%, color-mix(in srgb, var(--signal) 55%, transparent), transparent 70%),
    linear-gradient(180deg, color-mix(in srgb, var(--glass) 40%, #05080c) 0%, var(--glass) 62%, color-mix(in srgb, var(--signal) 45%, var(--glass)) 100%); }
.hero-3d { position: absolute; inset: 0; z-index: -3; opacity: 0; transition: opacity 1.4s var(--ease); }
.hero-3d.ready { opacity: 1; }
.hero-3d canvas { width: 100% !important; height: 100% !important; display: block; }

/* Vitrin modu */
.hero-stage { position: absolute; inset: 0; z-index: -3; }
.hero-img { position: absolute; inset: 0; background: var(--ink) center / cover no-repeat; }
.hero-panes { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(var(--cols, 7), 1fr); grid-template-rows: repeat(var(--rows, 4), 1fr); }
.hero-panes .pane { position: relative; background-repeat: no-repeat; opacity: 0; transform: translateY(18px) scale(.985); overflow: hidden; }
.hero-panes .pane::after { content: ""; position: absolute; inset: -30%; background: linear-gradient(115deg, transparent 40%, rgba(255,255,255,.28) 48%, rgba(255,255,255,.06) 52%, transparent 60%); transform: translateX(-130%); }
.hero-panes.run .pane { animation: pane-in .85s var(--ease) var(--d) forwards; }
.hero-panes.run .pane::after { animation: sweep 1.1s var(--ease) calc(var(--d) + .15s) forwards; }
@keyframes pane-in { to { opacity: 1; transform: none; } }
@keyframes sweep { to { transform: translateX(130%); } }
.mullions { position: absolute; inset: 0; pointer-events: none; opacity: .32;
  background:
    repeating-linear-gradient(90deg, transparent 0 calc(100% / 7 - 2px), rgba(214,222,229,.55) calc(100% / 7 - 2px) calc(100% / 7)),
    repeating-linear-gradient(180deg, transparent 0 calc(100% / 4 - 2px), rgba(214,222,229,.45) calc(100% / 4 - 2px) calc(100% / 4)); }
.js .hero--slides .mullions { clip-path: inset(100% 0 0 0); }
.js .hero--slides.go .mullions { animation: mull 1.2s var(--ease) .1s forwards; }
@keyframes mull { to { clip-path: inset(0 0 0 0); } }

.glare { position: absolute; inset: 0; z-index: -2; pointer-events: none; mix-blend-mode: soft-light;
  background: radial-gradient(560px circle at var(--mx, 70%) var(--my, 30%), rgba(255,255,255,.5), transparent 60%); opacity: 0; transition: opacity .8s; }
.hero.lit .glare { opacity: 1; }
.hero-shade { position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(0deg, rgba(12,16,21,.9) 0%, rgba(12,16,21,.35) 34%, rgba(12,16,21,0) 60%),
              linear-gradient(90deg, rgba(12,16,21,.78) 0%, rgba(12,16,21,.35) 45%, rgba(12,16,21,0) 70%); }

.hero-body { width: 100%; padding-top: 150px; padding-bottom: clamp(36px, 6vh, 64px); }
.hero-title { font-size: calc(clamp(56px, 9.6vw, 158px) * var(--hs, 1)); font-weight: var(--hw, 600); line-height: .9; color: #fff; max-width: 11ch; letter-spacing: -.015em; text-wrap: balance; }
.hero-lead { font-size: clamp(17px, 1.45vw, 20px); max-width: 44ch; color: rgba(255,255,255,.86); margin: clamp(20px, 3vh, 32px) 0 0; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: clamp(24px, 4vh, 36px); }
.js .hero .hero-title, .js .hero .hero-lead, .js .hero .hero-actions, .js .hero .kunye { opacity: 0; transform: translateY(22px); }
.js .hero.go .hero-title { animation: lift 1s var(--ease) .5s forwards; }
.js .hero.go .hero-lead { animation: lift 1s var(--ease) .75s forwards; }
.js .hero.go .hero-actions { animation: lift 1s var(--ease) .9s forwards; }
.js .hero.go .kunye { animation: lift 1s var(--ease) 1.2s forwards; }
@keyframes lift { to { opacity: 1; transform: none; } }

/* Künye: şantiye tabelası gibi proje bilgisi */
.kunye { position: relative; background: rgba(16,21,27,.72); backdrop-filter: blur(14px) saturate(1.2); -webkit-backdrop-filter: blur(14px) saturate(1.2); border-top: 1px solid rgba(255,255,255,.14); }
.kunye::before { content: ""; position: absolute; inset-inline-start: 0; top: -1px; width: 120px; height: 3px; background: var(--signal); }
.kunye-in { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 3fr) auto; gap: 32px; align-items: center; padding-top: 20px; padding-bottom: 20px; }
.k-label, .k-data dt { display: block; font-size: 13px; color: var(--alu); margin-bottom: 3px; }
.k-title { font: 600 26px/1.1 var(--display); color: #fff; text-decoration: none; }
a.k-title[href]:hover { color: var(--signal); }
.k-data { display: flex; gap: 0; margin: 0; min-width: 0; overflow: hidden; }
.k-data > div { padding: 0 24px; border-inline-start: 1px solid rgba(255,255,255,.14); min-width: 0; }
.k-data dd { margin: 0; font: 500 19px/1.2 var(--display); color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.k-nav { display: flex; align-items: center; gap: 10px; }
.k-count { font: 500 18px var(--display); color: var(--alu); min-width: 64px; text-align: center; font-variant-numeric: tabular-nums; }
.k-count b { color: #fff; font-weight: 600; }
.k-btn { width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.3); background: transparent; color: #fff; font-size: 24px; line-height: 1; cursor: pointer; transition: background .2s, border-color .2s; }
.k-btn:hover { background: var(--signal); border-color: var(--signal); }
.k-bars { position: absolute; inset-inline-start: 0; inset-inline-end: 0; bottom: 0; display: flex; height: 3px; }
.k-bar { flex: 1; border: 0; padding: 0; background: rgba(255,255,255,.12); cursor: pointer; position: relative; height: 3px; }
.k-bar + .k-bar { margin-inline-start: 2px; }
.k-bar i { position: absolute; inset: 0; background: rgba(255,255,255,.75); transform: scaleX(0); transform-origin: left; }
.k-bar.done i { transform: scaleX(1); }
.k-bar.on i { animation: bar var(--int, 7s) linear forwards; }
.hero.paused .k-bar.on i { animation-play-state: paused; }
@keyframes bar { to { transform: scaleX(1); } }
.kunye [data-k], .kunye [data-kwrap] { transition: opacity .35s, transform .35s var(--ease); }
.kunye.swap [data-k], .kunye.swap [data-kwrap] { opacity: 0; transform: translateY(8px); }

/* ---------- Rakamlar ---------- */
.figures { background: var(--ink); color: #fff; }
.figures-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.figure { padding: 44px 28px 40px; border-inline-start: 1px solid rgba(255,255,255,.12); }
.figure:first-child { border-inline-start: 0; padding-inline-start: 0; }
.figure strong { display: block; white-space: nowrap; font: var(--hw, 600) calc(clamp(40px, 4.4vw, 66px) * var(--hs, 1))/1 var(--display); letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.figure span { display: block; margin-top: 10px; color: var(--alu); font-size: 16px; }

/* ---------- Tanıtım ---------- */
.about { padding: clamp(80px, 11vw, 150px) 0; }
.about-grid { display: grid; grid-template-columns: 5fr 6fr; gap: clamp(36px, 7vw, 110px); align-items: center; }
.about-media { margin: 0; position: relative; aspect-ratio: 4 / 5; }
.about-media img, .about-pattern { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.about-media::before { content: ""; position: absolute; inset: 22px -22px -22px 22px; border: 2px solid var(--signal); z-index: -1; }
.about-pattern { background:
  repeating-linear-gradient(90deg, transparent 0 calc(25% - 2px), var(--alu) calc(25% - 2px) 25%),
  repeating-linear-gradient(180deg, transparent 0 calc(16.66% - 3px), var(--alu) calc(16.66% - 3px) 16.66%),
  linear-gradient(170deg, color-mix(in srgb, var(--glass) 40%, #cfe0ec), var(--glass)); }
.about-media figcaption { position: absolute; inset-inline-start: 0; bottom: 0; background: var(--paper); padding: 12px 18px 0 0; font: 600 16px var(--display); color: var(--muted); }
.about-copy h2 { font-size: calc(clamp(40px, 5vw, 68px) * var(--hs, 1)); margin-bottom: 28px; max-width: 14ch; text-wrap: balance; }
.about-copy p { font-size: 19px; max-width: 54ch; color: var(--text); margin-bottom: 32px; }

/* ---------- Hizmetler ---------- */
.services { background: var(--concrete); padding: clamp(80px, 10vw, 140px) 0; }
.sec-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: clamp(32px, 5vw, 56px); flex-wrap: wrap; }
.sec-head h2 { font-size: calc(clamp(44px, 6vw, 88px) * var(--hs, 1)); }
.svc-list { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--ink); }
.svc { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 32px; align-items: baseline; padding: 30px 0; border-bottom: 1px solid var(--rule); position: relative; }
.svc::before { content: ""; position: absolute; inset-inline-start: 0; top: -1px; height: 2px; width: 0; background: var(--signal); transition: width .5s var(--ease); }
.svc:hover::before { width: 100%; }
.svc h3 { font-size: calc(clamp(30px, 3.4vw, 48px) * var(--hs, 1)); font-weight: 500; transition: transform .4s var(--ease), color .3s; }
.svc:hover h3 { transform: translateX(12px); color: var(--glass); }
.svc p { margin: 0; color: var(--muted); font-size: 17.5px; max-width: 46ch; }

/* ---------- Süreç ---------- */
.process { padding: clamp(80px, 10vw, 140px) 0; }
.steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n), 1fr); position: relative; }
.steps::before { content: ""; position: absolute; inset-inline-start: 0; inset-inline-end: 0; top: 23px; height: 2px; background: var(--rule); }
.steps::after { content: ""; position: absolute; inset-inline-start: 0; top: 23px; height: 2px; width: 100%; background: var(--signal); transform: scaleX(0); transform-origin: left; transition: transform 1.6s var(--ease); }
.steps.seen::after { transform: scaleX(1); }
.step { padding-inline-end: 24px; position: relative; }
.step-no { display: grid; place-items: center; width: 48px; height: 48px; background: var(--paper); border: 2px solid var(--ink); font: 600 22px var(--display); color: var(--ink); position: relative; z-index: 1; margin-bottom: 26px; transition: background .3s, border-color .3s, color .3s; transition-delay: calc(var(--i) * .3s); }
.steps.seen .step-no { background: var(--signal); border-color: var(--signal); color: var(--on-signal, #fff); }
.step h3 { font-size: calc(30px * var(--hs, 1)); margin-bottom: 10px; }
.step p { font-size: 16px; color: var(--muted); margin: 0; max-width: 28ch; }

/* ---------- Teklif / teknik çizim ---------- */
.cta { background: var(--ink); color: #fff; padding: clamp(80px, 10vw, 130px) 0; overflow: hidden; }
.cta-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 60px; align-items: center; }
.cta h2 { color: #fff; font-size: calc(clamp(48px, 6.5vw, 96px) * var(--hs, 1)); margin-bottom: 22px; }
.cta p { color: var(--alu); font-size: 19px; max-width: 42ch; margin-bottom: 34px; }
.blueprint { width: 100%; height: auto; overflow: visible; }
.blueprint .ln { fill: none; stroke: var(--alu); }
.blueprint .thin { stroke-width: 1; opacity: .55; }
.blueprint .thin .dash { stroke-dasharray: 3 4; opacity: .7; }
.blueprint .bold { stroke-width: 2; stroke: #dfe5ea; }
.blueprint .door { stroke: var(--signal); }
.blueprint .dim { stroke-width: 1; stroke: var(--signal); }
.blueprint .bp-text { font: 500 13px var(--display); fill: var(--alu); letter-spacing: .03em; }
.js .blueprint .ln > :not(.dash) { stroke-dasharray: 1000; stroke-dashoffset: 1000; }
.js .blueprint .dash { stroke-dasharray: 0 1200; }
.js .blueprint .bp-text { opacity: 0; transition: opacity .8s 2.2s; }
.js .blueprint.seen .ln > :not(.dash) { animation: draw 2.4s var(--ease) forwards; }
.js .blueprint.seen .thin line { animation-delay: .7s; }
.js .blueprint.seen .dim line { animation-delay: 1.4s; }
.js .blueprint.seen .bp-text { opacity: 1; }
.js .blueprint.seen .thin .dash { animation: draw-dash 2.4s var(--ease) 1s forwards; }
@keyframes draw { to { stroke-dashoffset: 0; } }
@keyframes draw-dash { from { stroke-dasharray: 0 1200; stroke-dashoffset: 0; } to { stroke-dasharray: 3 4; stroke-dashoffset: 0; } }

/* ==========================================================================
   İÇ SAYFALAR
   ========================================================================== */
.phero { background: var(--ink); color: #fff; padding: clamp(70px, 9vw, 120px) 0 clamp(44px, 5vw, 64px); position: relative; overflow: hidden; isolation: isolate; }
.phero::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .16;
  background: repeating-linear-gradient(90deg, transparent 0 calc(12.5% - 2px), var(--alu) calc(12.5% - 2px) 12.5%),
              repeating-linear-gradient(180deg, transparent 0 118px, var(--alu) 118px 121px);
  -webkit-mask-image: linear-gradient(90deg, transparent 20%, #000 90%); mask-image: linear-gradient(90deg, transparent 20%, #000 90%); }
.phero h1 { color: #fff; font-size: calc(clamp(52px, 8vw, 120px) * var(--hs, 1)); max-width: 14ch; text-wrap: balance; }
.crumbs { display: flex; gap: 10px; font: 500 16px var(--display); color: var(--alu); margin-bottom: 22px; }
.crumbs a { color: #fff; text-decoration: none; }
.crumbs a:hover { color: var(--signal); }
.pbody { padding: clamp(60px, 8vw, 110px) 0; }
.pbody-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: clamp(40px, 7vw, 100px); align-items: start; }
.prose { font-size: 19px; max-width: 68ch; }
.prose > :first-child { margin-top: 0; }
.prose h2 { font-size: calc(clamp(34px, 3.6vw, 48px) * var(--hs, 1)); margin: 1.3em 0 .5em; }
.prose h3 { font-size: calc(28px * var(--hs, 1)); margin: 1.3em 0 .4em; }
.prose h4 { font: 600 22px var(--display); margin: 1.2em 0 .4em; }
.prose a { color: var(--glass); text-decoration-color: var(--signal); text-underline-offset: 3px; }
.prose ul, .prose ol { padding: 0; margin: 0 0 1.4em; list-style: none; counter-reset: li; }
.prose li { padding: 14px 0 14px 34px; border-bottom: 1px solid var(--rule); position: relative; }
.prose ul > li::before { content: ""; position: absolute; inset-inline-start: 0; top: 26px; width: 16px; height: 2px; background: var(--signal); }
.prose ol > li { counter-increment: li; }
.prose ol > li::before { content: counter(li); position: absolute; inset-inline-start: 0; top: 13px; font: 600 20px var(--display); color: var(--signal); }
.prose img { margin: 32px 0; }
.prose blockquote { margin: 32px 0; padding: 6px 0 6px 28px; border-inline-start: 3px solid var(--signal); font: 500 28px/1.25 var(--display); color: var(--ink); }
.prose .ql-align-center { text-align: center; } .prose .ql-align-right { text-align: right; } .prose .ql-align-justify { text-align: justify; }
.pside { position: sticky; top: 100px; }
.pside-box { background: var(--ink); color: #fff; padding: 34px 30px; position: relative; }
.pside-box::before { content: ""; position: absolute; inset-inline-start: 0; top: 0; width: 60px; height: 4px; background: var(--signal); }
.pside-box h2 { color: #fff; font-size: calc(34px * var(--hs, 1)); margin-bottom: 12px; }
.pside-box p { color: var(--alu); font-size: 16px; margin-bottom: 24px; }
.pside-box .btn { width: 100%; }
.pside-phone { display: block; margin-top: 18px; font: 600 24px var(--display); color: #fff; text-decoration: none; }

/* ---------- İletişim ---------- */
.contact-grid { display: grid; grid-template-columns: 1fr 1.3fr; gap: clamp(40px, 7vw, 100px); }
.contact-intro { font-size: 20px; color: var(--ink); max-width: 40ch; }
.contact-info dl { margin: 36px 0 0; border-top: 2px solid var(--ink); }
.contact-info dl > div { display: grid; grid-template-columns: 150px 1fr; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--rule); }
.contact-info dt { color: var(--muted); font-size: 15px; }
.contact-info dd { margin: 0; font: 500 21px/1.3 var(--display); color: var(--ink); }
.contact-info dd a { text-decoration: none; }
.contact-info dd a:hover { color: var(--signal); }
.cform { background: #fff; padding: clamp(26px, 4vw, 48px); border-top: 4px solid var(--signal); }
.cform-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 26px; }
.fld { position: relative; }
.fld.full { grid-column: 1 / -1; }
.fld input, .fld textarea { width: 100%; border: 0; border-bottom: 2px solid var(--rule); background: transparent; padding: 26px 0 10px; font: 400 18px var(--body); color: var(--ink); border-radius: 0; resize: vertical; transition: border-color .25s; }
.fld input:focus, .fld textarea:focus { outline: none; border-color: var(--signal); }
.fld label { position: absolute; inset-inline-start: 0; top: 24px; color: var(--muted); font-size: 17px; pointer-events: none; transition: transform .2s var(--ease), font-size .2s, color .2s; transform-origin: left top; }
.fld input:focus + label, .fld input:not(:placeholder-shown) + label,
.fld textarea:focus + label, .fld textarea:not(:placeholder-shown) + label { transform: translateY(-20px); font-size: 13.5px; color: var(--glass); }
.hp { position: absolute; inset-inline-start: -9999px; }
.note { padding: 14px 18px; margin-bottom: 22px; font-size: 16px; }
.note p { margin: 0; }
.note.ok { background: #e8f5ec; color: #14532d; border-inline-start: 4px solid #16a34a; }
.note.err { background: #fdecec; color: #7f1d1d; border-inline-start: 4px solid #dc2626; }
.map { display: block; width: 100%; height: 440px; border: 0; filter: grayscale(1) contrast(1.05); }

.p404 { min-height: 70vh; display: flex; align-items: center; }
.p404 p { color: var(--alu); font-size: 19px; margin: 18px 0 30px; }
.code404 { font: 600 clamp(120px, 22vw, 300px)/.8 var(--display); color: transparent; -webkit-text-stroke: 2px var(--signal); margin: 0 0 20px !important; }

/* ---------- Alt bilgi ---------- */
.ftr { background: var(--ink); color: var(--alu); padding-top: clamp(60px, 8vw, 100px); border-top: 1px solid rgba(255,255,255,.08); }
.ftr-grid { display: grid; grid-template-columns: minmax(240px, 1.8fr) repeat(auto-fit, minmax(150px, 1fr)); gap: 40px; }
.ftr h2 { font: 600 17px var(--display); color: #fff; margin-bottom: 16px; }
.ftr ul { list-style: none; margin: 0; padding: 0; }
.ftr li { margin-bottom: 8px; font-size: 16px; }
.ftr a { text-decoration: none; color: #dfe4e8; }
.ftr a:hover { color: var(--signal); }
.ftr-about p { max-width: 38ch; font-size: 16px; }
.ftr-logo { max-height: 50px; width: auto; margin-bottom: 18px; }
.addr { color: var(--alu); }
.ftr-name { font: 600 clamp(64px, 13vw, 210px)/.82 var(--display); color: transparent; -webkit-text-stroke: 1px rgba(185,193,200,.35); margin: clamp(48px, 7vw, 90px) 0 0; white-space: nowrap; overflow: hidden; letter-spacing: -.02em; }
.ftr-base { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; padding: 22px 0 28px; border-top: 1px solid rgba(255,255,255,.1); font-size: 14.5px; }

/* ---------- Görünürlüğe göre ---------- */
@media (max-width: 1080px) {
  .nav a { padding: 8px 8px; font-size: 17px; }
  .hdr-cta { display: none; }
  .cta-grid { grid-template-columns: 1fr; }
  .blueprint { max-width: 620px; }
}
@media (max-width: 900px) {
  .burger { display: block; }
  .nav { position: fixed; inset: 0; background: var(--ink); color: #fff; flex-direction: column; align-items: flex-start; justify-content: safe center; gap: 0; padding: 90px var(--gutter) 40px; overflow-y: auto; overscroll-behavior: contain;
    clip-path: inset(0 0 100% 0); transition: clip-path .5s var(--ease); z-index: -1; }
  .nav-open .nav { clip-path: inset(0 0 0 0); }
  .nav a { font-size: clamp(30px, 8vw, 54px); font-weight: 600; padding: 4px 0; flex-shrink: 0; }
  .nav a::after { inset-inline-start: 0; inset-inline-end: auto; width: 40px; bottom: 8px; }
  .lang-more { display: none; }
  .lang-sw { display: flex; margin: 26px 0 0; gap: 18px; }
  .nav .lang-sw a { font-size: 18px; padding: 6px 0; }
  .nav .lang-sw a::after { inset-inline-start: 0; inset-inline-end: 0; width: auto; bottom: 0; }
  .nav-phone { display: block; margin-top: 28px; font-size: 24px !important; color: var(--signal) !important; }
  .nav-open .hdr { color: #fff !important; background: transparent !important; border-color: transparent !important; }
  .nav-open .hdr .brand { color: #fff; }
  .nav-open { overflow: hidden; }
  .figures-grid { grid-template-columns: 1fr 1fr; }
  .figure { padding: 30px 0; border-inline-start: 0; border-top: 1px solid rgba(255,255,255,.12); }
  .figure:nth-child(-n+2) { border-top: 0; }
  .about-grid, .pbody-grid, .contact-grid { grid-template-columns: 1fr; }
  .about-media { max-width: 520px; aspect-ratio: 4 / 3.4; }
  .pside { position: static; }
  .svc { grid-template-columns: 1fr; gap: 8px; }
  .steps { grid-template-columns: 1fr; gap: 28px; }
  .steps::before, .steps::after { inset-inline-start: 23px; inset-inline-end: auto; top: 0; bottom: 0; width: 2px; height: auto; }
  .steps::after { transform: scaleY(0); transform-origin: top; }
  .steps.seen::after { transform: scaleY(1); }
  .step { display: grid; grid-template-columns: 48px 1fr; column-gap: 22px; padding: 0; }
  .step-no { margin: 0; grid-row: span 2; }
  .ftr-grid { grid-template-columns: 1fr 1fr; }
  .ftr-about { grid-column: 1 / -1; }
}
@media (max-width: 1080px) {
  .kunye-in { grid-template-columns: 1fr auto; }
  .k-data { grid-column: 1 / -1; grid-row: 2; }
  .k-data > div:first-child { padding-inline-start: 0; border-inline-start: 0; }
}
@media (max-width: 560px) {
  .k-data { flex-wrap: wrap; row-gap: 10px; }
  .k-data > div { padding: 0 16px 0 0; border: 0; width: 50%; }
  .k-data > [data-kwrap="client"], .k-data > [data-kwrap="work"] { display: none; }
  .kunye-in { padding-top: 14px; padding-bottom: 16px; gap: 14px; }
  .hero-body { padding-top: 110px; }
  .k-title { font-size: 22px; }
  body { font-size: calc(var(--fs, 17px) - .5px); }
  .hdr-in { height: 66px; }
  .brand-name { font-size: 22px; }
  .hero-actions .btn { flex: 1 1 auto; }
  .cform-grid { grid-template-columns: 1fr; }
  .contact-info dl > div { grid-template-columns: 1fr; gap: 2px; }
  .ftr-grid { grid-template-columns: 1fr; }
}

/* Hareket hassasiyeti */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .js .hero .hero-title, .js .hero .hero-lead, .js .hero .hero-actions, .js .hero .kunye { opacity: 1; transform: none; }
  .js .hero--slides .mullions { clip-path: none; }
  .hero-panes .pane { opacity: 1; transform: none; }
  .js .blueprint .ln > :not(.dash) { stroke-dashoffset: 0; } .js .blueprint .dash { stroke-dasharray: 3 4; }
  .js .blueprint .bp-text { opacity: 1; }
  .steps::after { transform: none; }
}
.nav-open .hdr { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }

.is-home .hdr:not(.solid) .brand-mark i { background: #fff; }
.is-home .hdr:not(.solid) .brand-mark i:nth-child(2) { background: var(--signal); }
.nav-open .brand-mark i { background: #fff; }
.nav-open .brand-mark i:nth-child(2) { background: var(--signal); }
.ftr-brand { display: block; font: 600 30px/1 var(--display); color: #fff; margin-bottom: 16px; }

/* ==========================================================================
   PROJELER
   ========================================================================== */
.phero-lead { color: var(--alu); font-size: 19px; max-width: 56ch; margin: 22px 0 0; }
.dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--signal); margin-inline-end: 8px; vertical-align: middle; box-shadow: 0 0 0 0 color-mix(in srgb, var(--signal) 60%, transparent); animation: pulse 1.8s infinite; }
@keyframes pulse { 70% { box-shadow: 0 0 0 8px transparent; } 100% { box-shadow: 0 0 0 0 transparent; } }
.badge-live { position: absolute; inset-inline-start: 16px; top: 16px; z-index: 2; display: inline-flex; align-items: center; background: rgba(16,21,27,.78); color: #fff; font: 500 15px var(--display); padding: 6px 12px; backdrop-filter: blur(6px); }

/* Filtre çubuğu */
.plist { padding-top: 40px; }
.pfilter { display: flex; flex-wrap: wrap; gap: 14px 28px; align-items: center; margin-bottom: 32px; padding-bottom: 22px; border-bottom: 1px solid var(--rule); }
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chip { font: 500 17px var(--display); background: transparent; border: 1px solid var(--rule); color: var(--ink); padding: 8px 14px; cursor: pointer; display: inline-flex; align-items: center; transition: background .2s, color .2s, border-color .2s; }
.chip span { color: var(--muted); margin-inline-start: 6px; font-size: 14px; }
.chip:hover { border-color: var(--ink); }
.chip.on { background: var(--ink); border-color: var(--ink); color: #fff; }
.chip.on span { color: var(--alu); }
.viewswitch { margin-inline-start: auto; display: flex; border: 1px solid var(--ink); }
.viewswitch button { font: 500 17px var(--display); background: transparent; border: 0; padding: 8px 16px; cursor: pointer; color: var(--ink); }
.viewswitch button.on { background: var(--ink); color: #fff; }

/* Kartlar */
.pgrid { display: grid; grid-template-columns: repeat(3, 1fr); grid-auto-rows: 300px; grid-auto-flow: dense; gap: 14px; }
.pgrid.three { grid-auto-rows: 280px; }
.pcard { position: relative; overflow: hidden; display: block; color: #fff; text-decoration: none; background: var(--ink); isolation: isolate; }
.pcard.big { grid-column: span 2; grid-row: span 2; }
.pcard-img, .pcard-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pcard-img { z-index: -2; transition: transform 1.2s var(--ease); }
.pcard:hover .pcard-img { transform: scale(1.05); }
.pcard::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(12,16,21,.88) 0%, rgba(12,16,21,.2) 55%, transparent 80%); transition: opacity .4s; }
.pcard-body { position: absolute; inset-inline-start: 0; inset-inline-end: 0; bottom: 0; padding: 22px 24px; display: flex; flex-direction: column; gap: 4px; }
.pcard-body::before { content: ""; position: absolute; inset-inline-start: 24px; top: 0; width: 0; height: 3px; background: var(--signal); transition: width .5s var(--ease); }
.pcard:hover .pcard-body::before { width: 70px; }
.pcard-cat { font-size: 14px; color: var(--alu); }
.pcard-title { font: var(--hw, 600) calc(26px * var(--hs, 1))/1.08 var(--display); }
.pcard.big .pcard-title { font-size: calc(clamp(30px, 3.2vw, 46px) * var(--hs, 1)); }
.pcard-meta { font-size: 14.5px; color: rgba(255,255,255,.78); white-space: pre; }
.pcard.is-hidden { display: none; }
.pempty { padding: 60px 0; text-align: center; color: var(--muted); font-size: 19px; }

/* Harita */
.pmap { height: min(72vh, 680px); background: var(--ink); }
.pmap .leaflet-tile-pane { filter: grayscale(.2); }
.pin { width: 18px; height: 18px; background: var(--signal); border: 3px solid #fff; box-shadow: 0 4px 14px rgba(0,0,0,.4); transform: rotate(45deg); }
.pin.ongoing { animation: pin 1.8s infinite; }
@keyframes pin { 50% { box-shadow: 0 0 0 8px color-mix(in srgb, var(--signal) 30%, transparent); } }
.leaflet-popup-content-wrapper { border-radius: 0; padding: 0; overflow: hidden; }
.leaflet-popup-content { margin: 0; width: 260px !important; font-family: var(--body); }
.map-pop img { width: 100%; height: 140px; object-fit: cover; display: block; }
.map-pop div { padding: 12px 14px 14px; }
.map-pop strong { font: 600 20px/1.1 var(--display); color: var(--ink); display: block; }
.map-pop span { color: var(--muted); font-size: 13.5px; }
.map-pop a { color: inherit; text-decoration: none; }

/* Proje sayfası */
.prj-hero { position: relative; min-height: min(78vh, 760px); display: flex; align-items: flex-end; background: var(--ink); color: #fff; overflow: hidden; isolation: isolate; }
.prj-hero.no-img { min-height: 380px; }
.prj-hero-img { position: absolute; inset: 0; z-index: -2; background: center / cover no-repeat; animation: settle 2.4s var(--ease) forwards; transform: scale(1.06); }
@keyframes settle { to { transform: scale(1); } }
.prj-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(12,16,21,.9) 0%, rgba(12,16,21,.25) 50%, rgba(12,16,21,.35) 100%); }
.prj-hero-body { width: 100%; padding-top: 120px; padding-bottom: 48px; position: relative; }
.prj-hero .badge-live { position: static; margin-bottom: 18px; }
.prj-hero h1 { color: #fff; font-size: calc(clamp(48px, 7.4vw, 112px) * var(--hs, 1)); max-width: 16ch; text-wrap: balance; }
.prj-hero .crumbs a:last-child { color: #fff; }
.kunye-static { backdrop-filter: none; background: var(--ink); }
.k-wrap { flex-wrap: wrap; padding: 22px 0; row-gap: 16px; }
.k-wrap > div:first-child { padding-inline-start: 0; border-inline-start: 0; }
.prose .lead { font-size: 23px; line-height: 1.5; color: var(--ink); font-weight: 500; }
.sub-title { font-size: calc(clamp(34px, 4vw, 54px) * var(--hs, 1)); margin-bottom: 28px; }
.sub-title span { color: var(--muted); font-size: .5em; vertical-align: super; }

/* Öncesi / sonrası */
.compare-sec, .gallery-sec { padding: 0 0 clamp(60px, 8vw, 110px); }
.compare { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ink); user-select: none; touch-action: pan-y; }
.compare img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.compare .after { clip-path: inset(0 0 0 var(--pos)); }
.compare input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; margin: 0; }
.cmp-handle { position: absolute; top: 0; bottom: 0; left: var(--pos); width: 3px; margin-left: -1.5px; background: #fff; pointer-events: none; }
.cmp-handle i { position: absolute; top: 50%; left: 50%; width: 54px; height: 54px; margin: -27px 0 0 -27px; background: var(--signal); border-radius: 50%; box-shadow: 0 6px 20px rgba(0,0,0,.35); }
.cmp-handle i::before, .cmp-handle i::after { content: ""; position: absolute; top: 50%; width: 0; height: 0; border: 7px solid transparent; margin-top: -7px; }
.cmp-handle i::before { left: 9px; border-right-color: #fff; }
.cmp-handle i::after { right: 9px; border-left-color: #fff; }
.compare input:focus-visible ~ .cmp-handle i { outline: 3px solid #fff; outline-offset: 3px; }
.cmp-label { position: absolute; top: 18px; font: 600 16px var(--display); background: rgba(16,21,27,.72); color: #fff; padding: 6px 12px; pointer-events: none; }
.cmp-label.l { left: 18px; } .cmp-label.r { right: 18px; }

/* Galeri + ışık kutusu */
.gallery { display: grid; grid-template-columns: repeat(4, 1fr); grid-auto-rows: 220px; gap: 10px; }
.gallery .g { position: relative; overflow: hidden; background: var(--ink); display: block; }
.gallery .g.wide { grid-column: span 2; grid-row: span 2; }
.gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease), opacity .3s; }
.gallery .g:hover img { transform: scale(1.04); opacity: .9; }
.lightbox { position: fixed; inset: 0; z-index: 200; background: rgba(10,13,17,.96); display: grid; grid-template-columns: 80px 1fr 80px; align-items: center; }
.lightbox[hidden] { display: none; }
.lightbox figure { margin: 0; height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 50px 0 30px; }
.lightbox img { max-width: 100%; max-height: calc(100vh - 120px); object-fit: contain; }
.lightbox figcaption { color: var(--alu); font: 500 17px var(--display); margin-top: 14px; }
.lightbox button { background: none; border: 0; color: #fff; font-size: 48px; cursor: pointer; height: 100%; opacity: .7; }
.lightbox button:hover { opacity: 1; color: var(--signal); }
.lb-close { position: absolute; right: 18px; top: 10px; height: auto !important; font-size: 40px !important; }

/* Konum */
.loc-sec { padding: 0 0 clamp(60px, 8vw, 110px); }
.loc-grid { display: grid; grid-template-columns: 1fr 2fr; gap: 40px; align-items: start; }
.loc-name { font: 500 26px/1.25 var(--display); color: var(--ink); }
.loc-map { height: 380px; background: var(--concrete); z-index: 0; }

/* Önceki / sonraki */
.prj-nav { display: grid; grid-template-columns: 1fr 1fr; background: var(--ink); }
.prj-nav-item { position: relative; min-height: 220px; display: flex; align-items: flex-end; padding: 32px var(--gutter); color: #fff; text-decoration: none; overflow: hidden; isolation: isolate; }
.prj-nav-item.next { justify-content: flex-end; text-align: end; border-inline-start: 1px solid rgba(255,255,255,.1); }
.pn-img { position: absolute; inset: 0; z-index: -2; background: center / cover; opacity: .35; transition: opacity .4s, transform 1s var(--ease); }
.prj-nav-item:hover .pn-img { opacity: .6; transform: scale(1.04); }
.pn-body small { display: block; color: var(--alu); font-size: 15px; margin-bottom: 6px; }
.pn-body strong { font: var(--hw, 600) calc(clamp(26px, 3vw, 40px) * var(--hs, 1))/1.05 var(--display); }
.related { padding: clamp(70px, 9vw, 120px) 0; }

/* Ana sayfa: seçili projeler şeridi */
.featured { padding: clamp(80px, 10vw, 140px) 0 clamp(60px, 7vw, 100px); overflow: hidden; }
.fp-ctrl { display: flex; align-items: center; gap: 10px; }
.fp-ctrl .link-line { margin-inline-end: 14px; }
.k-btn.dark { border-color: var(--ink); color: var(--ink); }
.k-btn.dark:hover { color: var(--on-signal, #fff); }
.rail { display: flex; gap: 18px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline-start: max(var(--gutter), calc((100vw - var(--wrap)) / 2 + var(--gutter)));
  padding: 0 max(var(--gutter), calc((100vw - var(--wrap)) / 2 + var(--gutter))); scrollbar-width: none; }
.rail::-webkit-scrollbar { display: none; }
.fp { flex: 0 0 min(76vw, 760px); scroll-snap-align: start; position: relative; text-decoration: none; color: var(--ink); }
.fp-img { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--ink); }
.fp-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.fp:hover .fp-img img { transform: scale(1.04); }
.fp-body { display: grid; grid-template-columns: 1fr auto; gap: 18px; padding-top: 20px; border-top: 3px solid transparent; transition: border-color .3s; }
.fp:hover .fp-body { border-top-color: var(--signal); }
.fp-body strong { font: var(--hw, 600) calc(clamp(28px, 2.8vw, 40px) * var(--hs, 1))/1.05 var(--display); }
.fp-body dl { display: flex; gap: 22px; margin: 0; }
.fp-body dt { font-size: 13px; color: var(--muted); }
.fp-body dd { margin: 0; font: 500 18px var(--display); white-space: nowrap; }

@media (max-width: 900px) {
  .pgrid { grid-template-columns: 1fr 1fr; grid-auto-rows: 240px; }
  .gallery { grid-template-columns: 1fr 1fr; grid-auto-rows: 180px; }
  .loc-grid { grid-template-columns: 1fr; gap: 16px; }
  .fp-body { grid-template-columns: 1fr; }
  .fp-body dl { flex-wrap: wrap; gap: 10px 22px; }
  .viewswitch { margin-inline-start: 0; }
}
@media (max-width: 560px) {
  .pgrid, .pgrid.three { grid-template-columns: 1fr; grid-auto-rows: 260px; }
  .pcard.big { grid-column: auto; grid-row: span 1; }
  .prj-nav { grid-template-columns: 1fr; }
  .prj-nav-item.next { border-inline-start: 0; border-top: 1px solid rgba(255,255,255,.1); }
  .lightbox { grid-template-columns: 44px 1fr 44px; }
  .fp { flex-basis: 86vw; }
}
@media (prefers-reduced-motion: reduce) { .prj-hero-img { transform: none; } .dot, .pin.ongoing { animation: none; } }
.leaflet-container a.map-pop, .leaflet-container a.map-pop * { color: inherit; text-decoration: none; } .leaflet-container a.map-pop strong { color: var(--ink); } .leaflet-container a.map-pop:hover strong { color: var(--signal); }

/* ==========================================================================
   BELGELER · REFERANSLAR · MAKİNE PARKI
   ========================================================================== */
.cgroup { margin-bottom: clamp(50px, 6vw, 80px); }
.cgroup-title { font-size: calc(clamp(30px, 3.4vw, 44px) * var(--hs, 1)); padding-bottom: 16px; margin-bottom: 28px; border-bottom: 2px solid var(--ink); display: flex; align-items: baseline; gap: 12px; }
.cgroup-title span { font: 500 17px var(--body); color: var(--muted); }
.phero-figure { margin: 28px 0 0; color: var(--alu); font-size: 17px; }
.phero-figure strong { font: var(--hw, 600) 56px/1 var(--display); color: #fff; margin-inline-end: 8px; vertical-align: -6px; }

/* Belge kartları: kâğıt görünümlü önizleme */
.docs { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 28px 24px; }
.doc { display: flex; flex-direction: column; }
.doc-sheet { position: relative; aspect-ratio: 1 / 1.414; background: #fff; border: 1px solid var(--rule); box-shadow: 0 1px 0 var(--rule), 6px 6px 0 -1px var(--paper), 6px 6px 0 0 var(--rule); overflow: hidden; display: block; transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
a.doc-sheet:hover { transform: translateY(-4px) rotate(-.4deg); box-shadow: 0 18px 40px -18px rgba(0,0,0,.35), 6px 6px 0 -1px var(--paper), 6px 6px 0 0 var(--rule); }
.doc-sheet img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.doc-ph { position: absolute; inset: 0; padding: 18% 14%; display: flex; flex-direction: column; gap: 9px;
  background: linear-gradient(var(--signal), var(--signal)) 14% 10% / 30% 4px no-repeat, #fff; }
.doc-ph b { font: 700 44px/1 var(--display); color: var(--glass); margin-bottom: 18px; letter-spacing: .02em; }
.doc-ph i { height: 7px; background: var(--concrete); }
.doc-ph i:nth-child(3) { width: 80%; } .doc-ph i:nth-child(4) { width: 55%; }
.doc-ph::after { content: ""; position: absolute; inset-inline-end: 14%; bottom: 12%; width: 64px; height: 64px; border-radius: 50%; border: 3px double var(--signal); opacity: .7; }
.doc-type { position: absolute; inset-inline-end: 12px; top: 12px; background: var(--ink); color: #fff; font: 600 13px var(--display); padding: 3px 8px; letter-spacing: .05em; }
.doc-body { padding-top: 18px; }
.doc-body h3 { font-size: calc(23px * var(--hs, 1)); line-height: 1.12; margin-bottom: 12px; }
.doc-body dl { margin: 0 0 14px; display: grid; gap: 6px; }
.doc-body dl > div { display: grid; grid-template-columns: 96px 1fr; gap: 10px; font-size: 14.5px; }
.doc-body dt { color: var(--muted); }
.doc-body dd { margin: 0; color: var(--ink); }
.vstate { display: inline-block; font-size: 12.5px; padding: 1px 8px; margin-inline-start: 6px; }
.vstate.on { background: #e5f4ea; color: #166534; }
.vstate.off { background: #fbe9e9; color: #991b1b; }
.doc-actions { display: flex; gap: 18px; align-items: center; }
.doc-actions .link-line { font-size: 17px; }
.doc-dl { font-size: 14.5px; color: var(--muted); }
.docview { position: fixed; inset: 0; z-index: 200; background: rgba(10,13,17,.94); display: flex; flex-direction: column; }
.docview-bar { display: flex; align-items: center; gap: 18px; padding: 12px 20px; color: #fff; border-bottom: 1px solid rgba(255,255,255,.12); }
.docview-bar strong { font: 500 20px var(--display); flex: 1; }
.docview-bar .doc-dl { color: var(--alu); }
.docview-bar button { background: none; border: 0; color: #fff; font-size: 34px; cursor: pointer; line-height: 1; }
.docview-body { flex: 1; display: flex; justify-content: center; align-items: center; padding: 20px; min-height: 0; }
.docview-body iframe { width: min(100%, 980px); height: 100%; border: 0; background: #fff; }
.docview-body img { max-width: 100%; max-height: 100%; object-fit: contain; background: #fff; }

/* Referans logoları */
.logos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); border-top: 1px solid var(--rule); border-inline-start: 1px solid var(--rule); }
.logo-cell { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; aspect-ratio: 3 / 2; padding: 24px; border-inline-end: 1px solid var(--rule); border-bottom: 1px solid var(--rule); text-decoration: none; background: transparent; transition: background .3s; }
.logo-cell img { max-width: 78%; max-height: 56%; object-fit: contain; filter: grayscale(1) contrast(1.1); opacity: .7; transition: filter .3s, opacity .3s; }
.logo-cell:hover { background: #fff; }
.logo-cell:hover img { filter: none; opacity: 1; }
.logo-text { font: 600 22px/1.15 var(--display); color: var(--ink); text-align: center; }
.logo-name { position: absolute; inset-inline-start: 0; inset-inline-end: 0; bottom: 10px; text-align: center; font-size: 13px; color: var(--muted); opacity: 0; transform: translateY(4px); transition: .3s; }
.logo-cell:hover .logo-name { opacity: 1; transform: none; }

/* Ana sayfa: kayan logo şeridi */
.refs { padding: clamp(70px, 9vw, 120px) 0 clamp(60px, 7vw, 90px); background: var(--paper); overflow: hidden; }
.marquee { display: flex; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.marquee-track { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 72px; padding-inline-end: 72px; flex-shrink: 0; animation: marquee calc(var(--n, 8) * 4s) linear infinite; }
.marquee:hover .marquee-track { animation-play-state: paused; }
.marquee-track li { flex-shrink: 0; height: 64px; display: flex; align-items: center; }
.marquee-track img { max-height: 56px; max-width: 170px; object-fit: contain; filter: grayscale(1); opacity: .6; transition: filter .3s, opacity .3s; }
.marquee-track li:hover img { filter: none; opacity: 1; }
.marquee-track .logo-text { white-space: nowrap; font-size: 24px; color: var(--muted); }
@keyframes marquee { to { transform: translateX(-100%); } }

/* Makine parkı */
.machines { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 24px; }
.mach { background: #fff; border-top: 3px solid var(--ink); display: flex; flex-direction: column; transition: border-color .3s, transform .35s var(--ease); }
.mach:hover { border-top-color: var(--signal); transform: translateY(-3px); }
.mach.is-hidden { display: none; }
.mach-img { position: relative; aspect-ratio: 4 / 3; background: var(--concrete); overflow: hidden; }
.mach-img img { width: 100%; height: 100%; object-fit: cover; }
.mach-n { position: absolute; inset-inline-end: 0; bottom: 0; background: var(--signal); color: var(--on-signal, #fff); font: 600 28px/1 var(--display); padding: 10px 14px; }
.mach-body { padding: 20px 22px 24px; }
.mach-body .pcard-cat { color: var(--muted); }
.mach-body h3 { font-size: calc(26px * var(--hs, 1)); margin: 4px 0 14px; }
.mach-body dl { margin: 0; display: grid; gap: 6px; }
.mach-body dl > div { display: grid; grid-template-columns: 110px 1fr; gap: 10px; font-size: 15px; border-top: 1px solid var(--rule); padding-top: 6px; }
.mach-body dt { color: var(--muted); }
.mach-body dd { margin: 0; color: var(--ink); }
.ftr li.cert { color: #fff; font-size: 15px; }
.ftr li.cert::before { content: "✓"; color: var(--signal); margin-inline-end: 8px; }
@media (prefers-reduced-motion: reduce) { .marquee { flex-wrap: wrap; -webkit-mask-image: none; mask-image: none; } .marquee-track:last-child { display: none; } .marquee-track { flex-wrap: wrap; animation: none; } }
.mach-img.noimg { background:
  repeating-linear-gradient(90deg, transparent 0 23px, color-mix(in srgb, var(--glass) 14%, transparent) 23px 24px),
  repeating-linear-gradient(0deg, transparent 0 23px, color-mix(in srgb, var(--glass) 14%, transparent) 23px 24px), var(--concrete);
  display: grid; place-items: center; }
.mach-ph { font: 700 96px/1 var(--display); color: transparent; -webkit-text-stroke: 2px color-mix(in srgb, var(--glass) 45%, transparent); }

/* ==========================================================================
   TEKLİF FORMU
   ========================================================================== */
.quote-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(260px, 1fr); gap: clamp(36px, 6vw, 90px); align-items: start; }
.qform { background: #fff; padding: clamp(24px, 4vw, 52px); border-top: 4px solid var(--signal); }
.q-progress { list-style: none; margin: 0 0 34px; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; counter-reset: s; }
.q-progress li { position: relative; padding-top: 14px; font: 500 17px var(--display); color: var(--muted); display: flex; gap: 10px; align-items: center; cursor: default; }
.q-progress li::before { content: ""; position: absolute; inset-inline-start: 0; inset-inline-end: 0; top: 0; height: 4px; background: var(--rule); }
.q-progress li::after { content: ""; position: absolute; inset-inline-start: 0; top: 0; height: 4px; width: 0; background: var(--signal); transition: width .5s var(--ease); }
.q-progress li.on, .q-progress li.done { color: var(--ink); }
.q-progress li.on::after, .q-progress li.done::after { width: 100%; }
.q-progress li.done { cursor: pointer; }
.q-progress span { display: grid; place-items: center; width: 28px; height: 28px; border: 2px solid currentColor; font-size: 15px; }
.q-progress li.done span { background: var(--ink); color: #fff; border-color: var(--ink); }
.q-step { border: 0; padding: 0; margin: 0 0 28px; min-width: 0; }
.q-step legend { font: var(--hw, 600) calc(clamp(26px, 2.6vw, 34px) * var(--hs, 1))/1.15 var(--display); color: var(--ink); padding: 0; margin-bottom: 22px; }
.js .q-step { display: none; }
.js .q-step.on { display: block; animation: qin .45s var(--ease); }
@keyframes qin { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: none; } }
.q-types { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px; margin-bottom: 26px; }
.q-type { position: relative; cursor: pointer; }
.q-type input, .q-chip input { position: absolute; opacity: 0; pointer-events: none; }
.q-type span { display: flex; align-items: flex-end; min-height: 92px; padding: 14px 16px; border: 2px solid var(--rule); font: 500 19px/1.15 var(--display); color: var(--ink); transition: border-color .2s, background .2s, color .2s; position: relative; }
.q-type span::before { content: ""; position: absolute; inset-inline-end: 12px; top: 12px; width: 18px; height: 18px; border: 2px solid var(--rule); border-radius: 50%; transition: .2s; }
.q-type:hover span { border-color: var(--ink); }
.q-type input:checked + span { border-color: var(--ink); background: var(--ink); color: #fff; }
.q-type input:checked + span::before { border-color: var(--signal); background: var(--signal); box-shadow: inset 0 0 0 3px var(--ink); }
.q-type input:focus-visible + span, .q-chip input:focus-visible + span { outline: 3px solid var(--signal); outline-offset: 2px; }
.q-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 26px; }
.q-chip span { display: inline-block; padding: 10px 16px; border: 1px solid var(--rule); font: 500 17px var(--display); color: var(--ink); cursor: pointer; transition: .2s; }
.q-chip input:checked + span { background: var(--signal); border-color: var(--signal); color: var(--on-signal, #fff); }
.fld.sel select { width: 100%; border: 0; border-bottom: 2px solid var(--rule); background: transparent; padding: 26px 0 10px; font: 400 18px var(--body); color: var(--ink); border-radius: 0; appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%); background-position: calc(100% - 12px) 34px, calc(100% - 6px) 34px; background-size: 6px 6px; background-repeat: no-repeat; }
.fld.sel label { transform: translateY(-20px); font-size: 13.5px; color: var(--glass); }
.q-drop { position: relative; border: 2px dashed var(--rule); padding: 26px; text-align: center; transition: border-color .2s, background .2s; margin-top: 6px; }
.q-drop.over { border-color: var(--signal); background: color-mix(in srgb, var(--signal) 6%, transparent); }
.q-drop input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.q-drop label { display: flex; flex-direction: column; gap: 4px; pointer-events: none; }
.q-drop strong { font: 600 20px var(--display); color: var(--ink); }
.q-drop strong::before { content: "↑"; display: block; width: 40px; height: 40px; margin: 0 auto 10px; border: 2px solid var(--ink); line-height: 36px; font-size: 20px; }
.q-drop span { font-size: 14px; color: var(--muted); }
.q-files { list-style: none; margin: 14px 0 0; padding: 0; text-align: start; position: relative; z-index: 1; }
.q-files li { display: flex; justify-content: space-between; gap: 10px; padding: 8px 12px; background: var(--paper); margin-top: 6px; font-size: 15px; }
.q-files li.bad { background: #fdecec; color: #991b1b; }
.q-files small { color: var(--muted); white-space: nowrap; }
.q-kvkk { display: flex; gap: 12px; align-items: flex-start; font-size: 15px; color: var(--text); margin-top: 8px; cursor: pointer; }
.q-kvkk input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: var(--signal); flex-shrink: 0; }
.q-kvkk a { color: var(--glass); }
.q-nav { display: flex; align-items: center; gap: 12px; padding-top: 24px; border-top: 1px solid var(--rule); }
.q-nav [data-next], .q-nav [data-submit] { margin-inline-start: auto; }
.js .q-nav [data-submit] { display: none; }
.js .qform.last .q-nav [data-submit] { display: inline-flex; }
.js .qform.last .q-nav [data-next] { display: none; }
.no-js .q-nav [data-next], .no-js .q-nav [data-prev] { display: none; }
.q-count { font-size: 14px; color: #b91c1c; }
.btn-line.dark { color: var(--ink); border-color: var(--ink); }
.btn-line.dark:hover { background: var(--ink); color: #fff; }
.q-side { position: sticky; top: 100px; }
.q-side h2 { font-size: calc(32px * var(--hs, 1)); margin-bottom: 22px; }
.q-after { list-style: none; margin: 0 0 30px; padding: 0; position: relative; }
.q-after::before { content: ""; position: absolute; inset-inline-start: 17px; top: 18px; bottom: 18px; width: 2px; background: var(--rule); }
.q-after li { position: relative; display: grid; grid-template-columns: 36px 1fr; gap: 16px; padding: 0 0 22px; font-size: 16.5px; color: var(--text); align-items: start; }
.q-after span { display: grid; place-items: center; width: 36px; height: 36px; background: var(--paper); border: 2px solid var(--ink); font: 600 17px var(--display); color: var(--ink); position: relative; z-index: 1; }
.q-call { background: var(--ink); color: #fff; padding: 22px 24px; }
.q-call small { display: block; color: var(--alu); font-size: 14px; margin-bottom: 4px; }
.q-call a { font: 600 30px var(--display); color: #fff; text-decoration: none; }
.q-done { grid-column: 1 / -1; max-width: 640px; margin: 0 auto; text-align: center; padding: 40px 0; }
.q-check { display: block; width: 84px; height: 84px; margin: 0 auto 26px; border-radius: 50%; background: var(--signal); position: relative; animation: pop .5s var(--ease); }
.q-check::after { content: ""; position: absolute; inset-inline-start: 30px; top: 18px; width: 18px; height: 36px; border: solid var(--on-signal, #fff); border-width: 0 5px 5px 0; transform: rotate(45deg); }
@keyframes pop { from { transform: scale(.4); opacity: 0; } }
.q-done h2 { font-size: calc(clamp(36px, 4vw, 54px) * var(--hs, 1)); margin-bottom: 14px; }
.q-done p { font-size: 18px; }
.q-no { font: 500 20px var(--display); color: var(--muted); margin: 18px 0 30px; }
.q-no strong { color: var(--ink); font-size: 28px; }
@media (max-width: 900px) { .quote-grid { grid-template-columns: 1fr; } .q-side { position: static; } }
@media (max-width: 560px) { .q-progress li { font-size: 0; gap: 0; } .q-progress span { font-size: 15px; } .q-types { grid-template-columns: 1fr 1fr; } .q-type span { min-height: 76px; font-size: 17px; } }

/* ==========================================================================
   HABERLER · KARİYER
   ========================================================================== */
.rss { margin-inline-start: auto; font: 500 15px var(--display); color: var(--muted); text-decoration: none; border: 1px solid var(--rule); padding: 6px 10px; }
.rss:hover { color: var(--signal); border-color: var(--signal); }
.post-meta { display: block; font-size: 14px; color: var(--muted); }
.post-lead { display: grid; grid-template-columns: 1.3fr 1fr; gap: clamp(24px, 4vw, 56px); align-items: center; text-decoration: none; color: inherit; margin-bottom: clamp(48px, 6vw, 80px); }
.post-lead-img { aspect-ratio: 16 / 10; overflow: hidden; background: var(--ink); display: block; }
.post-lead-img img, .post-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.post-lead:hover img, .post-card:hover img { transform: scale(1.04); }
.post-lead-body { display: flex; flex-direction: column; gap: 14px; }
.post-lead-body strong { font: var(--hw, 600) calc(clamp(34px, 3.8vw, 54px) * var(--hs, 1))/1.04 var(--display); color: var(--ink); text-wrap: balance; }
.post-ex { color: var(--text); font-size: 17.5px; }
.post-lead .link-line { align-self: flex-start; margin-top: 6px; }
.posts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px 28px; }
.post-card { display: flex; flex-direction: column; gap: 10px; text-decoration: none; color: inherit; }
.post-img { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--concrete); margin-bottom: 6px; }
.post-card strong { font: var(--hw, 600) calc(25px * var(--hs, 1))/1.12 var(--display); color: var(--ink); transition: color .2s; }
.post-card:hover strong { color: var(--glass); }
.post-card .post-ex { font-size: 15.5px; color: var(--muted); }
.news-home { padding: clamp(70px, 9vw, 120px) 0 0; }
.pager-f { display: flex; gap: 6px; justify-content: center; margin-top: 56px; }
.pager-f a { min-width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--rule); text-decoration: none; font: 500 18px var(--display); color: var(--ink); }
.pager-f a[aria-current] { background: var(--ink); color: #fff; border-color: var(--ink); }
.art-head { padding: clamp(60px, 8vw, 110px) 0 clamp(30px, 4vw, 48px); }
.art-head .crumbs { color: var(--muted); } .art-head .crumbs a { color: var(--ink); }
.art-head h1 { font-size: calc(clamp(42px, 6vw, 88px) * var(--hs, 1)); max-width: 18ch; text-wrap: balance; }
.art-meta { display: flex; gap: 22px; flex-wrap: wrap; color: var(--muted); font-size: 15.5px; margin: 24px 0 0; }
.art-meta span::before { content: ""; display: inline-block; width: 5px; height: 5px; background: var(--signal); margin-inline-end: 22px; vertical-align: middle; }
.art-meta span:first-of-type::before { margin-inline-start: 0; }
.art-cover { margin: 0 auto clamp(40px, 6vw, 72px); }
.art-cover img { width: 100%; max-height: 72vh; object-fit: cover; }
.art-grid { display: grid; grid-template-columns: 180px minmax(0, 720px); gap: clamp(30px, 5vw, 80px); justify-content: center; padding-bottom: clamp(60px, 8vw, 110px); }
.share { position: sticky; top: 110px; align-self: start; display: flex; flex-direction: column; gap: 4px; }
.share span { font-size: 13px; color: var(--muted); margin-bottom: 6px; }
.share a, .share button { font: 500 16px var(--display); color: var(--ink); text-decoration: none; background: none; border: 0; border-bottom: 1px solid var(--rule); padding: 9px 0; text-align: start; cursor: pointer; }
.share a:hover, .share button:hover { color: var(--signal); }
.art-body { font-size: 19px; }
.perks-sec { background: var(--concrete); padding: clamp(50px, 6vw, 80px) 0; }
.perks { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 32px; }
.perk { border-top: 3px solid var(--ink); padding-top: 18px; }
.perk h3 { font-size: calc(26px * var(--hs, 1)); margin-bottom: 8px; }
.perk p { color: var(--muted); margin: 0; font-size: 16px; }
.job-list { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--ink); }
.job-list li.is-hidden { display: none; }
.job-row { display: grid; grid-template-columns: minmax(0, 2.4fr) 1fr 1fr 1fr 40px; gap: 20px; align-items: center; padding: 24px 0; border-bottom: 1px solid var(--rule); text-decoration: none; color: inherit; position: relative; }
.job-row::before { content: ""; position: absolute; inset-inline-start: 0; top: -1px; width: 0; height: 2px; background: var(--signal); transition: width .5s var(--ease); }
.job-row:hover::before { width: 100%; }
.job-t strong { display: block; font: var(--hw, 600) calc(27px * var(--hs, 1))/1.1 var(--display); color: var(--ink); transition: color .2s; }
.job-row:hover .job-t strong { color: var(--glass); }
.job-t small { display: block; color: var(--muted); font-size: 15px; margin-top: 4px; }
.job-m { font-size: 15.5px; color: var(--text); }
.job-go { font-size: 26px; color: var(--signal); transition: transform .3s var(--ease); }
.job-row:hover .job-go { transform: translateX(6px); }
.general-app { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 48px; padding: 32px; background: var(--ink); color: #fff; }
.general-app h3 { color: #fff; font-size: 30px; margin-bottom: 6px; }
.general-app p { color: var(--alu); margin: 0; max-width: 60ch; }
.job-grid { grid-template-columns: minmax(0, 1fr) minmax(320px, 440px); }
.apply { position: sticky; top: 100px; }
.apply-form h2 { font-size: calc(34px * var(--hs, 1)); margin-bottom: 18px; }
.apply-form .btn { width: 100%; margin-top: 22px; }
.apply-form .cform-grid { margin-bottom: 16px; }
.quote-grid .apply { grid-column: 1 / -1; max-width: 760px; margin: 0 auto; width: 100%; position: static; }
@media (max-width: 980px) {
  .post-lead { grid-template-columns: 1fr; }
  .posts { grid-template-columns: 1fr 1fr; }
  .art-grid { grid-template-columns: 1fr; }
  .share { position: static; flex-direction: row; flex-wrap: wrap; gap: 8px 16px; order: 2; }
  .share span { width: 100%; }
  .share a, .share button { border: 0; padding: 4px 0; }
  .job-row { grid-template-columns: 1fr auto; }
  .job-m { display: none; }
  .job-grid { grid-template-columns: 1fr; }
  .apply { position: static; }
}
@media (max-width: 560px) { .posts { grid-template-columns: 1fr; } }
/* Menü taşması: "diğer" açılır menüsü */
.brand-name { white-space: nowrap; }
a.chip { text-decoration: none; }
.nav-more { position: relative; }
.nav-more-btn { font: 500 18px var(--display); background: none; border: 0; color: inherit; padding: 8px 12px; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.nav-more-btn::after { content: ""; width: 7px; height: 7px; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg) translateY(-3px); transition: transform .2s; }
.nav-more-btn.cur { box-shadow: inset 0 -2px var(--signal); }
.nav-drop { position: absolute; inset-inline-end: 0; top: 100%; min-width: 240px; background: var(--paper); color: var(--ink); border-top: 3px solid var(--signal); box-shadow: 0 18px 40px -12px rgba(0,0,0,.3); padding: 8px 0; opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .2s, transform .2s, visibility .2s; z-index: 5; }
.nav-drop a { display: block; padding: 10px 20px !important; color: var(--ink) !important; }
.nav-drop a::after { display: none; }
.nav-drop a:hover, .nav-drop a[aria-current] { background: var(--concrete); }
.nav-more:hover .nav-drop, .nav-more:focus-within .nav-drop, .nav-more.open .nav-drop { opacity: 1; visibility: visible; transform: none; }
.nav-more:hover .nav-more-btn::after, .nav-more.open .nav-more-btn::after { transform: rotate(225deg); }
@media (max-width: 900px) {
  .nav-more { display: contents; }
  .nav-more-btn { display: none; }
  .nav-drop { display: contents; opacity: 1; visibility: visible; transform: none; }
  .nav-drop a { padding: 4px 0 !important; color: #fff !important; font-size: clamp(30px, 8vw, 54px); flex-shrink: 0; background: none !important; }
}
/* Quill 2 listeleri: madde işaretliler de <ol><li data-list="bullet"> olarak gelir */
.prose ol > li[data-list="bullet"] { counter-increment: none; }
.prose ol > li[data-list="bullet"]::before { content: ""; top: 26px; width: 16px; height: 2px; background: var(--signal); font-size: 0; }
.prose li .ql-ui { display: none; }
.prose li:empty, .prose li:has(> br:only-child) { display: none; }
/* Yasal metinler ve alt bilgi bağlantıları */
.prose table { width: 100%; border-collapse: collapse; font-size: 15px; margin: 20px 0 30px; display: block; overflow-x: auto; }
.prose th { text-align: start; font: 600 15px var(--display); color: var(--ink); border-bottom: 2px solid var(--ink); padding: 10px 12px 10px 0; white-space: nowrap; }
.prose td { border-bottom: 1px solid var(--rule); padding: 10px 12px 10px 0; vertical-align: top; }
.prose em { color: var(--muted); }
.ftr-legal { display: flex; gap: 18px; flex-wrap: wrap; }
.ftr-legal a { color: var(--alu) !important; }
.ftr-legal a:hover { color: var(--signal) !important; }
.ys-embed.map { min-height: 440px; }
.legal-wrap .prose { margin: 0 auto; font-size: 17px; }


/* ---------- Sağdan sola (Arapça) ---------- */
[dir=rtl] body { letter-spacing: 0; }
[dir=rtl] * { letter-spacing: 0 !important; }
[dir=rtl] .nav a::after, [dir=rtl] .k-bar i, [dir=rtl] .steps::after { transform-origin: right; }
[dir=rtl] .svc:hover h3 { transform: translateX(-12px); }
[dir=rtl] .fld label { transform-origin: right top; }
[dir=rtl] .k-btn, [dir=rtl] .lb-prev, [dir=rtl] .lb-next, [dir=rtl] .flip-rtl { transform: scaleX(-1); }
[dir=rtl] .about-media figcaption { padding: 12px 0 0 18px; }
[dir=rtl] .marquee-track { animation-direction: reverse; }
[dir=rtl] h1, [dir=rtl] h2, [dir=rtl] .hero-title { line-height: 1.3; }
[dir=rtl] .lang-sw a, [dir=rtl] .nav-phone, [dir=rtl] [href^="tel:"], [dir=rtl] [href^="mailto:"] { direction: ltr; unicode-bidi: isolate; }
