/* ===========================================================================
   TEMİZ YAPI — "THE LINE / BLUEPRINT"
   Karanlık grafit + endüstriyel amber. Mühendislik/teknik çizim dili.
   Dev grotesk tipografi, hairline'lar, ölçü çizgileri, scroll ile çizilen hat.
   =========================================================================== */
:root {
    --ink: #0a0e12;
    --ink-2: #0e141b;
    --ink-3: #131c25;
    --ink-4: #18222d;
    --line: rgba(233, 238, 245, .11);
    --line-2: rgba(233, 238, 245, .055);
    --paper: #f1efe7;
    --mist: #9aa6b3;
    --mist-2: #6c7783;
    --steel: #586676;
    --amber: #ffb323;
    --amber-2: #ffc659;
    --amber-glow: rgba(255, 179, 35, .35);
    --whatsapp: #25d366;

    --r: 14px;
    --r-sm: 8px;
    --pill: 999px;
    --header-h: 100px;
    --container: 1240px;
    --gutter: clamp(1.1rem, 3vw, 2.2rem);

    --font: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --display: 'Space Grotesk', 'Inter', sans-serif;
    --mono: 'Space Grotesk', ui-monospace, 'SFMono-Regular', monospace;
    --ease: cubic-bezier(.16, 1, .3, 1);
    --ease-out: cubic-bezier(.22, .61, .36, 1);
    --section: clamp(5rem, 3rem + 8vw, 11rem);

    /* hareket süreleri + yüzey gölgeleri + odak halkası (cila tokenleri) */
    --dur-fast: .18s;
    --dur: .28s;
    --dur-slow: .6s;
    --shadow-1: 0 4px 16px -8px rgba(0, 0, 0, .55);
    --shadow-2: 0 24px 50px -20px rgba(0, 0, 0, .72), 0 6px 16px -10px rgba(0, 0, 0, .5);
    --ring: 0 0 0 2px var(--ink), 0 0 0 4px var(--amber);
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
    margin: 0; font-family: var(--font); color: var(--paper); line-height: 1.6;
    background-color: var(--ink);
    /* tekrar eden grid kaldırıldı → sakin, göz yormayan hafif ambiyans ışığı */
    background-image: radial-gradient(115% 70% at 50% -8%, rgba(255, 179, 35, .045), transparent 55%);
    background-repeat: no-repeat;
    background-attachment: fixed;
    -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
::selection { background: var(--amber); color: var(--ink); }

h1, h2, h3, h4 { font-family: var(--display); color: var(--paper); line-height: .98; letter-spacing: -.03em; margin: 0 0 .4em; font-weight: 700; }
h1 { font-size: clamp(2.8rem, 1.2rem + 7vw, 8rem); }
h2 { font-size: clamp(2.1rem, 1.2rem + 4vw, 4.6rem); }
h3 { font-size: clamp(1.3rem, 1rem + 1vw, 1.8rem); }
p { margin: 0 0 1rem; font-size: 15px; }
.muted { color: var(--mist); }
.center { text-align: center; }
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 1rem; top: 1rem; z-index: 100; background: var(--amber); color: var(--ink); padding: .6rem 1rem; }

/* Klavye odak halkası — yalnızca klavye (mouse tıklamasında çıkmaz) */
:focus-visible { outline: 2px solid var(--amber); outline-offset: 3px; border-radius: var(--r-sm); }
.btn:focus-visible, .nav-link:focus-visible, .card:focus-visible, .chip:focus-visible, .acc-q:focus-visible { outline-offset: 4px; }
.field-group input:focus-visible, .field-group select:focus-visible, .field-group textarea:focus-visible { outline-offset: 0; }

.container { width: 100%; max-width: var(--container); margin: 0 auto; padding: 0 var(--gutter); }
.container.narrow { max-width: 880px; }
.section { padding: var(--section) 0; position: relative; }
.section-alt { background: var(--ink-2); border-block: 1px solid var(--line-2); }

/* Teknik bölüm etiketi: "— LABEL" mono + amber tik */
.eyebrow { display: inline-flex; align-items: center; gap: .7rem; font-family: var(--mono); font-size: .72rem; font-weight: 600; letter-spacing: .28em; text-transform: uppercase; color: var(--amber); margin-bottom: 1.6rem; }
.eyebrow::before { content: ''; width: 2.4rem; height: 1px; background: var(--amber); }
.section-head { max-width: 760px; margin: 0 auto 4rem; }
.section-head.center { text-align: center; }
.section-head.center .eyebrow { justify-content: center; }
.section-head p { color: var(--mist); font-size: 15px; max-width: 50ch; }
.lead { font-size: 15px; color: var(--mist); line-height: 1.6; max-width: 58ch; }
.h3 { font-size: 1.5rem; }
.subsection { margin-top: 5rem; }

