/* =============================================================================
   Devre (Teknik Servis) — bağımsız kabuk, v2.0.0. Motor app.css'inin yerine geçer; sınıf öneki: dv-
   Kabuk: üstte komut çubuğu, solda terminal gezgini, komut paleti (/ ve Ctrl/⌘+K), mobilde dokunmatik palet + alt dock.
   Geçiş: View Transitions, glitch + tarama çizgisi. Tek sürekli döngü: ana sayfa hero log akışı (yalnızca görünürken).
   Hareketsiz/azaltılmış harekette her şey SON hâliyle görünür.
   ========================================================================== */
@font-face { font-family: "IBM Plex Mono"; src: url("../fonts/plexmono-700-latin-ext.woff2") format("woff2"); font-weight: 700; font-display: swap;
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "IBM Plex Mono"; src: url("../fonts/plexmono-700-latin.woff2") format("woff2"); font-weight: 700; font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "IBM Plex Mono"; src: url("../fonts/plexmono-500-latin-ext.woff2") format("woff2"); font-weight: 500; font-display: swap;
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "IBM Plex Mono"; src: url("../fonts/plexmono-500-latin.woff2") format("woff2"); font-weight: 500; font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

@font-face { font-family: "Inter"; src: url("../fonts/inter-latin.woff2") format("woff2"); font-weight: 100 900; font-display: swap;
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; src: url("../fonts/inter-latin-ext.woff2") format("woff2"); font-weight: 100 900; font-display: swap;
    unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* ── 1. temel ────────────────────────────────────────────────────────────── */
:root {
    color-scheme: dark;
    --font: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    --mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
    --r: 4px; --r-sm: 3px;
    --bar-h: 56px; --side-w: 232px; --dock-h: 64px;
    --gut: clamp(1rem, 0.4rem + 2.6vw, 2.6rem);
    --dv-err: #ff8aa1; --dv-warn: #ffcf6b;
    --glow: 0 0 0 1px color-mix(in srgb, var(--c-accent) 55%, transparent), 0 10px 28px -12px color-mix(in srgb, var(--c-accent) 75%, transparent);
    /* iş emri kâğıdı (token türevleri) */
    --paper: color-mix(in srgb, var(--c-on-contrast-strong) 90%, var(--c-primary));
    --paper-ink: var(--c-bg);
    --paper-muted: color-mix(in srgb, var(--c-bg) 55%, var(--c-primary-dark));
    --paper-acc: color-mix(in srgb, var(--c-accent) 50%, var(--c-bg));
    --ink-bg: color-mix(in srgb, var(--c-contrast) 72%, #000);
    --ease: cubic-bezier(0.2, 0.75, 0.2, 1);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--bar-h) + 1rem); scroll-behavior: smooth; }
body { margin: 0; min-height: 100vh; background: var(--c-bg); color: var(--c-ink); font: 400 1rem/1.62 var(--font); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; padding-top: var(--bar-h); overflow-x: hidden; }
body::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
    background: radial-gradient(50% 46% at 92% 0%, color-mix(in srgb, var(--c-accent) 11%, transparent), transparent 70%),
        linear-gradient(color-mix(in srgb, var(--c-primary) 4.5%, transparent) 1px, transparent 1px) 0 0 / 56px 56px,
        linear-gradient(90deg, color-mix(in srgb, var(--c-primary) 4.5%, transparent) 1px, transparent 1px) 0 0 / 56px 56px; }
img, svg, video { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
p, ul, ol, dl, figure, blockquote, pre { margin: 0; }
ul, ol { padding: 0; list-style: none; }
h1, h2, h3, h4 { margin: 0; font-family: var(--mono); font-weight: 700; letter-spacing: -0.035em; line-height: 1.12; text-wrap: balance; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
::selection { background: var(--c-accent); color: var(--c-on-accent); }
:focus-visible { outline: 2px solid var(--c-accent-soft); outline-offset: 2px; border-radius: var(--r-sm); }
[hidden] { display: none !important; }
.vh { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.field--hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.icon { width: 1.15em; height: 1.15em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
kbd { display: inline-block; min-width: 1.6em; padding: 0.12em 0.42em; text-align: center; font: 500 0.72em/1.35 var(--mono); color: var(--c-ink-soft); background: var(--c-surface-2); border: 1px solid var(--c-border-2); border-bottom-width: 2px; border-radius: var(--r-sm); }
.dv-skip { position: fixed; left: 0.8rem; top: -4rem; z-index: 200; padding: 0.7rem 1rem; background: var(--c-accent); color: var(--c-on-accent); font: 700 0.85rem/1 var(--mono); border-radius: var(--r); transition: top 0.15s; }
.dv-skip:focus { top: 0.8rem; }
.dv-preview { position: fixed; left: 0; right: 0; bottom: 0; z-index: 150; padding: 0.5rem 1rem; text-align: center; background: var(--c-warning, #ffcf6b); color: #1a1300; font: 700 0.8rem/1.2 var(--mono); }
.dv-wrap { width: min(100% - 2 * var(--gut), 1240px); margin-inline: auto; }
.dv-wrap--read { max-width: 820px; }
.dv-sec { padding-block: clamp(3rem, 1.8rem + 4.4vw, 6.2rem); }
.dv-sec--tight { padding-block: clamp(1.4rem, 1rem + 2vw, 3rem); }

/* ── 2. kabuk: komut çubuğu ──────────────────────────────────────────────── */
.dv-cmdbar { position: fixed; z-index: 70; top: 0; left: 0; right: 0; height: var(--bar-h); display: grid; grid-template-columns: var(--side-w) minmax(0, 1fr) auto; align-items: center; gap: 0 1rem; padding-right: var(--gut); background: color-mix(in srgb, var(--c-contrast) 96%, transparent); border-bottom: 1px solid var(--c-border); view-transition-name: dv-bar; }
.dv-logo { display: flex; align-items: center; gap: 0.6rem; min-width: 0; padding-inline: 1.1rem; height: 100%; border-right: 1px solid var(--c-border); }
.dv-logo__mark { display: grid; place-items: center; width: 1.9rem; height: 1.9rem; flex: none; background: var(--c-accent); color: var(--c-on-accent); border-radius: var(--r); }
.dv-logo__mark .icon { width: 1.1rem; height: 1.1rem; }
.dv-logo__txt { font: 700 0.95rem/1 var(--mono); letter-spacing: 0.04em; text-transform: uppercase; color: var(--c-on-contrast-strong); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dv-logo__img { max-height: 1.9rem; width: auto; }
.dv-cmdbtn { display: flex; align-items: center; gap: 0.7rem; width: min(100%, 640px); height: 38px; padding: 0 0.5rem 0 0.9rem; background: var(--ink-bg); border: 1px solid var(--c-border-2); border-radius: var(--r); color: var(--c-muted); text-align: left; transition: border-color 0.15s, box-shadow 0.15s, color 0.15s; }
.dv-cmdbtn:hover { border-color: var(--c-accent); color: var(--c-ink); box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-accent) 18%, transparent); }
.dv-cmdbtn__ps { color: var(--c-accent); font: 700 1rem/1 var(--mono); }
.dv-cmdbtn__txt { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 500 0.82rem/1 var(--mono); }
.dv-cmdbtn__keys { display: flex; gap: 0.3rem; }
.dv-cmdbar__r { display: flex; align-items: center; gap: 0.5rem; }
.dv-cmdbar__tel { display: inline-flex; align-items: center; gap: 0.5rem; height: 38px; padding-inline: 0.8rem; font: 500 0.82rem/1 var(--mono); color: var(--c-on-contrast-strong); border-radius: var(--r); white-space: nowrap; }
.dv-cmdbar__tel:hover { background: color-mix(in srgb, var(--c-accent) 14%, transparent); }
.dv-cmdbar__tel .icon { color: var(--c-accent-soft); }
.dv-cmdbar__cta { display: inline-flex; align-items: center; gap: 0.5rem; height: 38px; padding-inline: 1rem; background: var(--c-accent); color: var(--c-on-accent); font: 700 0.82rem/1 var(--mono); border-radius: var(--r); white-space: nowrap; transition: box-shadow 0.15s, transform 0.15s; }
.dv-cmdbar__cta:hover { box-shadow: var(--glow); transform: translateY(-1px); }
.dv-cmdbar__cta.is-cur { box-shadow: inset 0 0 0 2px var(--c-on-accent); }
.dv-prog { position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: transparent; pointer-events: none; }
.dv-prog::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--c-primary), var(--c-accent)); transform-origin: 0 50%; transform: scaleX(var(--p, 0)); box-shadow: 0 0 10px var(--c-accent); }
.dv-scan { position: fixed; z-index: 69; left: 0; right: 0; top: var(--bar-h); height: 3px; pointer-events: none; view-transition-name: dv-scan; background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--c-accent) 55%, transparent) 50%, transparent); }

/* ── 3. kabuk: terminal gezgini ─────────────────────────────────────────── */
.dv-side { position: fixed; z-index: 60; top: var(--bar-h); bottom: 0; left: 0; width: var(--side-w); display: flex; flex-direction: column; gap: 1.4rem; padding: 1.2rem 0.9rem 1rem 1.1rem; overflow-y: auto; overscroll-behavior: contain; background: color-mix(in srgb, var(--c-contrast) 94%, transparent); border-right: 1px solid var(--c-border); font-family: var(--mono); scrollbar-width: thin; scrollbar-color: var(--c-border-2) transparent; view-transition-name: dv-side; }
.dv-side__hd { font: 500 0.72rem/1.3 var(--mono); color: var(--c-muted); margin-bottom: 0.55rem; }
.dv-side__hd span { color: var(--c-secondary); margin-right: 0.35em; }
.dv-side__hd b { color: var(--c-ink-soft); font-weight: 500; }
.dv-side__li { position: relative; }
.dv-side__a { display: flex; align-items: center; gap: 0.5rem; min-height: 34px; padding: 0.25rem 0.55rem 0.25rem 0.3rem; border-radius: var(--r); font: 500 0.86rem/1.2 var(--mono); color: var(--c-on-contrast); transition: background-color 0.15s, color 0.15s; }
.dv-side__a kbd { min-width: 1.5em; font-size: 0.66rem; color: var(--c-muted); background: transparent; border-color: var(--c-border-2); }
.dv-side__arr { width: 0.8em; color: transparent; font-size: 0.75rem; transition: color 0.15s, transform 0.2s var(--ease); }
.dv-side__t { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dv-side__t::before { content: "./"; color: var(--c-muted); }
.dv-side__a:hover { background: color-mix(in srgb, var(--c-accent) 12%, transparent); color: var(--c-on-contrast-strong); }
.dv-side__a:hover .dv-side__arr { color: var(--c-accent-soft); transform: translateX(2px); }
.dv-side__a.is-cur { background: color-mix(in srgb, var(--c-accent) 18%, transparent); color: var(--c-on-contrast-strong); box-shadow: inset 2px 0 0 var(--c-accent); }
.dv-side__a.is-cur .dv-side__arr { color: var(--c-accent); }
.dv-side__a.is-cur .dv-side__t::before { color: var(--c-accent-soft); }
.dv-side__subtoggle { position: absolute; right: 0.2rem; top: 0.3rem; width: 28px; height: 28px; background: none; border: 0; color: var(--c-muted); border-radius: var(--r-sm); }
.dv-side__subtoggle[aria-expanded="true"] { color: var(--c-accent-soft); transform: rotate(180deg); }
.dv-side__sub { display: none; margin: 0.1rem 0 0.3rem 1.7rem; padding-left: 0.6rem; border-left: 1px dashed var(--c-border-2); }
.dv-side__subtoggle[aria-expanded="true"] + .dv-side__sub { display: block; }
.dv-side__sub a { display: block; padding: 0.3rem 0.4rem; font: 500 0.8rem/1.25 var(--mono); color: var(--c-muted); }
.dv-side__sub a:hover { color: var(--c-ink); }
.dv-side__slist { display: grid; gap: 0.1rem; }
.dv-side__slist a { display: block; padding: 0.32rem 0.5rem 0.32rem 0.7rem; border-left: 2px solid var(--c-border); font: 500 0.78rem/1.3 var(--mono); color: var(--c-muted); transition: color 0.15s, border-color 0.15s, background-color 0.15s; }
.dv-side__slist a::before { content: "## "; color: var(--c-border-2); }
.dv-side__slist a:hover { color: var(--c-ink); }
.dv-side__slist a.is-on { color: var(--c-accent-soft); border-left-color: var(--c-accent); background: color-mix(in srgb, var(--c-accent) 8%, transparent); }
.dv-side__ft { margin-top: auto; }
.dv-keys { display: grid; gap: 0.35rem; font: 500 0.74rem/1.3 var(--mono); color: var(--c-muted); }
.dv-keys > div { display: flex; gap: 0.6rem; align-items: center; }
.dv-keys dt { flex: none; min-width: 5.4rem; }
.dv-keys dd { margin: 0; }
.dv-side__hrs { display: flex; gap: 0.5rem; align-items: baseline; margin-top: 0.9rem; padding-top: 0.8rem; border-top: 1px dashed var(--c-border-2); font: 500 0.72rem/1.4 var(--mono); color: var(--c-muted); }
.dv-side__hrs i { flex: none; width: 7px; height: 7px; background: var(--c-secondary); transform: translateY(-1px); }

@media (min-width: 1000px) {
    body { padding-left: var(--side-w); }
    .dv-cmdbar { left: 0; }
}

/* ── 4. komut paleti ─────────────────────────────────────────────────────── */
.dv-pal { position: fixed; inset: 0; z-index: 200; display: grid; justify-items: center; align-items: start; padding: 11vh 1rem 1rem; }
.dv-pal__scrim { position: absolute; inset: 0; background: color-mix(in srgb, #02030a 78%, transparent); opacity: 0; transition: opacity 0.2s; }
.dv-pal__box { position: relative; width: min(680px, 100%); max-height: min(70vh, 640px); display: flex; flex-direction: column; background: var(--c-contrast); border: 1px solid var(--c-accent); box-shadow: 0 40px 90px -30px #000, 0 0 90px -40px var(--c-accent); opacity: 0; transform: translateY(-14px) scale(0.985); transition: opacity 0.18s, transform 0.24s var(--ease); overflow: hidden; }
.dv-pal__box::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: var(--c-accent-soft); box-shadow: 0 0 14px 2px var(--c-accent); opacity: 0; pointer-events: none; }
.dv-pal.is-open .dv-pal__scrim { opacity: 1; }
.dv-pal.is-open .dv-pal__box { opacity: 1; transform: none; }
.dv-pal.is-open .dv-pal__box::after { animation: dv-sweep 0.55s ease-out 0.05s both; }
@keyframes dv-sweep { 0% { top: 0; opacity: 0.95; } 100% { top: 100%; opacity: 0; } }
.dv-pal__bar { display: flex; justify-content: space-between; align-items: center; padding: 0.5rem 0.5rem 0.5rem 1rem; background: var(--c-surface); border-bottom: 1px solid var(--c-border-2); font: 500 0.74rem/1 var(--mono); color: var(--c-accent-soft); }
.dv-pal__bar small { color: var(--c-muted); }
.dv-pal__x { min-height: 32px; padding: 0 0.7rem; background: transparent; border: 1px solid var(--c-border-2); border-radius: var(--r-sm); color: var(--c-ink-soft); font: 500 0.72rem/1 var(--mono); text-transform: uppercase; }
.dv-pal__x:hover { border-color: var(--c-accent); color: var(--c-ink); }
.dv-pal__in { display: flex; align-items: center; gap: 0.7rem; padding: 0.35rem 1rem; border-bottom: 1px solid var(--c-border-2); }
.dv-pal__ps { color: var(--c-accent); font: 700 1.25rem/1 var(--mono); }
.dv-pal__in input { flex: 1; min-width: 0; height: 52px; background: transparent; border: 0; outline: none; color: var(--c-on-contrast-strong); font: 500 1.02rem/1 var(--mono); }
.dv-pal__in input::placeholder { color: var(--c-muted); }
.dv-pal__in:focus-within { box-shadow: inset 0 -2px 0 var(--c-accent); }
.dv-pal__list { overflow-y: auto; overscroll-behavior: contain; padding: 0.3rem 0.5rem 0.5rem; scrollbar-width: thin; scrollbar-color: var(--c-border-2) transparent; }
.dv-pal__grp { padding: 0.7rem 0.6rem 0.3rem; font: 500 0.68rem/1 var(--mono); letter-spacing: 0.12em; text-transform: uppercase; color: var(--c-muted); }
.dv-pal__o { display: grid; grid-template-columns: 2.4rem minmax(0, 1fr) auto; align-items: center; gap: 0.6rem; min-height: 44px; padding: 0.4rem 0.6rem; border-radius: var(--r); border: 1px solid transparent; color: var(--c-on-contrast); }
.dv-pal__o i { font: 700 0.74rem/1 var(--mono); font-style: normal; color: var(--c-muted); display: grid; }
.dv-pal__o i .icon { width: 1.1rem; height: 1.1rem; color: var(--c-accent-soft); }
.dv-pal__o b { font: 700 0.95rem/1.2 var(--mono); letter-spacing: -0.02em; color: var(--c-on-contrast-strong); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dv-pal__o em { font: 500 0.74rem/1 var(--mono); font-style: normal; color: var(--c-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 16ch; }
.dv-pal__o--sub { margin-left: 1.4rem; }
.dv-pal__o.is-sel, .dv-pal__o:hover { background: color-mix(in srgb, var(--c-accent) 20%, transparent); border-color: color-mix(in srgb, var(--c-accent) 55%, transparent); }
.dv-pal__o.is-sel i, .dv-pal__o.is-sel em { color: var(--c-accent-soft); }
.dv-pal__empty { padding: 1.4rem 1rem; font: 500 0.85rem/1.5 var(--mono); color: var(--c-muted); }
.dv-pal__ft { display: flex; flex-wrap: wrap; gap: 0.4rem 1.1rem; padding: 0.6rem 1rem; border-top: 1px solid var(--c-border-2); background: var(--c-surface); font: 500 0.72rem/1.4 var(--mono); color: var(--c-muted); }
.dv-pal__ft span { display: inline-flex; gap: 0.3rem; align-items: center; }

/* ── 5. mobil dock ───────────────────────────────────────────────────────── */
.dv-dock { display: none; }
.dv-fab { --cms-fab-radius: 4px; --cms-fab-wa-bg: var(--c-secondary); --cms-fab-wa-fg: #04140d; --cms-fab-phone-bg: var(--c-accent); --cms-fab-phone-fg: var(--c-on-accent); --cms-fab-shadow: 0 10px 26px -10px #000; --cms-fab-bottom: 1.1rem; }

/* ── 6. kayıt görüntüleyici (lightbox) ───────────────────────────────────── */
.dv-lb { position: fixed; inset: 0; z-index: 210; display: grid; place-items: center; padding: 3.4rem 1rem 1rem; background: color-mix(in srgb, #02030a 94%, transparent); }
.dv-lb img { max-width: min(100%, 1200px); max-height: calc(100vh - 6rem); object-fit: contain; border: 1px solid var(--c-accent); box-shadow: 0 0 80px -30px var(--c-accent); }
.dv-lb__bar { position: absolute; left: 0; right: 0; top: 0; display: flex; justify-content: space-between; align-items: center; padding: 0.6rem 0.8rem 0.6rem 1.1rem; font: 500 0.78rem/1.2 var(--mono); color: var(--c-accent-soft); border-bottom: 1px solid var(--c-border-2); }
.dv-lb__x, .dv-lb__n { display: grid; place-items: center; width: 44px; height: 44px; background: var(--c-surface); border: 1px solid var(--c-border-2); border-radius: var(--r); color: var(--c-ink); }
.dv-lb__x:hover, .dv-lb__n:hover { border-color: var(--c-accent); color: var(--c-accent-soft); }
.dv-lb__n { position: absolute; top: 50%; transform: translateY(-50%); }
.dv-lb__n--p { left: 0.8rem; } .dv-lb__n--p .icon { transform: rotate(180deg); }
.dv-lb__n--n { right: 0.8rem; }
.dv-lb.is-open img { animation: dv-lbin 0.35s var(--ease) both; }
@keyframes dv-lbin { from { opacity: 0; clip-path: inset(0 0 100% 0); } to { opacity: 1; clip-path: inset(0); } }

/* ── 7. sayfa geçişi: glitch + tarama çizgisi ───────────────────────────── */
@view-transition { navigation: auto; }
::view-transition-group(root) { animation-duration: 0.6s; }
::view-transition-old(root) { animation: dv-glitch 0.36s steps(9, end) both; mix-blend-mode: normal; }
::view-transition-new(root) { animation: dv-scanin 0.55s var(--ease) 0.14s both; mix-blend-mode: normal; }
::view-transition-old(dv-bar), ::view-transition-new(dv-bar), ::view-transition-old(dv-side), ::view-transition-new(dv-side) { animation: none; mix-blend-mode: normal; }
::view-transition-group(dv-bar), ::view-transition-group(dv-side) { animation-duration: 0s; }
::view-transition-group(dv-scan) { animation: dv-scanbar 0.62s linear 0.06s both; z-index: 2; }
::view-transition-old(dv-scan) { display: none; }
::view-transition-new(dv-scan) { animation: none; filter: brightness(2.4) drop-shadow(0 0 8px var(--c-accent)); }
@keyframes dv-glitch {
    0% { clip-path: inset(0); transform: none; filter: none; }
    14% { clip-path: inset(8% 0 62% 0); transform: translateX(-16px); filter: hue-rotate(40deg) saturate(1.8); }
    28% { clip-path: inset(52% 0 22% 0); transform: translateX(20px); }
    42% { clip-path: inset(24% 0 48% 0); transform: translateX(-9px); filter: hue-rotate(-50deg) saturate(1.8); }
    58% { clip-path: inset(70% 0 8% 0); transform: translateX(12px); }
    74% { clip-path: inset(38% 0 38% 0); transform: translateX(-4px); opacity: 0.8; }
    100% { clip-path: inset(49% 0 49% 0); transform: none; opacity: 0; }
}
@keyframes dv-scanin { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes dv-scanbar { 0% { transform: translateY(0); opacity: 1; } 92% { opacity: 1; } 100% { transform: translateY(calc(100vh - var(--bar-h))); opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
    @view-transition { navigation: none; }
}

/* ── 8. ortak bileşenler ────────────────────────────────────────────────── */
.dv-h1 { font-size: clamp(1.9rem, 1.2rem + 3.2vw, 3.7rem); letter-spacing: -0.045em; line-height: 1.06; color: var(--c-on-contrast-strong); max-width: 22ch; }
.dv-h2 { font-size: clamp(1.25rem, 1.05rem + 0.9vw, 1.75rem); }
.dv-h2 > span { color: var(--c-accent); }
.dv-kicker { font: 500 0.82rem/1.3 var(--mono); letter-spacing: 0.02em; color: var(--c-accent-ink); }
.dv-kicker::before { content: "// "; font-weight: 700; }
.dv-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.55rem; min-height: 44px; padding: 0.6rem 1.15rem; background: var(--c-accent); color: var(--c-on-accent); border: 1.5px solid var(--c-accent); border-radius: var(--r); font: 700 0.9rem/1.1 var(--mono); letter-spacing: -0.01em; cursor: pointer; transition: box-shadow 0.15s, transform 0.15s, background-color 0.15s, border-color 0.15s; }
.dv-btn:hover { box-shadow: var(--glow); transform: translateY(-1px); }
.dv-btn--lg { min-height: 52px; padding-inline: 1.5rem; font-size: 0.98rem; }
.dv-btn--sm { min-height: 40px; padding: 0.45rem 0.9rem; font-size: 0.82rem; }
.dv-btn--block { display: flex; width: 100%; }
.dv-btn--ghost { background: transparent; color: var(--c-on-contrast-strong); border-color: var(--c-border-2); }
.dv-btn--ghost:hover { background: color-mix(in srgb, var(--c-accent) 14%, transparent); border-color: var(--c-accent); box-shadow: none; }
.dv-btn--ink { background: var(--paper-ink); color: var(--paper); border-color: var(--paper-ink); }
.dv-btn--ink:hover { background: var(--paper-acc); border-color: var(--paper-acc); box-shadow: none; }
.dv-btn--line { background: transparent; color: var(--paper-ink); border-color: color-mix(in srgb, var(--paper-ink) 55%, transparent); }
.dv-btn--line:hover { border-color: var(--paper-ink); background: color-mix(in srgb, var(--paper-ink) 8%, transparent); box-shadow: none; }
.dv-link { color: var(--c-accent-ink); border-bottom: 1px dashed color-mix(in srgb, var(--c-accent) 60%, transparent); }
.dv-link:hover { color: var(--c-accent-soft); border-bottom-style: solid; }
.dv-led { display: inline-block; width: 8px; height: 8px; flex: none; background: var(--c-secondary); box-shadow: 0 0 9px 1px color-mix(in srgb, var(--c-secondary) 75%, transparent); }
.dv-badge { display: inline-flex; align-items: center; gap: 0.55rem; font: 700 0.78rem/1 var(--mono); letter-spacing: 0.02em; color: var(--c-on-contrast-strong); border: 1px solid color-mix(in srgb, var(--c-secondary) 55%, transparent); padding: 0.4rem 0.7rem; background: color-mix(in srgb, var(--c-secondary) 9%, transparent); white-space: nowrap; }
.dv-badge i { width: 8px; height: 8px; background: var(--c-secondary); box-shadow: 0 0 10px 1px color-mix(in srgb, var(--c-secondary) 80%, transparent); flex: none; }
.dv-badge--static { margin-top: 0; }
.dv-term { background: var(--ink-bg); border: 1px solid color-mix(in srgb, var(--c-accent) 50%, var(--c-border-2)); box-shadow: 0 30px 60px -34px #000, 0 0 70px -36px color-mix(in srgb, var(--c-accent) 70%, transparent); min-width: 0; }
.dv-term__bar { display: flex; justify-content: space-between; gap: 1rem; padding: 0.55rem 0.9rem; background: color-mix(in srgb, var(--c-surface-2) 85%, transparent); border-bottom: 1px solid var(--c-border-2); font: 500 0.74rem/1.2 var(--mono); color: var(--c-accent-soft); }
.dv-term__tag { color: var(--c-muted); }
.dv-card { padding: 1.2rem 1.2rem 1.3rem; background: var(--c-surface); border: 1px solid var(--c-border-2); border-left: 3px solid var(--c-accent); border-radius: var(--r); display: grid; gap: 0.8rem; }
.dv-card__hd { font: 700 0.95rem/1.3 var(--mono); letter-spacing: -0.02em; color: var(--c-on-contrast-strong); }
.dv-card__hd span { color: var(--c-secondary); margin-right: 0.4em; }
.dv-card__hd b { color: var(--c-accent-soft); }
.dv-card__links { display: flex; flex-wrap: wrap; gap: 0.5rem 1.2rem; font: 500 0.88rem/1.4 var(--mono); }
.dv-card__txt { font-size: 0.92rem; color: var(--c-ink-soft); }
.dv-notice { padding: 1.4rem; background: var(--c-surface); border: 1px solid var(--c-border-2); border-left: 3px solid var(--c-accent); border-radius: var(--r); }
.dv-notice--ok { border-left-color: var(--c-secondary); }
.dv-notice h2 { font-size: 1.15rem; color: var(--c-on-contrast-strong); }
.dv-notice p { margin-top: 0.5rem; color: var(--c-ink-soft); }
.dv-err { margin-bottom: 1rem; padding: 0.8rem 1rem; border: 1px solid var(--dv-err); background: color-mix(in srgb, var(--dv-err) 10%, transparent); color: var(--dv-err); font: 500 0.88rem/1.4 var(--mono); }
.dv-empty { padding: 2rem 0; color: var(--c-muted); font: 500 0.9rem/1.5 var(--mono); }
.dv-hint { margin-top: 1rem; font: 500 0.76rem/1.5 var(--mono); color: var(--c-muted); }
.dv-note { margin-top: 2rem; padding-top: 1rem; border-top: 1px dashed var(--c-border-2); font-size: 0.88rem; color: var(--c-muted); }
.dv-barcode { display: block; width: 112px; height: 30px; background: repeating-linear-gradient(90deg, var(--paper-ink) 0 2px, transparent 2px 4px, var(--paper-ink) 4px 5px, transparent 5px 8px, var(--paper-ink) 8px 11px, transparent 11px 13px); }
.dv-meta { display: flex; flex-wrap: wrap; gap: 0.3rem 1.2rem; margin-top: 1rem; font: 500 0.8rem/1.4 var(--mono); color: var(--c-muted); }
.dv-meta span + span::before { content: "·"; margin-right: 1.2rem; color: var(--c-border-2); }
.dv-meta__pct { color: var(--c-accent-soft); margin-left: auto; }

/* kâğıt fiş (fiyat/iş emri) */
.dv-slip { position: relative; background: var(--paper); color: var(--paper-ink); padding-bottom: 1.4rem; filter: drop-shadow(0 20px 24px color-mix(in srgb, #000 55%, transparent)); -webkit-mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / 18px 100%; mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / 18px 100%; }
.dv-slip__top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0.75rem 1.1rem; border-bottom: 2px dashed color-mix(in srgb, var(--paper-ink) 28%, transparent); font: 700 0.72rem/1 var(--mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--paper-muted); }
.dv-slip__top b { background: var(--paper-ink); color: var(--paper); padding: 0.32rem 0.55rem; letter-spacing: 0.08em; }
.dv-slip__price { padding: 1rem 1.1rem 0; font: 700 clamp(1.9rem, 1.4rem + 1.4vw, 2.5rem)/1 var(--mono); letter-spacing: -0.06em; color: var(--paper-acc); }
.dv-slip__price small { display: block; margin-bottom: 0.4rem; font: 500 0.72rem/1 var(--mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--paper-muted); }
.dv-slip__per { padding: 0.3rem 1.1rem 0; font: 500 0.8rem/1.3 var(--mono); color: var(--paper-muted); }
.dv-slip__facts { display: grid; gap: 0.3rem; padding: 0.9rem 1.1rem 0; font: 500 0.84rem/1.45 var(--mono); }
.dv-slip__facts > div { display: flex; align-items: baseline; gap: 0.6rem; }
.dv-slip__facts dt { display: flex; flex: 1; align-items: baseline; gap: 0.5rem; color: var(--paper-muted); white-space: nowrap; }
.dv-slip__facts dt::after { content: ""; flex: 1; border-bottom: 2px dotted color-mix(in srgb, var(--paper-ink) 32%, transparent); transform: translateY(-3px); }
.dv-slip__facts dd { margin: 0; text-align: right; color: var(--paper-ink); font-weight: 700; max-width: 62%; }
.dv-slip__acts { display: grid; gap: 0.5rem; padding: 1.1rem 1.1rem 0; }
.dv-slip__note { padding: 0.8rem 1.1rem 0; font: 500 0.74rem/1.45 var(--mono); color: var(--paper-muted); }
.dv-slip .dv-barcode { margin: 1rem 1.1rem 0; }

/* terminal listeler */
.dv-checks { display: grid; gap: 0.5rem; font: 500 0.95rem/1.5 var(--mono); }
.dv-checks li { display: grid; grid-template-columns: 2.6rem minmax(0, 1fr); gap: 0.4rem; padding: 0.55rem 0; border-bottom: 1px dashed var(--c-border-2); }
.dv-checks li span { color: var(--c-secondary); font-weight: 700; }
.dv-status { display: grid; gap: 0; font: 500 0.92rem/1.5 var(--mono); }
.dv-status li { display: grid; grid-template-columns: 4.4rem minmax(0, 1fr); gap: 0.6rem; padding: 0.7rem 0; border-bottom: 1px dashed var(--c-border-2); }
.dv-status b { color: var(--c-secondary); font-weight: 700; }
.dv-status strong { display: block; color: var(--c-on-contrast-strong); font-weight: 700; letter-spacing: -0.02em; }
.dv-status--big li { padding-block: 1rem; font-size: 0.95rem; }
.dv-status--big span { color: var(--c-ink-soft); font-family: var(--font); font-size: 0.94rem; }
.dv-status--big strong { font: 700 1.05rem/1.3 var(--mono); margin-bottom: 0.2rem; }
.dv-kv { display: grid; gap: 0; padding: 0.4rem 1rem 0.2rem; font: 500 0.86rem/1.4 var(--mono); }
.dv-kv > div { display: grid; grid-template-columns: 6.2rem minmax(0, 1fr); gap: 0.6rem; padding: 0.55rem 0; border-bottom: 1px dotted var(--c-border-2); }
.dv-kv dt { color: var(--c-accent-soft); }
.dv-kv dd { margin: 0; color: var(--c-ink); }
.dv-whois { display: grid; font: 500 0.86rem/1.45 var(--mono); }
.dv-whois > div { display: grid; grid-template-columns: 5.6rem minmax(0, 1fr); gap: 0.6rem; padding: 0.6rem 0; border-bottom: 1px dotted var(--c-border-2); }
.dv-whois dt { color: var(--c-muted); }
.dv-whois dd { margin: 0; color: var(--c-ink); overflow-wrap: anywhere; }
.dv-whois a { color: var(--c-accent-ink); }
.dv-man { display: grid; padding: 0.4rem 1rem 0.6rem; font: 500 0.82rem/1.4 var(--mono); }
.dv-man > div { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: 0.5rem; padding: 0.45rem 0; border-bottom: 1px dotted var(--c-border-2); }
.dv-man dt { color: var(--c-muted); } .dv-man dd { margin: 0; }

/* prose */
.dv-prose { max-width: 70ch; font-size: 1.02rem; color: var(--c-ink-soft); }
.dv-prose > * + * { margin-top: 1.1rem; }
.dv-prose h2 { margin-top: 2.2rem; font-size: clamp(1.25rem, 1.05rem + 0.9vw, 1.7rem); color: var(--c-on-contrast-strong); scroll-margin-top: calc(var(--bar-h) + 1rem); }
.dv-prose h2::before { content: "## "; color: var(--c-accent); }
.dv-prose h3 { margin-top: 1.6rem; font-size: 1.1rem; color: var(--c-on-contrast-strong); }
.dv-prose a { color: var(--c-accent-ink); border-bottom: 1px dashed color-mix(in srgb, var(--c-accent) 60%, transparent); }
.dv-prose ul, .dv-prose ol { padding-left: 1.3rem; list-style: revert; display: grid; gap: 0.4rem; }
.dv-prose li::marker { color: var(--c-accent); }
.dv-prose strong { color: var(--c-ink); }
.dv-prose blockquote { padding-left: 1rem; border-left: 3px solid var(--c-accent); color: var(--c-ink); }
.dv-prose code { font: 500 0.88em var(--mono); padding: 0.1em 0.35em; background: var(--c-surface-2); border-radius: var(--r-sm); }
.dv-prose img { border: 1px solid var(--c-border-2); border-radius: var(--r); }
.dv-prose table { width: 100%; border-collapse: collapse; font-size: 0.92rem; }
.dv-prose th, .dv-prose td { text-align: left; padding: 0.5rem 0.6rem; border-bottom: 1px dashed var(--c-border-2); }
.dv-lede { font-size: 1.2rem; color: var(--c-ink); }

/* form */
.dv-form { margin: 0; }
.dv-form__body { display: grid; gap: 1.1rem; padding: 1.2rem 1.2rem 1.4rem; }
.dv-form__row { display: grid; gap: 1.1rem; }
@media (min-width: 640px) { .dv-form__row { grid-template-columns: 1fr 1fr; } }
.dv-f { display: grid; gap: 0.4rem; min-width: 0; }
.dv-f label { font: 500 0.8rem/1.2 var(--mono); color: var(--c-accent-soft); }
.dv-f label::before { content: "$ "; color: var(--c-secondary); }
.dv-f input, .dv-f select, .dv-f textarea, .dv-quick input { width: 100%; min-height: 48px; padding: 0.7rem 0.85rem; background: var(--c-soft); color: var(--c-ink); border: 1px solid var(--c-border-2); border-radius: var(--r); font: 500 0.98rem/1.35 var(--font); }
.dv-f textarea { min-height: 7rem; resize: vertical; }
.dv-f input::placeholder, .dv-f textarea::placeholder { color: color-mix(in srgb, var(--c-muted) 85%, transparent); }
.dv-f input:focus, .dv-f select:focus, .dv-f textarea:focus, .dv-quick input:focus { border-color: var(--c-accent); outline: none; box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-accent) 24%, transparent); }
.dv-f select { appearance: none; padding-right: 2.4rem; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b9bfe6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 0.9rem center; background-size: 1.1rem; }
.dv-f select option { background: var(--c-surface); color: var(--c-ink); }
.dv-f.is-bad input, .dv-f.is-bad textarea { border-color: var(--dv-err); }
.dv-f__e { font: 500 0.78rem/1.3 var(--mono); color: var(--dv-err); }
.dv-form__note { font-size: 0.82rem; color: var(--c-muted); }
.dv-fs2 { margin: 0; padding: 0 0 1.2rem; border: 0; border-bottom: 1px dashed var(--c-border-2); display: grid; gap: 0.9rem; min-width: 0; }
.dv-fs2 legend { float: left; width: 100%; padding: 0 0 0.8rem; font: 700 0.92rem/1.2 var(--mono); color: var(--c-ink); }
.dv-fs2 legend + * { clear: both; }
.dv-fs2 legend b { display: inline-grid; place-items: center; min-width: 1.9rem; height: 1.5rem; padding-inline: 0.3rem; margin-right: 0.5rem; background: var(--c-accent); color: var(--c-on-accent); font-size: 0.74rem; }
.dv-chipset { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.dv-pick { position: relative; display: block; cursor: pointer; }
.dv-pick input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.dv-pick span { display: inline-flex; align-items: center; min-height: 44px; padding: 0.55rem 1rem; border: 1.5px solid var(--c-border-2); font: 500 0.86rem/1.2 var(--mono); color: var(--c-ink); transition: background-color 0.15s, border-color 0.15s, color 0.15s; }
.dv-pick:hover span { border-color: var(--c-accent-soft); }
.dv-pick input:checked + span { background: var(--c-accent); border-color: var(--c-accent); color: var(--c-on-accent); font-weight: 700; }
.dv-pick input:focus-visible + span { outline: 2px solid var(--c-accent-soft); outline-offset: 2px; }
.dv-cmd { padding: 1rem; font: 500 0.82rem/1.7 var(--mono); color: var(--c-ink); white-space: pre-wrap; overflow-wrap: anywhere; min-height: 5.5rem; }
.dv-cmd b { color: var(--c-accent-soft); font-weight: 500; }
.dv-cmd i { color: var(--c-secondary); font-style: normal; }

/* ── 9. bölüm başlıkları ─────────────────────────────────────────────────── */
.dv-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem 2rem; margin-bottom: clamp(1.6rem, 1rem + 2.4vw, 3rem); }
.dv-head__title { margin-top: 0.5rem; font-size: clamp(1.7rem, 1.15rem + 2.4vw, 3rem); max-width: 24ch; color: var(--c-on-contrast-strong); }
.dv-head__title::before { content: "> "; color: var(--c-accent); }
.dv-head__link { display: inline-flex; align-items: center; gap: 0.5rem; min-height: 44px; font: 700 0.85rem/1 var(--mono); color: var(--c-on-contrast-strong); border-bottom: 1px dashed var(--c-accent); transition: gap 0.2s; }
.dv-head__link:hover { gap: 0.9rem; color: var(--c-accent-soft); }
.dv-head__link .icon { width: 1em; height: 1em; }

/* ── 10. ana sayfa: hero (servis konsolu) ───────────────────────────────── */
.dv-hero { position: relative; isolation: isolate; overflow: hidden; background: var(--c-contrast); color: var(--c-on-contrast); border-bottom: 1px solid var(--c-border); }
.dv-hero::before { content: ""; position: absolute; inset: 0; z-index: -1;
    background: radial-gradient(46% 62% at 88% 6%, color-mix(in srgb, var(--c-accent) 30%, transparent), transparent 70%),
        radial-gradient(40% 50% at 0% 100%, color-mix(in srgb, var(--c-primary) 16%, transparent), transparent 70%),
        linear-gradient(color-mix(in srgb, var(--c-primary) 7%, transparent) 1px, transparent 1px) 0 0 / 56px 56px,
        linear-gradient(90deg, color-mix(in srgb, var(--c-primary) 7%, transparent) 1px, transparent 1px) 0 0 / 56px 56px;
    -webkit-mask-image: linear-gradient(#000 78%, transparent); mask-image: linear-gradient(#000 78%, transparent); }
.dv-bar { border-bottom: 1px solid color-mix(in srgb, var(--c-accent) 28%, var(--c-border)); background: color-mix(in srgb, var(--c-contrast-2) 70%, transparent); font: 500 0.78rem/1.2 var(--mono); }
.dv-bar__row { display: flex; align-items: center; gap: 0.9rem 1.4rem; padding-block: 0.7rem; min-width: 0; }
.dv-bar__note { color: var(--c-on-contrast); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.dv-bar__note em { font-style: normal; color: var(--c-secondary); }
.dv-bar__note em.is-off { color: var(--c-accent-soft); }
.dv-bar__id { margin-left: auto; color: var(--c-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.dv-hero__main { padding-block: clamp(2rem, 1.2rem + 3.4vw, 4.2rem) clamp(2.2rem, 1.5rem + 3vw, 4rem); }
.dv-hero__title { font-size: clamp(1.6rem, 1rem + 3vw, 3.6rem); line-height: 1.1; letter-spacing: -0.04em; max-width: 24ch; color: var(--c-on-contrast-strong); }
.dv-prompt { color: var(--c-accent); margin-right: 0.25em; }
.dv-hero__cols { margin-top: clamp(1.6rem, 1rem + 2.6vw, 3rem); display: grid; gap: clamp(1.5rem, 1rem + 2vw, 2.5rem); }
@media (min-width: 1180px) { .dv-hero__cols { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 0; align-items: stretch; } }
.dv-hero__left { position: relative; z-index: 2; min-width: 0; }
.dv-hero__sub { font-size: clamp(1.02rem, 0.98rem + 0.3vw, 1.2rem); max-width: 46ch; color: color-mix(in srgb, var(--c-on-contrast) 94%, transparent); }
.dv-hero__actions { margin-top: 1.6rem; display: flex; flex-wrap: wrap; gap: 0.8rem; align-items: center; }
.dv-callbtn { text-align: left; gap: 0.8rem; }
.dv-callbtn span { display: grid; line-height: 1.1; font-size: 1.15rem; letter-spacing: -0.02em; }
.dv-callbtn small { font: 500 0.68rem/1.2 var(--mono); letter-spacing: 0.04em; opacity: 0.85; }
.dv-callbtn .icon { width: 1.5rem; height: 1.5rem; }
.dv-wa { display: inline-flex; align-items: center; gap: 0.5rem; font: 700 0.85rem/1 var(--mono); color: var(--c-on-contrast-strong); min-height: 44px; padding-inline: 0.4rem; border-bottom: 1px dashed color-mix(in srgb, var(--c-on-contrast) 45%, transparent); }
.dv-wa:hover { color: var(--c-accent-soft); border-bottom-color: var(--c-accent-soft); }
.dv-chips { margin-top: 1.1rem; display: grid; gap: 0.35rem; font: 500 0.82rem/1.45 var(--mono); color: var(--c-on-contrast); }
.dv-chips span { color: var(--c-secondary); }
.dv-term--log { margin-top: 1.8rem; }
@media (min-width: 1180px) { .dv-term--log { margin-right: -3rem; margin-top: 2rem; } }
.dv-log { list-style: none; padding: 0.4rem 0.9rem 0.8rem; }
.dv-log li { display: grid; grid-template-columns: 2rem minmax(0, 1fr) auto; gap: 0.5rem; align-items: baseline; padding: 0.42rem 0; border-bottom: 1px dotted color-mix(in srgb, var(--c-border-2) 80%, transparent); font: 500 0.84rem/1.35 var(--mono); color: var(--c-ink); }
.dv-log li:last-child { border-bottom: 0; }
.dv-log b { color: var(--c-primary-ink); font-weight: 700; }
.dv-log i { color: var(--c-secondary); font-style: normal; font-weight: 700; }
@media (prefers-reduced-motion: no-preference) {
    .dv-term--log.is-js .dv-log li { opacity: 0; transform: translateY(6px); }
    .dv-term--log.is-js .dv-log li.is-on { opacity: 1; transform: none; transition: opacity 0.28s ease, transform 0.28s ease; }
    .dv-term--log.is-out .dv-log { opacity: 0; transition: opacity 0.55s ease; }
}
.dv-cams { display: flex; flex-direction: column; background: var(--ink-bg); border: 1px solid var(--c-border-2); min-width: 0; align-self: stretch; }
.dv-cams__bar { display: flex; justify-content: space-between; padding: 0.55rem 0.9rem; border-bottom: 1px solid var(--c-border-2); font: 500 0.74rem/1.2 var(--mono); color: var(--c-ink-soft); background: color-mix(in srgb, var(--c-surface) 80%, transparent); }
.dv-cams__tag { color: var(--c-muted); }
.dv-cams__grid { flex: 1; display: grid; grid-template-columns: 1fr 1fr; grid-auto-rows: 1fr; gap: 1px; background: var(--c-border-2); }
.dv-cam { position: relative; background: var(--ink-bg); min-height: 0; }
.dv-cam svg { width: 100%; height: 100%; }
.dv-cam::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(0deg, transparent 0 3px, color-mix(in srgb, var(--c-on-contrast-strong) 3%, transparent) 3px 4px); }
.dv-w { fill: none; stroke: var(--c-primary-ink); stroke-width: 3; stroke-linejoin: round; opacity: 0.8; }
.dv-o { fill: none; stroke: var(--c-border-2); stroke-width: 2.5; }
.dv-d { fill: none; stroke: var(--c-border-2); stroke-width: 2; stroke-dasharray: 4 4; }
.dv-fov { fill: color-mix(in srgb, var(--c-accent) 24%, transparent); stroke: var(--c-accent-soft); stroke-width: 1.6; stroke-dasharray: 5 5; stroke-opacity: 0.75; }
.dv-cam__dot { fill: var(--c-on-contrast-strong); }
.dv-cam__lens { fill: var(--c-accent); }
.dv-cam__lab { position: absolute; right: 0.6rem; top: 0.5rem; text-align: right; z-index: 1; display: grid; gap: 0.1rem; font: 500 0.66rem/1.15 var(--mono); color: var(--c-ink-soft); }
.dv-cam__lab b { color: var(--c-accent-soft); font-weight: 700; letter-spacing: 0.04em; }
.dv-cam::before { content: ""; position: absolute; left: 0.6rem; top: 0.6rem; z-index: 1; width: 6px; height: 6px; background: var(--c-secondary); }
.dv-cams__note { text-align: right; padding: 0.55rem 0.9rem; border-top: 1px solid var(--c-border-2); font: 500 0.72rem/1.4 var(--mono); color: var(--c-muted); }
@media (max-width: 1179px) { .dv-cam { aspect-ratio: 240 / 168; } }
.dv-quick { border-top: 1px solid color-mix(in srgb, var(--c-accent) 45%, var(--c-border-2)); background: color-mix(in srgb, var(--c-accent) 12%, var(--c-contrast)); }
.dv-quick__row { display: grid; gap: 0.6rem; padding-block: 1rem; align-items: center; }
@media (min-width: 900px) { .dv-quick__row { grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr) auto; gap: 0.8rem; } }
.dv-quick__lead { display: grid; line-height: 1.2; margin-right: 0.8rem; }
.dv-quick__lead span { font: 500 0.72rem/1.2 var(--mono); color: var(--c-secondary); }
.dv-quick__lead strong { font: 700 1.05rem/1.2 var(--mono); letter-spacing: -0.03em; color: var(--c-on-contrast-strong); }
.dv-quick__lead small { font-size: 0.78rem; color: var(--c-on-contrast); }
.dv-quick input { background: var(--ink-bg); }
.dv-quick__go { min-height: 48px; white-space: nowrap; }
.dv-nums { border-top: 1px dashed var(--c-border-2); background: color-mix(in srgb, var(--c-contrast) 60%, #000); }
.dv-nums__row { display: grid; grid-template-columns: repeat(3, 1fr); }
.dv-num { display: flex; flex-direction: column-reverse; gap: 0.2rem; padding: clamp(0.9rem, 0.5rem + 1.4vw, 1.6rem) clamp(0.6rem, 0.3rem + 1.2vw, 1.4rem); border-right: 1px dashed var(--c-border-2); }
.dv-num:first-child { padding-left: 0; }
.dv-num:last-child { border-right: 0; }
.dv-num dd { margin: 0; font: 700 clamp(1.5rem, 1.1rem + 2.3vw, 3.2rem)/1 var(--mono); letter-spacing: -0.05em; color: var(--c-accent-ink); }
.dv-num dt { font: 500 0.74rem/1.3 var(--mono); color: var(--c-muted); }

/* ── 11. ana sayfa: iş emri kartları ─────────────────────────────────────── */
.dv-tickets { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(1.1rem, 0.6rem + 2vw, 2.2rem) clamp(1rem, 0.5rem + 1.6vw, 2rem); }
.dv-ticket { grid-column: span 12; filter: drop-shadow(0 22px 26px color-mix(in srgb, #000 55%, transparent)); transition: transform 0.25s ease; }
@media (min-width: 900px) { .dv-ticket { grid-column: span var(--span); } }
@media (hover: hover) { .dv-ticket:hover { transform: translateY(-4px); } }
.dv-ticket__paper { position: relative; height: 100%; display: flex; flex-direction: column; background: var(--paper); color: var(--paper-ink); padding-bottom: 14px; -webkit-mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / 18px 100%; mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / 18px 100%; }
.dv-ticket__top { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0.75rem 1.1rem; border-bottom: 2px dashed color-mix(in srgb, var(--paper-ink) 28%, transparent); font: 700 0.72rem/1 var(--mono); letter-spacing: 0.14em; text-transform: uppercase; color: var(--paper-muted); }
.dv-ticket__top b { background: var(--paper-ink); color: var(--paper); padding: 0.32rem 0.55rem; letter-spacing: 0.08em; }
.dv-ticket__media { margin: 1rem 1.1rem 0; border: 1px solid color-mix(in srgb, var(--paper-ink) 40%, transparent); background: var(--c-contrast); overflow: hidden; aspect-ratio: 16 / 8; }
.dv-ticket__media img { width: 100%; height: 100%; object-fit: cover; }
.dv-ticket__body { padding: 1.1rem 1.1rem 0.4rem; display: flex; flex-direction: column; gap: 0.7rem; flex: 1; }
.dv-ticket__title { font-size: clamp(1.15rem, 1rem + 0.7vw, 1.55rem); line-height: 1.15; color: var(--paper-ink); }
.dv-ticket__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.dv-ticket__title em { display: inline-block; vertical-align: middle; transform: rotate(-3deg); margin-left: 0.6rem; border: 2px solid var(--paper-acc); color: var(--paper-acc); font: 700 0.62rem/1 var(--mono); letter-spacing: 0.08em; text-transform: uppercase; padding: 0.22rem 0.4rem; font-style: normal; }
.dv-ticket__sum { font-size: 0.95rem; color: color-mix(in srgb, var(--paper-ink) 78%, var(--paper)); max-width: 52ch; }
.dv-ticket__facts { display: grid; gap: 0.15rem; margin-top: auto; padding-top: 0.5rem; font: 500 0.82rem/1.5 var(--mono); }
.dv-ticket__facts > div { display: flex; align-items: baseline; gap: 0.6rem; }
.dv-ticket__facts dt { display: flex; flex: 1; align-items: baseline; gap: 0.5rem; color: var(--paper-muted); white-space: nowrap; }
.dv-ticket__facts dt::after { content: ""; flex: 1; border-bottom: 2px dotted color-mix(in srgb, var(--paper-ink) 32%, transparent); transform: translateY(-3px); }
.dv-ticket__facts dd { margin: 0; text-align: right; color: var(--paper-ink); font-weight: 700; max-width: 62%; }
.dv-ticket__price dd { font-size: 1.3rem; letter-spacing: -0.04em; color: var(--paper-acc); }
.dv-ticket__price { margin-bottom: 0.25rem; }
.dv-ticket__foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: 0.9rem 1.1rem 0; padding-top: 0.8rem; border-top: 2px dashed color-mix(in srgb, var(--paper-ink) 28%, transparent); position: relative; z-index: 2; }
.dv-ticket__foot .dv-barcode { height: 30px; }
.dv-ticket__foot a { display: inline-flex; align-items: center; gap: 0.45rem; min-height: 44px; padding-inline: 0.8rem; background: var(--paper-ink); color: var(--paper); font: 700 0.8rem/1 var(--mono); }
.dv-ticket__foot a:hover { background: var(--paper-acc); }
.dv-ticket__foot .icon { width: 1em; height: 1em; }
@media (min-width: 900px) {
    .dv-ticket--wide .dv-ticket__paper { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-areas: "top top" "media body" "foot foot"; grid-template-rows: auto 1fr auto; }
    .dv-ticket--wide .dv-ticket__top { grid-area: top; }
    .dv-ticket--wide .dv-ticket__media { grid-area: media; aspect-ratio: auto; margin: 1.1rem 0 0.4rem 1.1rem; min-height: 190px; }
    .dv-ticket--wide .dv-ticket__body { grid-area: body; }
    .dv-ticket--wide .dv-ticket__foot { grid-area: foot; }
    .dv-ticket:not(.dv-ticket--wide) .dv-ticket__title { font-size: 1.2rem; }
}

/* ── 12. ana sayfa: arıza sihirbazı ─────────────────────────────────────── */
.dv-wiz { background: color-mix(in srgb, var(--c-contrast) 55%, var(--c-bg)); border-block: 1px solid var(--c-border); }
.dv-wiz__grid { display: grid; gap: clamp(2rem, 1rem + 3vw, 4rem); }
@media (min-width: 1180px) { .dv-wiz__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); } }
.dv-wiz__intro { margin-top: 0.8rem; color: var(--c-muted); max-width: 52ch; }
.dv-wiz__ui { margin-top: 1.6rem; }
.dv-fs { border: 0; padding: 1rem 1.1rem 1.2rem; margin: 0; min-width: 0; border-bottom: 1px dashed var(--c-border-2); }
.dv-fs legend { padding: 0 0 0.7rem; font: 700 0.9rem/1.2 var(--mono); color: var(--c-ink); }
.dv-fs legend b { display: inline-grid; place-items: center; width: 1.5rem; height: 1.5rem; margin-right: 0.5rem; background: var(--c-accent); color: var(--c-on-accent); font-size: 0.8rem; }
.dv-fs legend small { font-weight: 500; color: var(--c-muted); margin-left: 0.4rem; }
.dv-fault { position: relative; display: block; cursor: pointer; }
.dv-fault input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.dv-faults { display: grid; gap: 0.45rem; }
.dv-fault span { display: flex; align-items: center; gap: 0.8rem; min-height: 48px; padding: 0.6rem 0.9rem; border: 1px solid var(--c-border-2); background: color-mix(in srgb, var(--c-surface) 70%, transparent); font-size: 0.95rem; color: var(--c-ink); }
.dv-fault:hover span { border-color: var(--c-accent-soft); }
.dv-fault input:focus-visible + span { outline: 2px solid var(--c-accent-soft); outline-offset: 2px; }
.dv-fault i { flex: none; font: 700 0.7rem/1 var(--mono); font-style: normal; letter-spacing: 0.06em; padding: 0.3rem 0.45rem; background: color-mix(in srgb, var(--c-primary) 18%, transparent); color: var(--c-primary-ink); }
.dv-fault input:checked + span { border-color: var(--c-accent); background: color-mix(in srgb, var(--c-accent) 16%, transparent); box-shadow: inset 3px 0 0 var(--c-accent); }
.dv-fault input:checked + span i { background: var(--c-accent); color: var(--c-on-accent); }
.dv-model { display: grid; gap: 0.35rem; margin-top: 0.9rem; font: 500 0.8rem/1.2 var(--mono); color: var(--c-muted); }
.dv-model input { min-height: 48px; padding: 0.7rem 0.85rem; background: var(--c-soft); border: 1px solid var(--c-border-2); border-radius: var(--r); font: 500 0.95rem/1.3 var(--font); color: var(--c-ink); }
.dv-model input::placeholder { color: color-mix(in srgb, var(--c-muted) 85%, transparent); }
.dv-model input:focus { border-color: var(--c-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-accent) 22%, transparent); outline: none; }
.dv-result { display: grid; gap: 1.1rem; padding: 1.1rem; }
@media (min-width: 700px) { .dv-result { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: start; } }
.dv-result__paper { background: var(--paper); color: var(--paper-ink); padding-bottom: 20px; -webkit-mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / 16px 100%; mask: conic-gradient(from -45deg at bottom, #0000, #000 1deg 89deg, #0000 90deg) 50% / 16px 100%; }
.dv-ticket__top { }
.dv-result__fault { padding: 0.9rem 1.1rem 0; font: 700 1.1rem/1.25 var(--mono); letter-spacing: -0.03em; }
.dv-result__facts { padding: 0.8rem 1.1rem 0; display: grid; gap: 0.35rem; font: 500 0.86rem/1.4 var(--mono); }
.dv-result__facts > div { display: flex; align-items: baseline; gap: 0.6rem; }
.dv-result__facts dt { display: flex; flex: 1; gap: 0.5rem; color: var(--paper-muted); white-space: nowrap; }
.dv-result__facts dt::after { content: ""; flex: 1; border-bottom: 2px dotted color-mix(in srgb, var(--paper-ink) 32%, transparent); transform: translateY(-3px); }
.dv-result__facts dd { margin: 0; font-weight: 700; text-align: right; }
.dv-result__price dd { font-size: 1.35rem; letter-spacing: -0.05em; color: var(--paper-acc); }
.dv-result__note, .dv-result__warn { padding: 0.55rem 1.1rem 0; font-size: 0.86rem; color: color-mix(in srgb, var(--paper-ink) 80%, var(--paper)); max-width: none; }
.dv-result__note:empty { display: none; }
.dv-result__warn { font: 500 0.76rem/1.45 var(--mono); color: var(--paper-muted); }
.dv-result__form { display: grid; gap: 0.2rem; }
.dv-result__form .dv-btn { margin-top: 1rem; }
.dv-result__kvkk { margin-top: 0.7rem; font-size: 0.8rem; color: var(--c-muted); }
.dv-reset { margin: 0 1.1rem 1rem; background: none; border: 0; border-bottom: 1px dashed var(--c-muted); padding: 0.4rem 0; color: var(--c-muted); font: 500 0.78rem/1 var(--mono); min-height: 36px; }
.dv-reset:hover { color: var(--c-accent-soft); border-color: var(--c-accent-soft); }
.dv-wiz__table { margin-top: 1.4rem; width: 100%; border-collapse: collapse; font: 500 0.85rem/1.4 var(--mono); }
.dv-wiz__table caption { text-align: left; padding-bottom: 0.6rem; color: var(--c-muted); }
.dv-wiz__table th, .dv-wiz__table td { text-align: left; padding: 0.5rem 0.6rem; border-bottom: 1px dashed var(--c-border-2); vertical-align: top; }
html:not(.no-js) .dv-wiz__table { display: none; }
.no-js .dv-wiz__ui { display: none; }
.dv-steps__title { margin-top: 0.5rem; font-size: clamp(1.3rem, 1.1rem + 1vw, 1.8rem); color: var(--c-on-contrast-strong); }
.dv-steps { list-style: none; padding: 0; margin-top: 1.4rem; display: grid; }
.dv-step { position: relative; display: grid; grid-template-columns: 4.2rem minmax(0, 1fr); column-gap: 0.4rem; padding-bottom: 1.5rem; }
.dv-step::before { content: ""; position: absolute; left: 1.55rem; top: 3.1rem; bottom: 0.2rem; border-left: 2px dashed var(--c-border-2); }
.dv-step:last-child::before { display: none; }
.dv-step__num { grid-row: span 2; font: 700 2.6rem/1 var(--mono); letter-spacing: -0.08em; color: transparent; -webkit-text-stroke: 1.5px var(--c-accent); }
.dv-step__title { font-size: 1.05rem; align-self: end; color: var(--c-on-contrast-strong); }
.dv-step__text { font-size: 0.92rem; color: var(--c-muted); margin-top: 0.25rem; max-width: 44ch; }

/* ── 13. ana sayfa: güven + KVKK ─────────────────────────────────────────── */
.dv-benefits { background: var(--c-contrast); border-block: 1px solid var(--c-border); }
.dv-ben { display: grid; gap: clamp(1.4rem, 1rem + 2vw, 3rem); align-items: start; }
@media (min-width: 1180px) { .dv-ben { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); } }
.dv-privacy { position: relative; padding: 1.6rem 1.5rem 1.7rem; border: 1px solid var(--c-accent); background: color-mix(in srgb, var(--c-accent) 10%, var(--c-contrast)); box-shadow: 0 0 60px -30px var(--c-accent); }
@media (min-width: 1180px) { .dv-privacy:not(.dv-privacy--inline) { position: sticky; top: calc(var(--bar-h) + 1.5rem); } }
.dv-privacy__tag { position: absolute; top: -0.75rem; left: 1.2rem; background: var(--c-accent); color: var(--c-on-accent); font: 700 0.72rem/1 var(--mono); letter-spacing: 0.12em; padding: 0.35rem 0.6rem; }
.dv-privacy__icon { width: 2.6rem; height: 2.6rem; color: var(--c-accent-soft); }
.dv-privacy__title { margin-top: 0.9rem; font-size: clamp(1.15rem, 1rem + 0.7vw, 1.5rem); color: var(--c-on-contrast-strong); }
.dv-privacy__text { margin-top: 0.7rem; font-size: 0.95rem; color: var(--c-on-contrast); max-width: 60ch; }
.dv-privacy--inline { margin-top: 2.4rem; }
.dv-spec { list-style: none; padding: 0; border-top: 1px dashed var(--c-border-2); }
.dv-spec__row { display: grid; grid-template-columns: 3rem minmax(0, 1fr) auto; gap: 0.6rem 1rem; align-items: start; padding: 1.1rem 0; border-bottom: 1px dashed var(--c-border-2); }
.dv-spec__num { font: 700 1.6rem/1 var(--mono); letter-spacing: -0.08em; color: transparent; -webkit-text-stroke: 1.2px var(--c-primary-ink); }
.dv-spec__title { font-size: 1.08rem; color: var(--c-on-contrast-strong); }
.dv-spec__text { margin-top: 0.3rem; font-size: 0.93rem; color: var(--c-on-contrast); max-width: 56ch; }
.dv-spec__icon { width: 1.4rem; height: 1.4rem; color: var(--c-secondary); }

/* ── 14. ana sayfa: bölge tablosu ────────────────────────────────────────── */
.dv-table { border-top: 2px solid var(--c-border-2); font-size: 0.95rem; }
.dv-table__head, .dv-table__row { display: grid; grid-template-columns: minmax(6.5rem, 1fr) minmax(0, 2.4fr) minmax(5.5rem, 0.9fr) 2rem; gap: 0.2rem 1.2rem; align-items: baseline; padding: 0.95rem 0.5rem; border-bottom: 1px dashed var(--c-border-2); }
.dv-table__head { font: 500 0.72rem/1 var(--mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-muted); padding-block: 0.7rem; }
.dv-table__row { position: relative; transition: background-color 0.15s; }
.dv-table__row:hover { background: color-mix(in srgb, var(--c-accent) 9%, transparent); }
.dv-table__name { font: 700 1.1rem/1.2 var(--mono); letter-spacing: -0.03em; color: var(--c-on-contrast-strong); }
.dv-table__sum { color: var(--c-muted); }
.dv-table__time { font: 700 0.9rem/1.2 var(--mono); color: var(--c-secondary); white-space: nowrap; }
.dv-table__go { color: var(--c-accent-soft); justify-self: end; }
.dv-table__go .icon { width: 1.1rem; height: 1.1rem; }
@media (max-width: 699px) {
    .dv-table__head { display: none; }
    .dv-table__row { grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "name time" "sum sum"; padding-inline: 0; }
    .dv-table__name { grid-area: name; } .dv-table__time { grid-area: time; } .dv-table__sum { grid-area: sum; } .dv-table__go { display: none; }
}

/* ── 15. ana sayfa: paket rafı, çalışmalar, yorum günlüğü, rehber ───────── */
.dv-racks { display: grid; gap: 1rem; }
.dv-rack { display: grid; grid-template-columns: 4.6rem minmax(0, 1fr) minmax(12rem, auto); background: linear-gradient(180deg, var(--c-surface), var(--c-contrast-2)); border: 1px solid var(--c-border-2); border-radius: var(--r); position: relative; overflow: hidden; transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s; }
.dv-rack:hover { border-color: var(--c-accent); box-shadow: var(--glow); transform: translateY(-2px); }
.dv-rack--on { border-color: var(--c-accent); background: linear-gradient(180deg, color-mix(in srgb, var(--c-accent) 16%, var(--c-surface)), var(--c-contrast-2)); box-shadow: var(--glow); }
.dv-rack__lights { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.5rem; background: var(--ink-bg); border-right: 1px solid var(--c-border-2); font: 700 0.9rem/1 var(--mono); color: var(--c-muted); }
.dv-rack__lights i { width: 9px; height: 9px; background: var(--c-border-2); }
.dv-rack__lights i:first-of-type { background: var(--c-secondary); box-shadow: 0 0 8px var(--c-secondary); }
.dv-rack--on .dv-rack__lights i { background: var(--c-secondary); box-shadow: 0 0 8px var(--c-secondary); }
.dv-rack--on .dv-rack__lights i:last-child { background: var(--c-accent); box-shadow: 0 0 8px var(--c-accent); }
.dv-rack__main { padding: 1.3rem 1.4rem; min-width: 0; }
.dv-rack__badge { display: inline-block; margin-bottom: 0.6rem; background: var(--c-accent); color: var(--c-on-accent); font: 700 0.68rem/1 var(--mono); letter-spacing: 0.08em; text-transform: uppercase; padding: 0.3rem 0.5rem; }
.dv-rack__title { font-size: clamp(1.15rem, 1rem + 0.8vw, 1.6rem); color: var(--c-on-contrast-strong); }
.dv-rack__title a::after { content: ""; position: absolute; inset: 0; z-index: 0; }
.dv-rack__sum { margin-top: 0.5rem; font-size: 0.93rem; color: var(--c-muted); max-width: 62ch; }
.dv-rack__list { margin-top: 0.9rem; display: flex; flex-wrap: wrap; gap: 0.4rem; }
.dv-rack__list li { padding: 0.28rem 0.55rem; font: 500 0.76rem/1.3 var(--mono); color: var(--c-ink-soft); border: 1px dashed var(--c-border-2); }
.dv-rack__list li::before { content: "+ "; color: var(--c-secondary); }
.dv-rack__price { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 0.3rem; padding: 1.2rem 1.4rem; border-left: 1px dashed var(--c-border-2); }
.dv-rack__price b { font: 700 clamp(1.5rem, 1.2rem + 1vw, 2rem)/1 var(--mono); letter-spacing: -0.05em; color: var(--c-accent-ink); }
.dv-rack__price small { font: 500 0.74rem/1.3 var(--mono); color: var(--c-muted); margin-bottom: 0.6rem; }
@media (max-width: 799px) {
    .dv-rack { grid-template-columns: 3.4rem minmax(0, 1fr); }
    .dv-rack__price { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 0.4rem 1rem; border-left: 0; border-top: 1px dashed var(--c-border-2); }
    .dv-rack__price small { margin: 0; }
    .dv-rack__price .dv-btn { margin-left: auto; }
}

.dv-mosaic { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-rows: clamp(120px, 14vw, 190px); gap: 0.5rem; }
.dv-mosaic__i { min-height: 0; }
.dv-mosaic__i--0 { grid-column: span 3; grid-row: span 2; }
.dv-mosaic__i--1 { grid-column: span 3; }
.dv-mosaic__i--2 { grid-column: span 3; }
.dv-mosaic__i--3 { grid-column: span 2; }
.dv-mosaic__i--4 { grid-column: span 2; }
.dv-mosaic__i--5 { grid-column: span 2; }
.dv-feed { position: relative; display: block; height: 100%; overflow: hidden; background: var(--c-contrast); border: 1px solid var(--c-border-2); border-radius: var(--r-sm); }
.dv-feed img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s var(--ease), filter 0.3s; filter: saturate(0.9) brightness(0.92); }
.dv-feed:hover img { transform: scale(1.04); filter: none; }
.dv-feed::before { content: ""; position: absolute; inset: 0.5rem; z-index: 1; pointer-events: none; background:
    linear-gradient(var(--c-accent-soft), var(--c-accent-soft)) 0 0 / 14px 2px no-repeat, linear-gradient(var(--c-accent-soft), var(--c-accent-soft)) 0 0 / 2px 14px no-repeat,
    linear-gradient(var(--c-accent-soft), var(--c-accent-soft)) 100% 100% / 14px 2px no-repeat, linear-gradient(var(--c-accent-soft), var(--c-accent-soft)) 100% 100% / 2px 14px no-repeat; opacity: 0.85; }
.dv-feed::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(0deg, transparent 0 3px, color-mix(in srgb, #000 12%, transparent) 3px 4px); }
.dv-feed__rec { position: absolute; z-index: 2; top: 0.9rem; left: 1.1rem; display: inline-flex; align-items: center; gap: 0.4rem; font: 700 0.7rem/1 var(--mono); letter-spacing: 0.06em; color: var(--c-on-contrast-strong); text-shadow: 0 1px 4px #000; }
.dv-feed__rec i { width: 8px; height: 8px; background: var(--dv-err); }
.dv-feed__cap { position: absolute; z-index: 2; left: 0.9rem; bottom: 0.9rem; right: 0.9rem; width: fit-content; max-width: calc(100% - 1.8rem); padding: 0.35rem 0.6rem; background: color-mix(in srgb, var(--c-contrast) 90%, transparent); border: 1px solid var(--c-accent); font: 500 0.74rem/1.3 var(--mono); color: var(--c-on-contrast-strong); }

.dv-voices__grid { display: grid; gap: clamp(1.4rem, 1rem + 2vw, 3rem); }
@media (min-width: 1100px) { .dv-voices__grid { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); } .dv-voices__head { position: sticky; top: calc(var(--bar-h) + 2rem); align-self: start; } }
.dv-voices__note { margin-top: 1rem; font: 500 0.8rem/1.4 var(--mono); color: var(--c-muted); }
.dv-journal { display: grid; gap: 0.2rem; border-left: 2px solid var(--c-border-2); padding-left: clamp(0.8rem, 0.4rem + 1.4vw, 1.8rem); }
.dv-log-entry { position: relative; padding: 1.1rem 0 1.3rem; border-bottom: 1px dashed var(--c-border-2); }
.dv-log-entry::before { content: ""; position: absolute; left: calc(-1 * clamp(0.8rem, 0.4rem + 1.4vw, 1.8rem) - 5px); top: 1.5rem; width: 8px; height: 8px; background: var(--c-accent); }
.dv-log-entry__by { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.2rem 0.9rem; font: 500 0.8rem/1.4 var(--mono); color: var(--c-muted); }
.dv-log-entry__by b { color: var(--c-accent-soft); font-weight: 700; }
.dv-log-entry__by em { margin-left: auto; font-style: normal; color: var(--c-secondary); }
.dv-log-entry__q { margin-top: 0.6rem; font-size: clamp(1rem, 0.95rem + 0.3vw, 1.15rem); color: var(--c-ink); max-width: 62ch; }
.dv-log-entry__q::before { content: "“"; color: var(--c-accent); }
.dv-log-entry__q::after { content: "”"; color: var(--c-accent); }

.dv-entries { display: grid; gap: 0.8rem; }
.dv-entry { display: grid; grid-template-columns: clamp(110px, 18vw, 220px) minmax(0, 1fr); gap: clamp(0.8rem, 0.4rem + 1.6vw, 1.6rem); align-items: center; padding: 0.8rem; background: var(--c-surface); border: 1px solid var(--c-border-2); border-radius: var(--r); transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s; }
.dv-entry:hover { border-color: var(--c-accent); box-shadow: var(--glow); transform: translateX(4px); }
.dv-entry__thumb { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--c-contrast); border-radius: var(--r-sm); border: 1px solid var(--c-border); }
.dv-entry__thumb img { width: 100%; height: 100%; object-fit: cover; }
.dv-entry__thumb .icon { width: 2rem; height: 2rem; margin: auto; color: var(--c-accent); }
.dv-entry__txt { display: grid; gap: 0.35rem; min-width: 0; }
.dv-entry__meta { display: flex; flex-wrap: wrap; gap: 0.2rem 0.9rem; font: 500 0.74rem/1.3 var(--mono); color: var(--c-muted); }
.dv-entry__meta em { font-style: normal; color: var(--c-accent-soft); }
.dv-entry__title { font: 700 clamp(1.02rem, 0.95rem + 0.5vw, 1.3rem)/1.25 var(--mono); letter-spacing: -0.03em; color: var(--c-on-contrast-strong); }
.dv-entry__ex { font-size: 0.92rem; color: var(--c-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.dv-entry:hover .dv-entry__title { color: var(--c-accent-soft); }

/* ── 16. kapanış bandı ───────────────────────────────────────────────────── */
.dv-cta__band { position: relative; overflow: hidden; background: linear-gradient(135deg, color-mix(in srgb, var(--c-accent) 20%, var(--c-contrast)), var(--c-contrast) 62%); border: 1px solid var(--c-accent); padding: clamp(1.4rem, 1rem + 2.4vw, 3rem); box-shadow: 0 0 90px -40px var(--c-accent); }
.dv-cta__cmd { font: 500 0.82rem/1 var(--mono); color: var(--c-secondary); margin-bottom: 1.2rem; }
.dv-cta__main { display: grid; gap: 1.6rem; align-items: end; }
@media (min-width: 1100px) { .dv-cta__main { grid-template-columns: minmax(0, 1.25fr) auto; } }
.dv-cta__title { font-size: clamp(1.7rem, 1.2rem + 2.4vw, 3.1rem); color: var(--c-on-contrast-strong); max-width: 18ch; letter-spacing: -0.05em; }
.dv-cta__text { margin-top: 0.8rem; color: var(--c-on-contrast); max-width: 46ch; }
.dv-cta__actions { display: flex; flex-wrap: wrap; gap: 0.8rem; align-items: center; }

/* ── 17. iç sayfalar ─────────────────────────────────────────────────────── */
.dv-path { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.4rem; padding-block: 1.1rem 0.4rem; font: 500 0.78rem/1.3 var(--mono); color: var(--c-muted); }
.dv-path__ps { color: var(--c-secondary); }
.dv-path a:hover { color: var(--c-accent-soft); }
.dv-path__cur { color: var(--c-ink); overflow-wrap: anywhere; }
.dv-path__dollar { color: var(--c-accent); }
.dv-ph { position: relative; border-bottom: 1px solid var(--c-border); background: linear-gradient(180deg, color-mix(in srgb, var(--c-contrast) 85%, transparent), transparent); }
.dv-ph__row { display: grid; gap: 1.5rem; padding-block: 1.2rem clamp(1.8rem, 1rem + 3vw, 3.4rem); align-items: end; }
@media (min-width: 1000px) { .dv-ph__row { grid-template-columns: minmax(0, 1fr) auto; } }
.dv-ph__main { display: grid; gap: 0.9rem; min-width: 0; }
.dv-ph__sub { max-width: 60ch; font-size: clamp(1rem, 0.95rem + 0.3vw, 1.15rem); color: var(--c-ink-soft); }
.dv-ph__count { display: grid; text-align: right; font: 500 0.78rem/1.3 var(--mono); color: var(--c-muted); }
.dv-ph__count b { font: 700 clamp(3.4rem, 2rem + 5vw, 6rem)/0.9 var(--mono); letter-spacing: -0.08em; color: transparent; -webkit-text-stroke: 1.5px var(--c-accent); }
.dv-ph__legend { max-width: 28ch; padding: 0.9rem 1rem; border: 1px dashed var(--c-border-2); font: 500 0.78rem/1.5 var(--mono); color: var(--c-muted); display: grid; gap: 0.4rem; }
.dv-ph__legend .dv-led { margin-right: 0.5rem; }
.dv-ph--article .dv-h1, .dv-ph--legal .dv-h1 { max-width: 28ch; }
.dv-ph--article { padding-bottom: 1.6rem; }
.dv-sub { margin-top: 2.4rem; }
.dv-sub:first-child { margin-top: 0; }
.dv-sub > .dv-h2 { margin-bottom: 1rem; }

/* hizmetler: katalog */
.dv-cat__grid { display: grid; gap: 2rem; }
@media (min-width: 1180px) { .dv-cat__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); align-items: start; } }
.dv-cat__list { border-top: 2px solid var(--c-border-2); }
.dv-cat__a { display: grid; grid-template-columns: 5.2rem minmax(0, 1fr) auto 1.6rem; gap: 0.4rem 1.2rem; align-items: center; padding: 1.3rem 0.6rem; border-bottom: 1px dashed var(--c-border-2); transition: background-color 0.15s, padding 0.2s var(--ease); }
.dv-cat__a:hover, .dv-cat__a:focus-visible { background: color-mix(in srgb, var(--c-accent) 9%, transparent); padding-left: 1.1rem; }
.dv-cat__code { font: 700 0.76rem/1 var(--mono); letter-spacing: 0.06em; padding: 0.4rem 0.45rem; text-align: center; background: color-mix(in srgb, var(--c-primary) 16%, transparent); color: var(--c-primary-ink); }
.dv-cat__txt { display: grid; gap: 0.3rem; min-width: 0; }
.dv-cat__title { font: 700 clamp(1.1rem, 1rem + 0.6vw, 1.45rem)/1.2 var(--mono); letter-spacing: -0.035em; color: var(--c-on-contrast-strong); }
.dv-cat__sum { font-size: 0.92rem; color: var(--c-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.dv-cat__price { display: grid; text-align: right; font: 700 1.1rem/1.1 var(--mono); letter-spacing: -0.04em; color: var(--c-accent-ink); white-space: nowrap; }
.dv-cat__price small { font: 500 0.66rem/1.2 var(--mono); color: var(--c-muted); letter-spacing: 0.04em; }
.dv-cat__go { color: var(--c-accent-soft); } .dv-cat__go .icon { width: 1.1rem; height: 1.1rem; }
.dv-cat__prev { position: sticky; top: calc(var(--bar-h) + 1.5rem); display: none; }
@media (min-width: 1180px) { .dv-cat__prev { display: block; } }
.dv-cat__p { display: none; }
.dv-cat__p.is-on { display: block; animation: dv-scanin 0.45s var(--ease) both; }
.dv-cat__pimg { aspect-ratio: 4 / 3; overflow: hidden; background: var(--c-contrast); border: 1px solid var(--c-accent); position: relative; }
.dv-cat__pimg img { width: 100%; height: 100%; object-fit: cover; }
.dv-cat__pimg::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(0deg, transparent 0 3px, color-mix(in srgb, #000 12%, transparent) 3px 4px); }
.dv-cat__p figcaption { display: grid; gap: 0.3rem; margin-top: 0.8rem; font: 500 0.78rem/1.4 var(--mono); color: var(--c-muted); }
.dv-cat__p figcaption span:first-child { color: var(--c-accent-soft); }
.dv-cat__p b { color: var(--c-ink); font-weight: 500; }
@media (max-width: 719px) { .dv-cat__a { grid-template-columns: 4rem minmax(0, 1fr) auto; } .dv-cat__go { display: none; } }

/* hizmet detayı: iş emri raporu */
.dv-wo__hd { border-bottom: 1px solid var(--c-border); padding-bottom: clamp(1.6rem, 1rem + 2.4vw, 3rem); background: linear-gradient(180deg, color-mix(in srgb, var(--c-accent) 10%, var(--c-contrast)), transparent); }
.dv-wo__hd .dv-h1 { margin-top: 0.8rem; max-width: 26ch; }
.dv-wo__hd .dv-ph__sub { margin-top: 1rem; }
.dv-wo__stamp { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1rem; margin-top: 1rem; font: 500 0.78rem/1 var(--mono); color: var(--c-muted); }
.dv-wo__stamp b { background: var(--c-accent); color: var(--c-on-accent); padding: 0.4rem 0.6rem; letter-spacing: 0.08em; }
.dv-wo__stamp i { font-style: normal; color: var(--c-secondary); }
.dv-wo__acts { display: flex; flex-wrap: wrap; gap: 0.8rem; margin-top: 1.6rem; }
.dv-wo { display: grid; gap: 2rem; padding-block: clamp(1.8rem, 1rem + 3vw, 3.6rem); }
@media (min-width: 1100px) { .dv-wo { grid-template-columns: minmax(0, 1fr) 360px; align-items: start; gap: 3rem; } .dv-wo__aside { position: sticky; top: calc(var(--bar-h) + 1.5rem); } }
.dv-wo__fig { position: relative; margin-bottom: 2.2rem; border: 1px solid var(--c-accent); background: var(--c-contrast); }
.dv-wo__fig img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.dv-wo__fig::before { content: ""; position: absolute; inset: 0.6rem; pointer-events: none; background:
    linear-gradient(var(--c-accent-soft), var(--c-accent-soft)) 0 0 / 18px 2px no-repeat, linear-gradient(var(--c-accent-soft), var(--c-accent-soft)) 0 0 / 2px 18px no-repeat,
    linear-gradient(var(--c-accent-soft), var(--c-accent-soft)) 100% 100% / 18px 2px no-repeat, linear-gradient(var(--c-accent-soft), var(--c-accent-soft)) 100% 100% / 2px 18px no-repeat; }
.dv-wo__fig figcaption { position: absolute; left: 0; right: 0; bottom: 0; display: flex; justify-content: space-between; padding: 0.5rem 0.9rem; background: color-mix(in srgb, var(--c-contrast) 88%, transparent); font: 500 0.72rem/1 var(--mono); color: var(--c-on-contrast-strong); }
.dv-wo__fig figcaption span { display: inline-flex; align-items: center; gap: 0.45rem; } .dv-wo__fig figcaption i { width: 8px; height: 8px; background: var(--dv-err); }
.dv-spec2 { display: grid; gap: 2rem; padding-block: clamp(1.8rem, 1rem + 3vw, 3.6rem); }
@media (min-width: 1100px) { .dv-spec2 { grid-template-columns: minmax(0, 1fr) 340px; gap: 3rem; align-items: start; } .dv-spec2__aside { position: sticky; top: calc(var(--bar-h) + 1.5rem); } }
.dv-units { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.dv-rel { border-top: 1px solid var(--c-border); background: color-mix(in srgb, var(--c-contrast) 60%, transparent); }
.dv-rel .dv-h2 { margin-bottom: 1.4rem; }
.dv-unit { height: 100%; }
.dv-unit__a { display: grid; grid-template-columns: 112px minmax(0, 1fr); height: 100%; background: var(--c-surface); border: 1px solid var(--c-border-2); border-radius: var(--r); overflow: hidden; transition: border-color 0.2s, box-shadow 0.2s; }
.dv-unit__a:hover { border-color: var(--c-accent); box-shadow: var(--glow); }
.dv-unit__media { display: grid; background: var(--c-contrast); }
.dv-unit__media img { width: 100%; height: 100%; object-fit: cover; }
.dv-unit__media .icon { width: 2rem; height: 2rem; margin: auto; color: var(--c-accent); }
.dv-unit__body { display: grid; gap: 0.4rem; padding: 0.9rem 1rem; align-content: start; }
.dv-unit__code { font: 700 0.68rem/1 var(--mono); color: var(--c-primary-ink); letter-spacing: 0.08em; }
.dv-unit__title { font: 700 1rem/1.25 var(--mono); letter-spacing: -0.03em; color: var(--c-on-contrast-strong); }
.dv-unit__sum { font-size: 0.86rem; color: var(--c-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.dv-unit__meta { display: flex; flex-wrap: wrap; gap: 0.2rem 0.8rem; font: 500 0.74rem/1.3 var(--mono); color: var(--c-muted); }
.dv-unit__meta strong { color: var(--c-accent-ink); }

/* bölgeler: ping panosu */
.dv-nodes { display: grid; gap: 0.6rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); }
.dv-node { display: grid; gap: 0.3rem; padding: 1rem; background: var(--c-surface); border: 1px solid var(--c-border-2); border-radius: var(--r); transition: border-color 0.2s; }
.dv-node:hover { border-color: var(--c-accent); }
.dv-node__name { font: 700 1.05rem/1.2 var(--mono); color: var(--c-on-contrast-strong); }
.dv-node .dv-led { margin-bottom: 0.3rem; }
.dv-node__sum { font-size: 0.85rem; color: var(--c-muted); }
.dv-node__t { font: 700 0.82rem/1 var(--mono); color: var(--c-secondary); }
.dv-ping { border-top: 2px solid var(--c-border-2); }
.dv-ping__head, .dv-ping__row { display: grid; grid-template-columns: minmax(8rem, 1fr) minmax(0, 2.2fr) minmax(10rem, 1.3fr) 2rem; gap: 0.3rem 1.4rem; align-items: center; padding: 1.1rem 0.6rem; border-bottom: 1px dashed var(--c-border-2); }
.dv-ping__head { padding-block: 0.7rem; font: 500 0.72rem/1 var(--mono); letter-spacing: 0.08em; text-transform: uppercase; color: var(--c-muted); }
.dv-ping__row { transition: background-color 0.15s; }
.dv-ping__row:hover { background: color-mix(in srgb, var(--c-accent) 9%, transparent); }
.dv-ping__name { display: flex; align-items: center; gap: 0.7rem; font: 700 1.15rem/1.2 var(--mono); letter-spacing: -0.03em; color: var(--c-on-contrast-strong); }
.dv-ping__sum { font-size: 0.92rem; color: var(--c-muted); }
.dv-ping__t { display: grid; gap: 0.35rem; }
.dv-ping__t em { font: 700 0.86rem/1 var(--mono); font-style: normal; color: var(--c-secondary); }
.dv-ping__bar { display: block; height: 6px; background: var(--c-border); }
.dv-ping__bar i { display: block; height: 100%; background: linear-gradient(90deg, var(--c-primary), var(--c-accent)); }
.dv-ping__go { color: var(--c-accent-soft); justify-self: end; } .dv-ping__go .icon { width: 1.1rem; height: 1.1rem; }
@media (max-width: 799px) {
    .dv-ping__head { display: none; }
    .dv-ping__row { grid-template-columns: minmax(0, 1fr); padding-inline: 0; }
    .dv-ping__go { display: none; }
}

/* çalışmalar: kanal duvarı */
.dv-chan { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.4rem; }
.dv-chan button { display: inline-flex; align-items: center; gap: 0.5rem; min-height: 44px; padding: 0.4rem 0.9rem; background: transparent; border: 1.5px solid var(--c-border-2); border-radius: var(--r); color: var(--c-ink-soft); font: 500 0.82rem/1 var(--mono); transition: background-color 0.15s, border-color 0.15s; }
.dv-chan button i { font-style: normal; color: var(--c-muted); font-size: 0.72rem; }
.dv-chan button:hover { border-color: var(--c-accent-soft); }
.dv-chan button.is-on { background: var(--c-accent); border-color: var(--c-accent); color: var(--c-on-accent); font-weight: 700; }
.dv-chan button.is-on i { color: var(--c-on-accent); }
.dv-wall { display: grid; gap: 0.5rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
.dv-wall__i .dv-feed { aspect-ratio: 4 / 3; }
.dv-wall__i:first-child { grid-column: span 2; grid-row: span 2; }
.dv-wall__i[hidden] { display: none; }
@media (max-width: 719px) { .dv-wall__i:first-child { grid-column: auto; grid-row: auto; } }

/* rehber */
.dv-lead { display: grid; gap: 0; margin-bottom: 1.6rem; background: var(--c-surface); border: 1px solid var(--c-accent); box-shadow: var(--glow); overflow: hidden; }
@media (min-width: 900px) { .dv-lead { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); } }
.dv-lead__media { display: block; min-height: 220px; background: var(--c-contrast); }
.dv-lead__media img { width: 100%; height: 100%; object-fit: cover; }
.dv-lead__body { display: grid; gap: 0.8rem; align-content: center; padding: clamp(1.2rem, 0.8rem + 2vw, 2.6rem); }
.dv-lead__tag { font: 700 0.74rem/1 var(--mono); letter-spacing: 0.08em; color: var(--c-secondary); }
.dv-lead__title { font: 700 clamp(1.4rem, 1.1rem + 1.6vw, 2.2rem)/1.15 var(--mono); letter-spacing: -0.04em; color: var(--c-on-contrast-strong); }
.dv-lead__ex { color: var(--c-ink-soft); }
.dv-lead__meta { font: 500 0.78rem/1.4 var(--mono); color: var(--c-muted); }
.dv-entries--page { gap: 0.9rem; }
.dv-read { display: grid; gap: 2rem; padding-block: clamp(1.6rem, 1rem + 2.4vw, 3rem); }
@media (min-width: 1100px) { .dv-read { grid-template-columns: minmax(0, 1fr) 280px; gap: 3rem; align-items: start; } .dv-read__aside { position: sticky; top: calc(var(--bar-h) + 1.5rem); } }
.dv-read__fig { margin-bottom: 2rem; border: 1px solid var(--c-border-2); }
.dv-read__fig img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.dv-prose--read { font-size: 1.08rem; line-height: 1.75; }

/* hakkımızda, iletişim, teklif, sss, yasal */
.dv-about { display: grid; gap: 2rem; }
@media (min-width: 1100px) { .dv-about { grid-template-columns: minmax(0, 1fr) 360px; gap: 3rem; align-items: start; } .dv-about__aside { position: sticky; top: calc(var(--bar-h) + 1.5rem); } }
.dv-about__main { display: grid; gap: 2rem; }
.dv-about__aside .dv-btn { margin: 0.8rem 1rem 1rem; width: calc(100% - 2rem); }
.dv-contact, .dv-q { display: grid; gap: 2rem; }
@media (min-width: 1100px) { .dv-contact { grid-template-columns: minmax(0, 1fr) 360px; gap: 3rem; align-items: start; } .dv-q { grid-template-columns: minmax(0, 1fr) 380px; gap: 3rem; align-items: start; } .dv-q__side { position: sticky; top: calc(var(--bar-h) + 1.5rem); } }
.dv-contact__aside, .dv-q__side { display: grid; gap: 1.2rem; }
.dv-faq { display: grid; gap: 2rem; }
@media (min-width: 1000px) { .dv-faq { grid-template-columns: 260px minmax(0, 1fr); gap: 3rem; align-items: start; } .dv-faq__idx { position: sticky; top: calc(var(--bar-h) + 1.5rem); } }
.dv-faq__hd { font: 500 0.78rem/1.3 var(--mono); color: var(--c-muted); margin-bottom: 0.6rem; } .dv-faq__hd span { color: var(--c-secondary); margin-right: 0.4em; }
.dv-faq__idx ol { display: grid; gap: 0.15rem; }
.dv-faq__idx a { display: flex; gap: 0.6rem; align-items: baseline; padding: 0.5rem 0.6rem; font: 500 0.86rem/1.3 var(--mono); color: var(--c-ink-soft); border-left: 2px solid var(--c-border); }
.dv-faq__idx a:hover { border-left-color: var(--c-accent); color: var(--c-ink); background: color-mix(in srgb, var(--c-accent) 8%, transparent); }
.dv-faq__idx b { color: var(--c-accent); } .dv-faq__idx i { margin-left: auto; font-style: normal; color: var(--c-muted); }
.dv-faq__q { display: flex; align-items: center; gap: 0.6rem; margin-top: 1.2rem; padding-left: 0.8rem; background: var(--c-soft); border: 1px solid var(--c-border-2); border-radius: var(--r); font: 500 0.78rem/1 var(--mono); color: var(--c-secondary); }
.dv-faq__q input { flex: 1; min-width: 0; min-height: 44px; background: transparent; border: 0; outline: none; color: var(--c-ink); font: 500 0.9rem/1 var(--mono); }
.dv-faq__q:focus-within { border-color: var(--c-accent); }
.dv-faq__g { margin-bottom: 2.4rem; }
.dv-faq__g > .dv-h2 { margin-bottom: 1rem; }
.dv-faq__main > .dv-card { margin-top: 1rem; }
.dv-qa { border: 1px solid var(--c-border-2); border-radius: var(--r); background: var(--c-surface); margin-bottom: 0.5rem; }
.dv-qa[open] { border-color: var(--c-accent); background: color-mix(in srgb, var(--c-accent) 7%, var(--c-surface)); }
.dv-qa summary { display: flex; gap: 0.9rem; align-items: baseline; min-height: 52px; padding: 0.9rem 1.1rem; cursor: pointer; list-style: none; font: 700 1rem/1.35 var(--mono); letter-spacing: -0.03em; color: var(--c-on-contrast-strong); }
.dv-qa summary::-webkit-details-marker { display: none; }
.dv-qa__m { flex: none; color: var(--c-accent); transition: transform 0.2s; }
.dv-qa[open] .dv-qa__m { transform: rotate(90deg); }
.dv-qa[open] .dv-qa__m::before { content: ""; }
.dv-qa__a { padding: 0 1.1rem 1.2rem 2.6rem; }
.dv-doc { counter-reset: cl; max-width: 78ch; }
.dv-doc h2 { counter-increment: cl; position: relative; }
.dv-doc h2::before { content: "§" counter(cl) " "; }
.dv-err-pg { padding-block: clamp(2rem, 1rem + 5vw, 5rem); }
.dv-err-pg__body { padding: clamp(1.2rem, 1rem + 2vw, 2.6rem); display: grid; gap: 1.1rem; }
.dv-err-pg__code { display: flex; gap: 0.5rem; font: 700 clamp(4.5rem, 2rem + 14vw, 10rem)/0.9 var(--mono); letter-spacing: -0.08em; color: transparent; -webkit-text-stroke: 2px var(--c-accent); }
.dv-err-pg__msg { font: 500 0.95rem/1.5 var(--mono); color: var(--c-ink-soft); } .dv-err-pg__msg span { color: var(--dv-err); }
.dv-err-pg__acts { display: flex; flex-wrap: wrap; gap: 0.8rem; }
.dv-err-pg__ls p { font: 500 0.8rem/1.3 var(--mono); color: var(--c-muted); margin-bottom: 0.5rem; } .dv-err-pg__ls p span { color: var(--c-secondary); }
.dv-err-pg__ls ul { display: flex; flex-wrap: wrap; gap: 0.4rem 1.2rem; font: 500 0.9rem/1.3 var(--mono); }
.dv-err-pg__ls a { color: var(--c-accent-ink); } .dv-err-pg__ls a::before { content: "./"; color: var(--c-muted); }
.dv-debug { padding: 1rem; overflow: auto; border: 1px solid var(--c-border-2); font-size: 0.78rem; color: var(--c-muted); background: var(--c-surface); }

/* ── 18. sayfa blokları ──────────────────────────────────────────────────── */
.dv-blk__h { margin: 0 0 1.4rem; }
.dv-blk__sub { margin: -0.6rem 0 1.4rem; color: var(--c-muted); max-width: 60ch; }
.dv-blk__acts { margin-top: 1.4rem; display: flex; flex-wrap: wrap; gap: 0.8rem; }
.dv-blk--dark { background: var(--c-contrast); border-block: 1px solid var(--c-border); }
.dv-blk__cards { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); }
.dv-bcard { padding: 1.1rem; background: var(--c-surface); border: 1px solid var(--c-border-2); border-radius: var(--r); display: grid; gap: 0.6rem; align-content: start; }
.dv-bcard img { border-radius: var(--r-sm); } .dv-bcard h3 { font-size: 1.05rem; } .dv-bcard p { font-size: 0.92rem; color: var(--c-muted); }
.dv-blk__grid { display: grid; gap: 0.5rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); }
.dv-blk__grid img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border: 1px solid var(--c-border-2); }
.dv-blk__fig { margin-top: 2rem; } .dv-blk__fig img { border: 1px solid var(--c-border-2); }
.dv-blk--img img { border: 1px solid var(--c-border-2); } .dv-blk--img figcaption { margin-top: 0.6rem; font: 500 0.8rem/1.4 var(--mono); color: var(--c-muted); }
.dv-bquote { padding: 1.4rem 1.6rem; border-left: 3px solid var(--c-accent); background: var(--c-surface); }
.dv-bquote p { font: 500 clamp(1.1rem, 1rem + 0.6vw, 1.4rem)/1.5 var(--mono); color: var(--c-ink); } .dv-bquote cite { display: block; margin-top: 0.8rem; font: 500 0.8rem var(--mono); color: var(--c-accent-soft); font-style: normal; }
.dv-blk__stats { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.dv-blk__stats > div { display: flex; flex-direction: column-reverse; gap: 0.3rem; padding: 1rem; border: 1px dashed var(--c-border-2); }
.dv-blk__stats dd { margin: 0; font: 700 2.2rem/1 var(--mono); color: var(--c-accent-ink); } .dv-blk__stats dt { font: 500 0.78rem var(--mono); color: var(--c-muted); }

/* ── 19. alt bilgi: sistem durumu ───────────────────────────────────────── */
.dv-foot { margin-top: clamp(2rem, 1rem + 3vw, 4rem); padding: clamp(2rem, 1.2rem + 3vw, 3.6rem) 0 calc(1.4rem + var(--dock-h)); background: var(--c-contrast); border-top: 1px solid color-mix(in srgb, var(--c-accent) 40%, var(--c-border)); }
.dv-sys { padding: 1.1rem 1.2rem; background: var(--ink-bg); border: 1px solid var(--c-border-2); font: 500 0.84rem/1.55 var(--mono); }
.dv-sys__cmd { color: var(--c-ink-soft); } .dv-sys__cmd span { color: var(--c-secondary); margin-right: 0.4em; } .dv-sys__cmd b { color: var(--c-accent-soft); }
.dv-sys__out { margin-top: 0.8rem; display: grid; gap: 0.25rem; }
.dv-sys__out > div { display: grid; grid-template-columns: 6.5rem minmax(0, 1fr); gap: 0.8rem; }
.dv-sys__out dt { display: flex; align-items: center; gap: 0.5rem; color: var(--c-muted); }
.dv-sys__out dd { margin: 0; color: var(--c-ink); overflow-wrap: anywhere; }
.dv-sys__ok { color: var(--c-secondary); }
.dv-sys__now { font-style: normal; color: var(--c-secondary); } .dv-sys__now.is-off { color: var(--c-accent-soft); }
.dv-foot__cols { display: grid; gap: 1.8rem 2rem; margin-top: 2rem; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.dv-foot__col h2 { font: 500 0.8rem/1.3 var(--mono); letter-spacing: 0.02em; color: var(--c-accent-soft); margin-bottom: 0.7rem; } .dv-foot__col h2 span { color: var(--c-muted); }
.dv-foot__col ul { display: grid; gap: 0.1rem; }
.dv-foot__col li a { display: inline-block; padding: 0.3rem 0; font-size: 0.92rem; color: var(--c-on-contrast); }
.dv-foot__col li a:hover { color: var(--c-on-contrast-strong); text-decoration: underline dashed var(--c-accent); text-underline-offset: 4px; }
.dv-foot__contact address { display: grid; font-style: normal; font: 500 0.9rem/1.5 var(--mono); }
.dv-foot__contact address a { padding: 0.3rem 0; color: var(--c-on-contrast-strong); overflow-wrap: anywhere; }
.dv-foot__soc { display: flex; gap: 0.5rem; margin-top: 0.8rem; }
.dv-foot__soc a { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--c-border-2); border-radius: var(--r); }
.dv-foot__soc a:hover { border-color: var(--c-accent); color: var(--c-accent-soft); }
.dv-foot__bar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.6rem 2rem; margin-top: 2rem; padding-top: 1.1rem; border-top: 1px dashed var(--c-border-2); font: 500 0.78rem/1.5 var(--mono); color: var(--c-muted); }
.dv-foot__exit span { color: var(--c-secondary); } .dv-foot__exit a { margin-left: 0.8rem; color: var(--c-accent-ink); }

/* ── 20. giriş animasyonları (IO) — sayfaya özgü ────────────────────────── */
.js [data-reveal] { opacity: 0; transform: translate(var(--rx, 0), var(--ry, 16px)); clip-path: var(--rc0, inset(-60px)); transition: opacity 0.5s ease, transform 0.65s var(--ease), clip-path 0.75s var(--ease); transition-delay: calc(var(--k, 0) * 70ms); }
.js [data-reveal].is-in { opacity: 1; transform: none; clip-path: inset(-60px); }
[data-pg="services"] { --rx: -30px; --ry: 0px; }
[data-pg="service"] { --ry: 0px; --rc0: inset(0 0 100% 0); }
[data-pg="areas"] { --ry: 0px; --rc0: inset(0 100% 0 0); }
[data-pg="packages"], [data-pg="package"] { --ry: -24px; }
[data-pg="gallery"] { --ry: 0px; --rc0: inset(46% 40% 46% 40%); }
[data-pg="blog"] { --rx: 26px; --ry: 0px; }
[data-pg="article"] { --ry: 8px; }
[data-pg="about"] { --rx: 24px; --ry: 0px; --rc0: inset(0 0 0 100%); }
[data-pg="contact"] { --ry: 0px; --rc0: inset(0 0 0 100%); }
[data-pg="quote"] { --ry: 0px; --rc0: inset(100% 0 0 0); }
[data-pg="faq"] { --rx: -16px; --ry: 0px; }
[data-pg="legal"] { --ry: 0px; --rc0: inset(0 0 100% 0); }
.dv-hero__title, .dv-h1 { animation: dv-type 0.8s steps(22, end) both; }
@keyframes dv-type { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 -20px 0 0); } }
.dv-err-pg__code b { animation: dv-flick 0.6s steps(6, end) calc(var(--k, 0) * 120ms) both; }
@keyframes dv-flick { 0% { opacity: 0; transform: translateY(-10px); } 40% { opacity: 1; transform: translateX(6px); } 70% { opacity: 0.4; } 100% { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
    .js [data-reveal] { opacity: 1; transform: none; clip-path: none; }
}

/* ── 21. mobil (dokunmatik palet + alt dock) ────────────────────────────── */
@media (max-width: 999px) {
    :root { --side-w: 0px; }
    .dv-side { display: none; }
    .dv-cmdbar { grid-template-columns: minmax(0, 1fr) auto; }
    .dv-logo { border-right: 0; padding-inline: var(--gut); }
    .dv-cmdbar > .dv-cmdbtn { display: none; }
    .dv-cmdbar__tel span { display: none; }
    .dv-cmdbar__cta { display: none; }
    .dv-cmdbar__tel { width: 44px; justify-content: center; padding: 0; }
    .dv-dock { position: fixed; z-index: 80; left: 0; right: 0; bottom: 0; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; height: calc(var(--dock-h) + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom); background: var(--c-contrast); border-top: 1px solid var(--c-accent); }
    .dv-dock__i { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.2rem; background: none; border: 0; border-right: 1px solid var(--c-border); color: var(--c-on-contrast); font: 500 0.7rem/1 var(--mono); min-height: 44px; }
    .dv-dock__i:last-child { border-right: 0; }
    .dv-dock__i .icon { width: 1.35rem; height: 1.35rem; }
    .dv-dock__pal b { font: 700 1.4rem/1 var(--mono); color: var(--c-accent-soft); }
    .dv-dock__pal { background: color-mix(in srgb, var(--c-accent) 16%, transparent); color: var(--c-on-contrast-strong); }
    .dv-dock__cta { background: var(--c-accent); color: var(--c-on-accent); font-weight: 700; }
    .dv-dock__cta.is-cur { box-shadow: inset 0 0 0 2px var(--c-on-accent); }
    .dv-fab { --cms-fab-bottom: calc(var(--dock-h) + 1rem); }
    .dv-pal { padding: 0; align-items: end; }
    .dv-pal__box { width: 100%; max-height: 86vh; height: 86vh; border-inline: 0; border-bottom: 0; border-radius: 12px 12px 0 0; transform: translateY(40px); }
    .dv-pal__list { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; align-content: start; flex: 1; padding: 0.5rem 0.8rem 1rem; }
    .dv-pal__list.is-q { grid-template-columns: 1fr; gap: 0.2rem; }
    .dv-pal__grp { grid-column: 1 / -1; }
    .dv-pal__list li[role="presentation"]:not(.dv-pal__grp) { display: contents; }
    .dv-pal__list:not(.is-q) .dv-pal__o { grid-template-columns: 1fr; grid-template-rows: auto auto; gap: 0.2rem; min-height: 72px; padding: 0.7rem 0.8rem; background: var(--c-surface); border-color: var(--c-border-2); align-content: center; }
    .dv-pal__list:not(.is-q) .dv-pal__o em { display: none; }
    .dv-pal__list:not(.is-q) .dv-pal__o--sub { margin-left: 0; }
    .dv-pal__ft span:nth-child(-n+3) { display: none; }
    .dv-pal__ft::before { content: "Dokunarak seçin"; }
    .dv-ph__count { text-align: left; }
    .dv-hint { display: none; }
}
@media (min-width: 1000px) { .dv-dock { display: none; } .dv-foot { padding-bottom: 1.4rem; } }
@media (max-width: 719px) {
    .dv-bar__note { display: none; } .dv-bar__id { margin-left: 0; }
    .dv-hero__actions .dv-btn { width: 100%; } .dv-wa { margin-inline: auto; }
    .dv-ticket__top { letter-spacing: 0.06em; } .dv-ticket__foot { flex-wrap: wrap; }
    .dv-spec__row { grid-template-columns: 2.4rem minmax(0, 1fr); } .dv-spec__icon { display: none; }
    .dv-fs { padding-inline: 0.8rem; } .dv-log li { font-size: 0.8rem; }
    .dv-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 130px; }
    .dv-mosaic__i--0 { grid-column: span 2; grid-row: span 2; } .dv-mosaic__i--1, .dv-mosaic__i--2, .dv-mosaic__i--3, .dv-mosaic__i--4, .dv-mosaic__i--5 { grid-column: span 1; }
    .dv-entry { grid-template-columns: 96px minmax(0, 1fr); padding: 0.6rem; } .dv-entry__ex { display: none; }
    .dv-unit__a { grid-template-columns: 88px minmax(0, 1fr); }
    .dv-sys__out > div { grid-template-columns: 1fr; gap: 0; } .dv-kv > div, .dv-whois > div { grid-template-columns: 1fr; gap: 0.1rem; }
    .dv-qa__a { padding-left: 1.1rem; }
    .dv-status { font-size: 0.86rem; } .dv-status li { grid-template-columns: 3.6rem minmax(0, 1fr); }
}
.dv-main { overflow-x: clip; }
.dv-ph--article .dv-kicker { margin-top: 0.9rem; }
.dv-ph--article .dv-h1 { margin-top: 0.7rem; }
.dv-meta span.dv-meta__pct::before { content: none; }

/* 19. Devre variant */
:root { --radius-md: 4px; }