/* ---- Buttons ---- */
.btn { --bg: transparent; display: inline-flex; align-items: center; justify-content: center; gap: .6rem; font-family: var(--mono); font-weight: 600; font-size: .82rem; letter-spacing: .06em; text-transform: uppercase; padding: 1rem 1.7rem; border-radius: var(--pill); border: 1px solid transparent; cursor: pointer; transition: transform .3s var(--ease), background .3s, color .3s, box-shadow .3s, border-color .3s; position: relative; }
.btn svg { width: 1.2em; height: 1.2em; }
.btn-lg { padding: 1.15rem 2.1rem; font-size: .86rem; }
.btn-block { width: 100%; }
.btn-primary { background: var(--amber); color: var(--ink); box-shadow: 0 0 0 0 var(--amber-glow); }
.btn-primary:hover { transform: translateY(-3px); box-shadow: 0 14px 40px -8px var(--amber-glow); background: var(--amber-2); }
.btn-ghost { border-color: var(--line); color: var(--paper); }
.btn-ghost:hover { border-color: var(--paper); transform: translateY(-3px); }
.btn-outline { border-color: var(--line); color: var(--paper); background: transparent; }
.btn-outline:hover { border-color: var(--amber); color: var(--amber); }
.btn-dark { background: var(--paper); color: var(--ink); }
.btn-dark:hover { transform: translateY(-3px); }
.btn-whatsapp { background: var(--whatsapp); color: #04210f; }
.btn-whatsapp:hover { filter: brightness(1.06); transform: translateY(-3px); }
.btn:active { transform: translateY(-1px) scale(.985); transition-duration: var(--dur-fast); }
.btn-primary:hover { box-shadow: 0 18px 46px -10px var(--amber-glow); }

/* ---- Scroll progress rail ---- */
.scroll-rail { position: fixed; top: 0; left: 0; height: 2px; width: 100%; z-index: 90; background: transparent; pointer-events: none; }
.scroll-rail span { display: block; height: 100%; width: 0; background: var(--amber); box-shadow: 0 0 14px var(--amber-glow); transition: width .1s linear; }

/* ---- Header ---- */
.site-header { position: sticky; top: 0; z-index: 60; transition: background .35s var(--ease), border-color .35s; border-bottom: 1px solid transparent; }
.site-header.is-stuck { background: rgba(10, 14, 18, .82); backdrop-filter: blur(16px); border-bottom-color: var(--line); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; height: 100px; }
.brand { display: inline-flex; align-items: center; }
.brand-logo { height: 58px; width: auto; filter: brightness(0) invert(1); transition: opacity .3s; }
.brand:hover .brand-logo { opacity: .82; }
.nav-desktop { display: none; align-items: center; gap: .1rem; }
.nav-link { position: relative; background: none; border: 0; font: inherit; font-family: var(--mono); font-weight: 500; font-size: .8rem; letter-spacing: .04em; text-transform: uppercase; color: var(--mist); padding: .6rem .9rem; cursor: pointer; transition: color .25s; }
.nav-link::after { content: ''; position: absolute; left: .9rem; right: .9rem; bottom: .35rem; height: 1px; background: var(--amber); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--ease); }
.nav-link:hover, .nav-link.is-active { color: var(--paper); }
.nav-link:hover::after, .nav-link.is-active::after { transform: scaleX(1); }
.nav-dropdown { position: relative; }
.nav-toggle::after { content: '+'; margin-left: .3rem; font-size: .9em; color: var(--amber); }
.nav-menu { position: absolute; top: calc(100% + 6px); left: 0; min-width: 250px; background: var(--ink-2); border: 1px solid var(--line); border-radius: var(--r-sm); padding: .5rem; opacity: 0; visibility: hidden; transform: translateY(10px); transition: all .28s var(--ease); box-shadow: var(--shadow-2); }
.nav-dropdown:hover .nav-menu, .nav-menu.open { opacity: 1; visibility: visible; transform: translateY(0); }
.nav-menu a { display: flex; align-items: center; gap: .7rem; padding: .65rem .8rem; font-size: .88rem; color: var(--mist); transition: all .2s; }
.nav-menu a:hover { background: var(--ink-3); color: var(--amber); padding-left: 1.1rem; }
.nav-menu-wide { width: 560px; display: grid; grid-template-columns: 1fr 1fr; gap: .1rem; left: 50%; transform: translateX(-50%) translateY(10px); }
.nav-dropdown:hover .nav-menu-wide { transform: translateX(-50%) translateY(0); }
.nm-ico { color: var(--amber); display: inline-flex; width: 1.2rem; }
.header-cta { display: none; align-items: center; gap: 1.4rem; }
.header-cta .btn { padding: .72rem 1.25rem; }
.header-phone { display: inline-flex; align-items: center; gap: .45rem; font-family: var(--mono); font-weight: 600; font-size: .82rem; color: var(--paper); }
.header-phone svg { width: 1.05em; color: var(--amber); }
.header-phone:hover { color: var(--amber); }
.hamburger { display: inline-flex; flex-direction: column; gap: 5px; background: none; border: 1px solid var(--line); padding: .65rem; cursor: pointer; border-radius: var(--r); }
.hamburger span { width: 22px; height: 1.5px; background: var(--paper); }
@media (min-width: 1040px) { .nav-desktop, .header-cta { display: flex; } .hamburger { display: none; } }

/* ---- Mobile drawer ---- */
.mobile-drawer { position: fixed; inset: 0; z-index: 80; }
.drawer-overlay { position: absolute; inset: 0; background: rgba(5, 8, 11, .7); backdrop-filter: blur(3px); }
.drawer-panel { position: absolute; top: 0; right: 0; height: 100%; width: 330px; max-width: 88%; background: var(--ink-2); border-left: 1px solid var(--line); padding: 1.6rem; overflow-y: auto; transform: translateX(100%); transition: transform .35s var(--ease); }
.mobile-drawer.open .drawer-panel { transform: translateX(0); }
.drawer-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 2rem; }
.drawer-head img { filter: brightness(0) invert(1); }
.drawer-close { background: none; border: 1px solid var(--line); font-size: 1.4rem; line-height: 1; width: 42px; height: 42px; border-radius: var(--r); cursor: pointer; color: var(--paper); }
.drawer-nav { display: flex; flex-direction: column; }
.drawer-nav a { padding: 1rem .2rem; border-bottom: 1px solid var(--line-2); font-family: var(--display); font-weight: 600; font-size: 1.15rem; color: var(--paper); transition: all .25s; }
.drawer-nav a:hover { color: var(--amber); padding-left: .6rem; }
.drawer-group { border-bottom: 1px solid var(--line-2); }
.drawer-toggle { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1rem; background: none; border: 0; font: inherit; font-family: var(--display); font-weight: 600; font-size: 1.15rem; color: var(--paper); padding: 1rem .2rem; cursor: pointer; text-align: left; transition: color .25s; }
.drawer-toggle[aria-expanded="true"] { color: var(--amber); }
.drawer-plus { position: relative; width: 16px; height: 16px; flex: 0 0 auto; }
.drawer-plus::before, .drawer-plus::after { content: ''; position: absolute; background: var(--amber); transition: transform .3s var(--ease-out), opacity .3s; }
.drawer-plus::before { left: 0; right: 0; top: 50%; height: 2px; transform: translateY(-50%); }
.drawer-plus::after { top: 0; bottom: 0; left: 50%; width: 2px; transform: translateX(-50%); }
.drawer-toggle[aria-expanded="true"] .drawer-plus::after { transform: translateX(-50%) scaleY(0); opacity: 0; }
.drawer-sub-panel { max-height: 0; overflow: hidden; transition: max-height .35s var(--ease-out); }
.drawer-sub-panel a { display: block; border-bottom: 0; font-family: var(--font); font-weight: 500; font-size: 1rem; color: var(--mist); padding: .6rem .2rem .6rem 1rem; transition: color .25s, padding-left .25s; }
.drawer-sub-panel a:hover { color: var(--amber); padding-left: 1.5rem; }
.drawer-sub-panel .drawer-sub-all { color: var(--amber); font-family: var(--mono); font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; padding-top: .8rem; padding-bottom: .9rem; }
.drawer-cta { display: flex; flex-direction: column; gap: .6rem; margin-top: 2rem; }

/* ===========================================================================
   HERO — full viewport, dev başlık + çizilen hat
   =========================================================================== */
.hero-x { position: relative; min-height: calc(100svh - var(--header-h)); display: flex; flex-direction: column; justify-content: center; padding: 2rem 0 2.5rem; overflow: hidden; }
.hero-grid { position: absolute; inset: 0; z-index: 0; opacity: .9; }
.hero-glow { position: absolute; top: 8%; right: -8%; width: 60vw; height: 60vw; max-width: 760px; max-height: 760px; background: radial-gradient(circle, rgba(255,179,35,.16), transparent 62%); z-index: 0; pointer-events: none; filter: blur(8px); }
.hero-x .container { position: relative; z-index: 2; width: 100%; }
.hero-meta { display: flex; flex-wrap: wrap; gap: .8rem 1.6rem; font-family: var(--mono); font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; color: var(--mist-2); margin-bottom: 2rem; }
.hero-meta span { display: inline-flex; align-items: center; gap: .5rem; }
.hero-meta span::before { content: ''; width: 6px; height: 6px; background: var(--amber); }
.hero-head { font-weight: 700; letter-spacing: -.035em; margin: 0; }
.hero-head .ln { display: block; overflow: hidden; }
.hero-head .ln > span { display: block; transform: translateY(110%); }
.hero-head.in .ln > span { transform: translateY(0); transition: transform 1s var(--ease); }
.hero-head.in .ln:nth-child(2) > span { transition-delay: .09s; }
.hero-head.in .ln:nth-child(3) > span { transition-delay: .18s; }
.hero-head .amber { color: var(--amber); }
.hero-head .outline { -webkit-text-stroke: 1.5px var(--paper); color: transparent; }
.hero-bottom { display: grid; gap: 2.2rem; margin-top: clamp(2rem, 4vw, 3.5rem); align-items: end; }
.hero-lead { color: var(--mist); font-size: 15px; max-width: 44ch; line-height: 1.6; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .9rem; align-items: center; }
.hero-line-svg { width: 100%; height: 60px; margin-top: 2.5rem; display: block; overflow: visible; }
.hero-line-svg path { fill: none; stroke: var(--amber); stroke-width: 2; stroke-dasharray: 1; stroke-dashoffset: 1; }
.hero-line-svg .post { stroke: var(--steel); stroke: rgba(233,238,245,.25); }
.hero-x.in .hero-line-svg path { animation: draw 2.4s var(--ease) forwards; }
@keyframes draw { to { stroke-dashoffset: 0; } }
.hero-scrollcue { position: absolute; left: 50%; bottom: 1.6rem; transform: translateX(-50%); z-index: 2; font-family: var(--mono); font-size: .64rem; letter-spacing: .3em; text-transform: uppercase; color: var(--mist-2); display: flex; flex-direction: column; align-items: center; gap: 1.05rem; }
.hero-scrollcue i { width: 1px; height: 38px; background: linear-gradient(var(--amber), transparent); animation: cue 2s var(--ease) infinite; }
@keyframes cue { 0%,100% { opacity: .3; transform: scaleY(.6); } 50% { opacity: 1; transform: scaleY(1); } }
@media (min-width: 860px) { .hero-bottom { grid-template-columns: 1.3fr 1fr; } }

/* ---- Marquee ---- */
.marquee { border-block: 1px solid var(--line); padding: 1.4rem 0; overflow: hidden; background: var(--ink-2); }
.marquee-track { display: flex; gap: 3rem; width: max-content; animation: marquee 32s linear infinite; }
.marquee-track span { font-family: var(--display); font-weight: 600; font-size: clamp(1.3rem, 1rem + 2vw, 2.4rem); color: var(--mist-2); letter-spacing: -.02em; display: inline-flex; align-items: center; gap: 3rem; white-space: nowrap; }
.marquee-track span::after { content: '✕'; color: var(--amber); font-size: .6em; }
@keyframes marquee { to { transform: translateX(-50%); } }
.marquee:hover .marquee-track { animation-play-state: paused; }

/* ---- Manifesto ---- */
.manifesto { padding: var(--section) 0; }
.manifesto h2 { font-size: clamp(1.8rem, 1rem + 4.5vw, 5rem); font-weight: 500; line-height: 1.06; letter-spacing: -.03em; max-width: 18ch; }
.manifesto .hl { color: var(--mist-2); }
.manifesto .hl b { color: var(--paper); font-weight: 500; }
.manifesto .amber { color: var(--amber); }

/* ===========================================================================
   HİZMETLER — numaralı endüstriyel index (kutu yok)
   =========================================================================== */
.index { border-top: 1px solid var(--line); }
.index-row { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.2rem; padding: clamp(1.4rem, 1rem + 1.5vw, 2.4rem) .2rem; border-bottom: 1px solid var(--line); cursor: pointer; transition: background .55s var(--ease-out); }
.index-row:hover { background: var(--ink-2); }
.index-row > span:not(.index-fence) { position: relative; z-index: 1; }
/* sol kayma: padding (reflow) yerine transform (GPU, pürüzsüz) */
.index-num, .index-row > span:nth-child(2) { transition: transform .55s var(--ease-out); }
.index-row:hover .index-num, .index-row:hover > span:nth-child(2) { transform: translateX(18px); }
/* hover'da alttan büyüyen amber ray (çit rayı) */
.index-row::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--amber); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--ease-out); }
.index-row:hover::after { transform: scaleX(1); }
/* hover'da çizilen çit motifi */
.index-fence { position: absolute; right: 92px; top: 50%; width: 152px; height: 54px; transform: translateY(-50%); opacity: 0; pointer-events: none; z-index: 0; transition: opacity .4s var(--ease); }
.index-fence svg { width: 100%; height: 100%; display: block; }
.index-fence line, .index-fence path { stroke: var(--amber); stroke-width: 1.4; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset .5s var(--ease); }
.index-fence .ff-mesh path { stroke-width: 1; stroke-opacity: .5; }
.index-row:hover .index-fence { opacity: 1; transition-duration: .2s; }
/* kademeli çizim: önce raylar, sonra direkler (soldan sağa), en son mesh */
.index-row:hover .index-fence .ff-rail line:nth-child(1) { stroke-dashoffset: 0; transition-delay: 0s; }
.index-row:hover .index-fence .ff-rail line:nth-child(2) { stroke-dashoffset: 0; transition-delay: .1s; }
.index-row:hover .index-fence .ff-post line:nth-child(1) { stroke-dashoffset: 0; transition-delay: .26s; }
.index-row:hover .index-fence .ff-post line:nth-child(2) { stroke-dashoffset: 0; transition-delay: .37s; }
.index-row:hover .index-fence .ff-post line:nth-child(3) { stroke-dashoffset: 0; transition-delay: .48s; }
.index-row:hover .index-fence .ff-post line:nth-child(4) { stroke-dashoffset: 0; transition-delay: .59s; }
.index-row:hover .index-fence .ff-post line:nth-child(5) { stroke-dashoffset: 0; transition-delay: .70s; }
.index-row:hover .index-fence .ff-mesh path { stroke-dashoffset: 0; transition-delay: .86s; transition-duration: .6s; }
@media (max-width: 979px) { .index-fence { display: none; } }
.index-num { font-family: var(--mono); font-size: .82rem; color: var(--amber); letter-spacing: .1em; padding-top: .3rem; }
.index-title { font-family: var(--display); font-weight: 600; font-size: clamp(1.6rem, 1rem + 3vw, 3.4rem); letter-spacing: -.03em; color: var(--paper); transition: color .45s var(--ease-out); line-height: 1.02; }
.index-row:hover .index-title { color: var(--amber); }
.index-desc { display: none; color: var(--mist); font-size: .92rem; max-width: 34ch; margin: .4rem 0 0; }
.index-arrow { width: 46px; height: 46px; border: 1px solid var(--line); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: var(--paper); transition: all .45s var(--ease-out); flex: 0 0 auto; }
.index-arrow svg { width: 18px; transition: transform .45s var(--ease-out); }
.index-row:hover .index-arrow { background: var(--amber); border-color: var(--amber); color: var(--ink); transform: rotate(-45deg); }
@media (min-width: 760px) { .index-desc { display: block; } }

/* ===========================================================================
   SÜREÇ — pinned scrollytelling
   =========================================================================== */
.stage { position: relative; }
.stage-grid { display: grid; gap: 2.5rem; }
.stage-aside { }
.stage-sticky { position: sticky; top: 12vh; }
.stage-bignum { font-family: var(--display); font-weight: 700; font-size: clamp(7rem, 18vw, 18rem); line-height: .8; color: transparent; -webkit-text-stroke: 1.5px var(--line); letter-spacing: -.04em; transition: -webkit-text-stroke-color .4s; }
.stage-bignum .live { -webkit-text-stroke: 1.5px var(--amber); color: transparent; }
.stage-steps { display: grid; gap: 1.2rem; }
.step { border: 1px solid var(--line); border-radius: var(--r); padding: clamp(1.4rem, 1rem + 2vw, 2.4rem); transition: border-color .4s, background .4s, transform .4s var(--ease); }
.step.is-live { border-color: var(--amber); background: var(--ink-2); transform: translateX(8px); }
.step-no { font-family: var(--mono); font-size: .76rem; letter-spacing: .2em; color: var(--amber); }
.step h3 { margin: .8rem 0 .5rem; font-size: clamp(1.4rem, 1rem + 1.5vw, 2.2rem); }
.step p { color: var(--mist); margin: 0; max-width: 46ch; }
.step .step-ico { float: right; color: var(--mist-2); }
.step.is-live .step-ico { color: var(--amber); }
.step-ico svg { width: 28px; height: 28px; }
@media (min-width: 900px) { .stage-grid { grid-template-columns: .8fr 1.2fr; gap: 4rem; } }

/* ===========================================================================
   KANIT — kinetik rakamlar
   =========================================================================== */
.stats { padding: var(--section) 0; }
.stats-grid { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); }
.stat { padding: clamp(2rem, 1.5rem + 3vw, 4rem) 1rem clamp(1.5rem,1rem+2vw,2.5rem); border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); position: relative; }
.stat-value, .stat-suffix { font-family: var(--display); font-size: clamp(3rem, 2rem + 6vw, 7rem); font-weight: 700; display: inline; color: var(--paper); letter-spacing: -.04em; line-height: 1; }
.stat-suffix { color: var(--amber); }
.stat-label { font-family: var(--mono); font-size: .72rem; color: var(--mist); text-transform: uppercase; letter-spacing: .18em; margin-top: 1rem; }
@media (min-width: 760px) { .stats-grid { grid-template-columns: repeat(4, 1fr); } }

/* ===========================================================================
   PROJELER — bento / asimetrik galeri
   =========================================================================== */
.bento { display: grid; gap: .8rem; grid-template-columns: 1fr; }
.bento-item { position: relative; background: var(--ink-2); border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; min-height: 240px; display: flex; align-items: flex-end; padding: 1.6rem; transition: background .4s; }
.bento-item .illu { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; opacity: .65; transition: opacity .5s, transform .8s var(--ease); }
.bento-item:hover .illu { opacity: .9; transform: scale(1.05); }
.bento-item:hover { outline: 1px solid var(--amber-glow); outline-offset: -1px; }
.bento-item::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10,14,18,.9), rgba(10,14,18,.2) 60%); z-index: 1; }
.bento-cap { position: relative; z-index: 2; }
.bento-cap .tag { font-family: var(--mono); font-size: .68rem; letter-spacing: .18em; text-transform: uppercase; color: var(--amber); }
.bento-cap h3 { margin: .5rem 0 .2rem; font-size: 1.3rem; }
.bento-cap p { margin: 0; color: var(--mist); font-size: .85rem; display: flex; align-items: center; gap: .35rem; }
.bento-cap p svg { width: 1em; color: var(--amber); }
@media (min-width: 720px) { .bento { grid-template-columns: repeat(3, 1fr); }
    .bento-item.big { grid-column: span 2; grid-row: span 2; min-height: 481px; } }

/* ---- Reviews ---- */
.reviews-marquee {
    overflow: hidden;
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
    mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.reviews-track { display: flex; width: max-content; animation: reviews-scroll 55s linear infinite; }
.reviews-marquee:hover .reviews-track { animation-play-state: paused; }
@keyframes reviews-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.review-card {
    flex: 0 0 clamp(280px, 80vw, 340px); margin-right: 1.5rem;
    position: relative; overflow: hidden;
    display: flex; flex-direction: column;
    background: linear-gradient(180deg, var(--ink-3), var(--ink-2));
    border: 1px solid var(--line); border-radius: var(--r);
    padding: clamp(1.7rem, 1.1rem + 2vw, 2.4rem);
    transition: transform var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out);
}
/* üst amber vurgu çizgisi */
.review-card::before {
    content: ""; position: absolute; inset: 0 0 auto 0; height: 3px;
    background: linear-gradient(90deg, var(--amber), transparent 65%);
    opacity: .55; transition: opacity var(--dur) var(--ease-out);
}
.review-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-2); border-color: var(--amber-glow); }
.review-card:hover::before { opacity: 1; }
/* dev dekoratif tırnak işareti */
.review-mark {
    position: absolute; top: -.18em; right: .12em; pointer-events: none; user-select: none;
    font-family: var(--display); font-weight: 700; font-size: 7rem; line-height: 1;
    color: var(--amber); opacity: .09;
    transition: opacity var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);
}
.review-card:hover .review-mark { opacity: .16; transform: translateY(3px); }
.review-rate { display: flex; align-items: center; gap: .55rem; margin-bottom: 1.3rem; }
.review-card .stars { color: var(--amber); letter-spacing: 2px; font-size: 1rem; }
.review-score { font-family: var(--display); font-weight: 600; font-size: .95rem; color: var(--amber); }
.review-card blockquote {
    margin: 0 0 1.7rem; flex: 1;
    font-family: var(--display); font-weight: 500;
    font-size: clamp(1.08rem, 1rem + .4vw, 1.26rem); line-height: 1.42;
    color: var(--paper); letter-spacing: -.01em;
}
.review-card figcaption {
    display: flex; align-items: center; gap: .8rem;
    padding-top: 1.2rem; border-top: 1px solid var(--line-2);
    font-family: var(--display); font-weight: 600; font-size: .92rem;
    letter-spacing: .01em; color: var(--paper);
}
.avatar {
    width: 42px; height: 42px; flex: none; border-radius: var(--pill);
    background: linear-gradient(135deg, var(--amber), var(--amber-2));
    color: var(--ink); display: inline-flex; align-items: center; justify-content: center;
    font-family: var(--display); font-weight: 700; font-size: 1.05rem;
    box-shadow: 0 4px 12px -4px var(--amber-glow);
}

/* ---- FAQ accordion ---- */
.faq-grid { display: grid; gap: 3rem; }
@media (min-width: 900px) { .faq-grid { grid-template-columns: .8fr 1.2fr; align-items: start; } }
.accordion { border-top: 1px solid var(--line); }
.acc-item { border-bottom: 1px solid var(--line); }
.acc-q-h { margin: 0; font: inherit; }
.acc-q { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 1rem; background: none; border: 0; font: inherit; font-family: var(--display); font-weight: 600; font-size: clamp(1.05rem, 1rem + .5vw, 1.35rem); color: var(--paper); text-align: left; padding: 1.5rem .2rem; cursor: pointer; transition: color .25s; }
.acc-q:hover { color: var(--amber); }
.acc-q[aria-expanded="true"] { color: var(--amber); }
.acc-icon { flex: 0 0 auto; width: 32px; height: 32px; border: 1px solid var(--line); border-radius: var(--r-sm); display: inline-flex; align-items: center; justify-content: center; color: var(--amber); transition: all .3s; font-size: 1.2rem; }
.acc-q[aria-expanded="true"] .acc-icon { background: var(--amber); color: var(--ink); transform: rotate(135deg); }
.acc-a { max-height: 0; overflow: hidden; transition: max-height .35s var(--ease); }
.acc-a p { padding: 0 .2rem 1.5rem; color: var(--mist); margin: 0; max-width: 60ch; }

/* ===========================================================================
   FINAL CTA
   =========================================================================== */
.cta-band { padding: var(--section) 0; }
.cta-inner { position: relative; border: 1px solid var(--line); border-radius: var(--r); padding: clamp(2.5rem, 2rem + 5vw, 6rem); overflow: hidden; background:
    radial-gradient(120% 120% at 100% 0%, rgba(255,179,35,.1), transparent 50%), var(--ink-2); }
.cta-inner .eyebrow { color: var(--amber); }
.cta-band h2 { font-size: clamp(2.2rem, 1.2rem + 5vw, 5.5rem); max-width: 16ch; }
.cta-band p { color: var(--mist); max-width: 46ch; }
.cta-actions { display: flex; flex-wrap: wrap; gap: .9rem; margin-top: 2.2rem; }
.cta-dims { position: absolute; top: 1.4rem; right: 1.6rem; font-family: var(--mono); font-size: .68rem; letter-spacing: .12em; color: var(--mist-2); }

/* ===========================================================================
   İÇ SAYFA ortak bileşenleri (page-hero, prose, cards, detail) — dark blueprint
   =========================================================================== */
.page-hero { padding: clamp(5rem, 3.5rem + 4vw, 7rem) 0 clamp(2rem, 1.6rem + 1.4vw, 3rem); border-bottom: 1px solid var(--line); position: relative; }
.breadcrumb { font-family: var(--mono); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--mist-2); margin-bottom: 1.2rem; }
.breadcrumb a:hover { color: var(--amber); }
.page-hero h1 { font-size: clamp(2rem, 1.5rem + 2.2vw, 3.4rem); }
.page-hero .card-ico-lg { margin-bottom: 1rem; }
.page-hero .lead { margin-top: 1.1rem; }
.geo-box { background: var(--ink-2); border-left: 2px solid var(--amber); border-radius: var(--r-sm); padding: 1.1rem 1.3rem; color: var(--paper); max-width: 52rem; font-size: .98rem; line-height: 1.6; margin-top: 1.2rem; }
/* hero sonrası içerik bölümü: boşluk ritmini her yerde eşitle */
.page-hero + .section { padding-top: clamp(2.5rem, 2rem + 2vw, 3.5rem); }

.cards-grid { display: grid; gap: 1.25rem; grid-template-columns: 1fr; }
@media (min-width: 600px) { .cards-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 980px) { .cards-grid { grid-template-columns: repeat(3, 1fr); } }
.card { background: var(--ink-2); border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; padding: clamp(1.6rem, 1.2rem + 1.5vw, 2.4rem); transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease); display: flex; flex-direction: column; position: relative; }
.card:hover { background: var(--ink-3); border-color: rgba(255, 179, 35, .28); box-shadow: var(--shadow-2); transform: translateY(-4px); z-index: 1; }
.card h3 { font-size: 1.35rem; margin-bottom: .5rem; }
.card p { color: var(--mist); font-size: .94rem; margin-bottom: 0; }
.card-body { display: flex; flex-direction: column; flex: 1; }
.media { position: relative; aspect-ratio: 16/10; overflow: hidden; margin-bottom: 1.4rem; background: var(--ink-3); border-radius: var(--r-sm); }
.media .illu { width: 100%; height: 100%; transition: transform .8s var(--ease); }
.card:hover .media .illu { transform: scale(1.05); }
.media-badge { position: absolute; left: 1rem; bottom: 1rem; width: 50px; height: 50px; background: var(--ink); border: 1px solid var(--amber); border-radius: var(--r-sm); color: var(--amber); display: inline-flex; align-items: center; justify-content: center; }
.media-badge svg { width: 24px; height: 24px; }
.card-ico { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border: 1px solid var(--line); border-radius: var(--r-sm); color: var(--amber); margin-bottom: 1.4rem; }
.card-ico svg { width: 26px; height: 26px; }
.card-ico-lg { width: 70px; height: 70px; }
.card-link { display: inline-flex; align-items: center; gap: .5rem; color: var(--amber); font-family: var(--mono); font-weight: 600; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; margin-top: 1.4rem; }
.card:hover .card-link svg, .service-card:hover .card-link svg { transform: translateX(5px); }
.card-link svg { width: 1em; transition: transform .3s; }

/* Kapak görseli (yüklendiğinde illu SVG yerine) — tüm kart/bento medyalarında */
.media .cover-img, .project-media .cover-img, .post-media .cover-img, .bento-item .cover-img, .project-hero-media .cover-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.bento-item .cover-img { z-index: 0; opacity: .92; }
.card:hover .media .cover-img, .project-card:hover .cover-img, .post-card:hover .cover-img, .bento-item:hover .cover-img { transform: scale(1.05); }

/* project/post in list pages reuse .card via .media; keep helpers */
.project-card, .post-card { padding: 0; }
.project-media, .post-media { position: relative; aspect-ratio: 16/10; overflow: hidden; background: var(--ink-2); }
.project-media .illu, .post-media .illu { width: 100%; height: 100%; transition: transform .8s var(--ease); }
.project-card:hover .illu, .post-card:hover .illu { transform: scale(1.05); }
.project-body, .post-body { padding: 1.4rem; }
.project-body h3, .post-body h3 { font-size: 1.2rem; margin-bottom: .3rem; }
.project-body p { display: flex; align-items: center; gap: .4rem; color: var(--mist); font-size: .88rem; margin: 0; }
.project-body svg { width: 1em; color: var(--amber); }
.tag { position: absolute; top: 1rem; right: 1rem; background: var(--ink); border: 1px solid var(--amber); border-radius: var(--pill); color: var(--amber); font-family: var(--mono); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; padding: .35rem .7rem; }
.tag-static { position: static; display: inline-block; }
.post-body time, .post-date { font-family: var(--mono); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--amber); }
.post-body h3 { margin-top: .5rem; }
.post-body p { color: var(--mist); font-size: .9rem; margin: 0; }

.detail-grid { display: grid; gap: 3rem; }
/* Grid çocukları varsayılan min-width:auto alır; geniş içerik (tablo vb.) grid sütununu
   içerik genişliğine göre şişirip mobilde yatay taşmaya yol açabilir (klasik grid blowout). */
.detail-grid > * { min-width: 0; }
@media (min-width: 920px) { .detail-grid { grid-template-columns: 1fr 340px; align-items: start; } }
.sticky-cta { position: sticky; top: 12vh; background: var(--ink-2); border: 1px solid var(--line); border-radius: var(--r); padding: 1.8rem; display: grid; gap: .7rem; box-shadow: var(--shadow-1); }
.sticky-cta h3 { font-size: 1.3rem; margin-bottom: .2rem; }
.sticky-cta p { color: var(--mist); font-size: .9rem; margin: 0 0 .6rem; }

/* prose */
.prose { color: var(--mist); font-size: 15px; line-height: 1.75; }
.prose .lead { color: var(--paper); margin-bottom: 1.8rem; }
.prose h2 { font-size: clamp(1.6rem, 1.2rem + 1.5vw, 2.4rem); margin: 2.6rem 0 1rem; color: var(--paper); }
.prose h3 { font-size: 1.35rem; margin: 1.8rem 0 .6rem; }
.prose p { color: var(--mist); max-width: 72ch; }
.prose .lead { max-width: 72ch; }
.prose strong { color: var(--paper); }
.prose a { color: var(--amber); text-decoration: underline; text-decoration-color: var(--amber-glow); text-decoration-thickness: 1px; text-underline-offset: 3px; transition: text-decoration-color var(--dur), color var(--dur-fast); }
.prose a:hover { text-decoration-color: var(--amber); color: var(--amber-2); }
.prose ul { padding-left: 0; margin: 0 0 1.6rem; list-style: none; }
.prose li { margin-bottom: .7rem; color: var(--mist); padding-left: 1.8rem; position: relative; }
.prose ul li::before { content: ''; position: absolute; left: 0; top: .65em; width: .7rem; height: 1px; background: var(--amber); }
.chips { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.8rem; }
.chip { border: 1px solid var(--line); border-radius: var(--pill); padding: .5rem 1rem; font-family: var(--mono); font-size: .76rem; letter-spacing: .04em; color: var(--paper); transition: all .25s; }
.chip:hover { border-color: var(--amber); color: var(--amber); background: var(--ink-2); }
.project-hero-media { aspect-ratio: 16/7; overflow: hidden; margin-bottom: 2.5rem; border: 1px solid var(--line); border-radius: var(--r); }
.project-hero-media .illu { width: 100%; height: 100%; }
.post-cta { margin-top: 3rem; }

/* ---- Contact ---- */
.contact-grid { display: grid; gap: 3rem; }
@media (min-width: 920px) { .contact-grid { grid-template-columns: 1fr 1fr; align-items: start; } }
.contact-info { display: grid; gap: .8rem; }
.info-card { display: flex; align-items: center; gap: 1rem; background: var(--ink-2); border: 1px solid var(--line); border-radius: var(--r); padding: 1.3rem 1.4rem; transition: background .3s, border-color .3s; }
.info-card:hover { background: var(--ink-3); border-color: rgba(255, 179, 35, .28); }
.info-card svg { width: 24px; color: var(--amber); flex: 0 0 auto; }
.info-card span { display: block; font-family: var(--mono); font-size: .68rem; color: var(--mist-2); text-transform: uppercase; letter-spacing: .12em; }
.info-card strong { color: var(--paper); font-family: var(--display); font-weight: 600; }
.map-embed { border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; filter: grayscale(1) invert(.92) contrast(.9); }
.map-embed iframe { display: block; }

/* ---- Quote form ---- */
.quote-card { background: var(--ink-2); border: 1px solid var(--line); border-radius: var(--r); padding: 2rem; margin-top: 1.5rem; }
.quote-title { font-size: 1.5rem; }
.quote-sub { color: var(--mist); font-size: .94rem; margin-bottom: 1.5rem; }
.quote-form { display: grid; gap: 1.1rem; }
.form-row { display: grid; gap: 1.1rem; }
@media (min-width: 560px) { .form-row { grid-template-columns: 1fr 1fr; } }
.field-group label { display: block; font-family: var(--mono); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--mist); margin-bottom: .5rem; }
.field-group input, .field-group select, .field-group textarea { width: 100%; padding: .9rem 1rem; border: 1px solid var(--line); border-radius: var(--r-sm); background: var(--ink); color: var(--paper); font: inherit; font-size: .95rem; transition: border-color .25s; }
.field-group input:focus, .field-group select:focus, .field-group textarea:focus { outline: none; border-color: var(--amber); }
.field-group select option { background: var(--ink-2); }
.field-error { color: #ff6b6b; font-size: .78rem; margin-top: .25rem; display: block; }
.quote-note { text-align: center; font-size: .76rem; color: var(--mist-2); margin: 0; }
.hp { position: absolute; left: -9999px; }
.alert { padding: 1rem 1.1rem; margin-bottom: 1.2rem; font-size: .92rem; border: 1px solid; border-radius: var(--r-sm); }
.alert-success { background: rgba(37,211,102,.1); border-color: rgba(37,211,102,.4); color: #7fe0a3; }
.alert-error { background: rgba(255,107,107,.1); border-color: rgba(255,107,107,.4); color: #ff9b9b; }

/* ---- Footer ---- */
.site-footer { border-top: 1px solid var(--line); padding: clamp(4rem, 3rem + 4vw, 7rem) 0 2rem; position: relative; }
.footer-grid { display: grid; gap: 2.5rem; grid-template-columns: 1fr; }
@media (min-width: 640px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 980px) { .footer-grid { grid-template-columns: 1.6fr 1fr 1fr 1.3fr; } }
.footer-logo { height: 58px; width: auto; filter: brightness(0) invert(1); margin-bottom: 1.4rem; }
.footer-brand p { font-size: .92rem; color: var(--mist); max-width: 38ch; }
.footer-social { display: flex; gap: .6rem; margin-top: 1.2rem; }
.footer-social a { width: 40px; height: 40px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(233,238,245,.16); color: var(--mist); transition: color .25s, border-color .25s, transform .25s; }
.footer-social a:hover { color: var(--amber); border-color: var(--amber); transform: translateY(-2px); }
.footer-social svg { width: 20px; height: 20px; }
.footer-title { font-family: var(--mono); font-size: .72rem; text-transform: uppercase; letter-spacing: .18em; color: var(--mist-2); margin-bottom: 1.4rem; }
.footer-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; font-size: .9rem; }
.footer-list-2col { grid-template-columns: 1fr 1fr; }
.footer-list a { color: var(--mist); transition: all .2s; }
.footer-list a:hover { color: var(--amber); padding-left: .3rem; }
.footer-contact { list-style: none; padding: 0; margin: 0; display: grid; gap: .9rem; font-size: .9rem; }
.footer-contact li { display: flex; gap: .7rem; align-items: flex-start; color: var(--mist); }
.footer-contact svg { width: 18px; color: var(--amber); flex: 0 0 auto; margin-top: .15rem; }
.footer-contact a:hover { color: var(--amber); }
.footer-directions { display: inline-flex; align-items: center; gap: .5rem; color: var(--amber); font-family: var(--mono); font-size: .8rem; text-transform: uppercase; letter-spacing: .06em; margin-top: 1.4rem; }
.footer-directions svg { width: 1em; }
.footer-review { display: inline-flex; align-items: center; gap: .55rem; margin-top: 1rem; padding: .7rem 1.1rem; border: 1px solid var(--line); border-radius: var(--pill); color: var(--paper); font-family: var(--mono); font-size: .76rem; letter-spacing: .04em; transition: border-color var(--dur), color var(--dur), background var(--dur); }
.footer-review:hover { border-color: var(--amber); color: var(--amber); background: var(--ink-2); }
.footer-review svg { width: 1.05em; color: var(--amber); }
.footer-bottom { display: flex; flex-direction: column; gap: .8rem; justify-content: space-between; border-top: 1px solid var(--line); margin-top: 3rem; padding-top: 1.6rem; font-family: var(--mono); font-size: .72rem; letter-spacing: .04em; color: var(--mist-2); }
.footer-legal { display: flex; flex-wrap: wrap; gap: 1.4rem; align-items: center; }
.footer-legal a:hover { color: var(--amber); }
.footer-credit { opacity: .65; }
.footer-credit a { color: inherit; border-bottom: 1px dotted currentColor; }
.footer-credit a:hover { color: var(--amber); border-bottom-color: var(--amber); }
@media (min-width: 640px) { .footer-bottom { flex-direction: row; align-items: center; } }

/* ---- Floating ---- */
.fab-whatsapp { position: fixed; bottom: 1.6rem; right: 1.6rem; z-index: 50; width: 56px; height: 56px; border-radius: 50%; background: var(--whatsapp); color: #04210f; display: none; align-items: center; justify-content: center; box-shadow: 0 12px 30px -8px rgba(37,211,102,.6); transition: transform .25s; }
.fab-whatsapp:hover { transform: scale(1.1); }
.fab-whatsapp svg { width: 30px; height: 30px; }
.mobile-bar { position: fixed; bottom: 0; left: 0; right: 0; z-index: 50; display: grid; grid-template-columns: repeat(3, 1fr); background: rgba(10,14,18,.92); backdrop-filter: blur(12px); border-top: 1px solid var(--line); }
.mobile-bar a { display: flex; flex-direction: column; align-items: center; gap: .2rem; padding: .7rem; font-family: var(--mono); font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; color: var(--paper); }
.mobile-bar svg { width: 20px; color: var(--amber); }
.mobile-bar-cta { background: var(--amber); color: var(--ink) !important; }
.mobile-bar-cta svg { color: var(--ink); }
body { padding-bottom: 62px; }
@media (min-width: 1040px) { .fab-whatsapp { display: inline-flex; } .mobile-bar { display: none; } body { padding-bottom: 0; } }

/* ---- Error ---- */
.error-page { padding: clamp(8rem, 6rem + 6vw, 12rem) 0; text-align: center; }
.error-code { font-family: var(--display); font-size: clamp(6rem, 4rem + 10vw, 14rem); font-weight: 700; color: transparent; -webkit-text-stroke: 1.5px var(--amber); line-height: 1; }

/* ---- Reveal ---- */
.reveal { opacity: 0; transform: translateY(36px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.reveal.is-visible { opacity: 1; transform: none; }
[data-reveal-stagger] > * { opacity: 0; transform: translateY(28px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
[data-reveal-stagger].is-visible > * { opacity: 1; transform: none; }
[data-reveal-stagger].is-visible > *:nth-child(2) { transition-delay: .06s; }
[data-reveal-stagger].is-visible > *:nth-child(3) { transition-delay: .12s; }
[data-reveal-stagger].is-visible > *:nth-child(4) { transition-delay: .18s; }
[data-reveal-stagger].is-visible > *:nth-child(5) { transition-delay: .24s; }
[data-reveal-stagger].is-visible > *:nth-child(n+6) { transition-delay: .3s; }

/* ---- Icons ---- */
.ico { width: 1.25em; height: 1.25em; vertical-align: middle; }
.ico-lg { width: 28px; height: 28px; }
.ico-hero { width: 56px; height: 56px; }

@media (prefers-reduced-motion: reduce) {
    *, .reveal, [data-reveal-stagger] > * { transition: none !important; animation: none !important; scroll-behavior: auto !important; opacity: 1 !important; transform: none !important; }
    .hero-head .ln > span { transform: none !important; }
    .hero-line-svg path { stroke-dashoffset: 0 !important; }
    /* Yorum şeridi: animasyon yok → elle kaydırılabilir kalsın */
    .reviews-marquee { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
}

/* ---- Print: okunur sade içerik (kromsuz) ---- */
@media print {
    body { background: #fff !important; color: #000; padding: 0; }
    .site-header, .site-footer, .fab-whatsapp, .mobile-bar, .scroll-rail, .floating, .hero-glow, .hero-grid, .cta-band, .post-cta, .sticky-cta, .marquee { display: none !important; }
    .section, .page-hero { padding: 1rem 0; }
    h1, h2, h3, h4, .prose, .prose p, .prose li, .lead, .muted { color: #000 !important; }
    a { color: #000 !important; text-decoration: underline; }
    .container, .container.narrow, .detail-grid, .prose { max-width: 100%; }
    .reveal, [data-reveal-stagger] > * { opacity: 1 !important; transform: none !important; }
}

/* ============ FAZ 3 — içerik tabloları + ana sayfa SEO bloğu ============ */
.spec-table, .price-table, .compare-table { width: 100%; border-collapse: collapse; margin: 1.4rem 0 1.8rem; font-size: .94rem; }
.spec-table th, .spec-table td, .price-table th, .price-table td, .compare-table th, .compare-table td {
    text-align: left; padding: .8rem 1rem; border-bottom: 1px solid var(--line); vertical-align: top;
}
.spec-table th[scope="row"], .compare-table th[scope="row"] { color: var(--paper); font-weight: 600; width: 38%; background: var(--ink-2); }
.price-table thead th, .compare-table thead th {
    font-family: var(--mono); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase;
    color: var(--amber); background: var(--ink-2); border-bottom: 1px solid var(--amber-glow);
}
.price-table tbody td { color: var(--mist); }
.price-table .price-cell { color: var(--amber); font-family: var(--display); font-size: 1.15rem; white-space: nowrap; }
.price-table .muted, .compare-table .muted { color: var(--mist-2); font-size: .82rem; }
/* satır hover + zebra → tasarım sistemine bağlı tablolar */
.table-wrap { overflow: auto hidden; -webkit-overflow-scrolling: touch; margin: 1.4rem 0 1.8rem; border: 1px solid var(--line); border-radius: var(--r-sm); }
.table-wrap > table { margin: 0; min-width: 30rem; }
.spec-table tbody tr, .price-table tbody tr, .compare-table tbody tr { transition: background var(--dur-fast); }
.spec-table tbody tr:hover, .price-table tbody tr:hover, .compare-table tbody tr:hover { background: var(--ink-3); }
.spec-table tbody tr:hover th[scope="row"], .compare-table tbody tr:hover th[scope="row"] { background: var(--ink-3); }
.price-table tbody tr:nth-child(even), .compare-table tbody tr:nth-child(even) { background: var(--line-2); }
.price-table tbody tr:nth-child(even):hover, .compare-table tbody tr:nth-child(even):hover { background: var(--ink-3); }
.price-note { display: flex; gap: .6rem; align-items: flex-start; background: var(--ink-2); border-left: 2px solid var(--amber); border-radius: var(--r-sm); padding: 1rem 1.2rem; color: var(--mist); font-size: .9rem; }
.price-note svg { width: 18px; color: var(--amber); flex-shrink: 0; margin-top: .15rem; }
.compare-table tbody td { color: var(--mist); }
.chips-plain { margin-top: .8rem; }
.chip-static { cursor: default; }

.home-seo { border-top: 1px solid var(--line); }
.home-seo .prose h2 { font-size: clamp(1.6rem, 1rem + 2vw, 2.4rem); margin-bottom: .6rem; }
.home-seo .prose h3 { font-size: 1.25rem; margin: 1.6rem 0 .5rem; color: var(--paper); }
.home-seo .prose p { color: var(--mist); }
.home-seo .prose a { color: var(--amber-2); text-decoration: none; border-bottom: 1px solid var(--amber-glow); }
.home-seo .prose a:hover { color: var(--amber); }
.seo-links { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .5rem 1.4rem; margin: 1.4rem 0; }
.seo-links a { display: flex; align-items: center; gap: .5rem; color: var(--paper) !important; border: 0 !important; font-size: .92rem; padding: .35rem 0; }
.seo-links a svg { width: 14px; color: var(--amber); }
.seo-links a:hover { color: var(--amber) !important; }
.seo-more { margin-top: 1.6rem; border-top: 1px solid var(--line); padding-top: 1rem; }
.seo-more > summary { cursor: pointer; font-family: var(--mono); font-size: .76rem; letter-spacing: .1em; text-transform: uppercase; color: var(--amber); list-style: none; padding: .4rem 0; }
.seo-more > summary::-webkit-details-marker { display: none; }
.seo-more > summary::before { content: "+ "; }
.seo-more[open] > summary::before { content: "− "; }

/* Blog: normal genişlik + sol İçindekiler (TOC) */
.blog-layout { display: block; }
@media (min-width: 980px) {
    .blog-layout.has-toc { display: grid; grid-template-columns: 230px 1fr; gap: 3.5rem; align-items: start; }
}
.blog-toc { margin-bottom: 2.5rem; }
.blog-toc-inner { position: sticky; top: calc(var(--header-h) + 1.5rem); }
.blog-toc-title { display: block; font-family: var(--mono); font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; color: var(--mist-2); margin-bottom: 1rem; padding-bottom: .8rem; border-bottom: 1px solid var(--line); }
.blog-toc-nav { display: flex; flex-direction: column; }
.blog-toc-nav a { font-size: .88rem; line-height: 1.45; color: var(--mist); padding: .45rem 0 .45rem .85rem; border-left: 2px solid var(--line); transition: color .25s, border-color .25s; }
.blog-toc-nav a:hover, .blog-toc-nav a.is-active { color: var(--amber); border-color: var(--amber); }
.blog-toc-nav a.toc-l3 { padding-left: 1.7rem; font-size: .82rem; color: var(--mist-2); }
.blog-main .prose h2[id], .blog-main .prose h3[id] { scroll-margin-top: calc(var(--header-h) + 1.5rem); }
@media (max-width: 979px) {
    .blog-toc-inner { position: static; border: 1px solid var(--line); border-radius: var(--r); padding: 1.2rem 1.4rem; background: var(--ink-2); }
}

/* Blog ilgili içerik bloğu */
.post-related { margin-top: 2.6rem; padding-top: 1.6rem; border-top: 1px solid var(--line); }
.post-related h2 { font-size: 1.3rem; margin-bottom: 1rem; }
.prose .post-cta { display: flex; flex-wrap: wrap; gap: .8rem; margin: 2rem 0 0; }
.prose .blog-links { background: var(--ink-2); border-left: 2px solid var(--amber); padding: 1rem 1.3rem; margin: 1.6rem 0; border-radius: 0 8px 8px 0; }
.prose .blog-links strong { color: var(--paper); }
