/* ============================================================================
   ESDEV TEKNOLOJİ — site.css
   Design "Modern Kurumsal", client-chosen palette: Antrasit + Bakır (pal-3).
   Warm graphite neutrals with a copper accent. Raw copper #B4622D is ~4.1:1
   on the light background, so accent-as-text and white-on-accent fills use
   the deep variant (#8F4A1E, >= 4.5:1 — WCAG AA).
   ============================================================================

   REUSABLE CLASS INVENTORY (for capability / contact / KVKK / status pages)
   -------------------------------------------------------------------------
   Layout        : .wrap (max-width container), .section (vertical rhythm)
   Headings      : .eyebrow (kicker), .section-head (+ h2 + .lede)
   Buttons       : .btn, .btn-primary, .btn-ghost, .btn-block (full width)
   Cards         : .card, .cap-card (+ .featured), .icon-chip, .cap-list,
                   .cap-link (arrow link at card bottom)
   Dark band     : .why (+ .why-grid, .why-card, .why-icon, .why-motif)
   Process       : .process, .steps, .step, .step-num
   Contact       : .contact-grid, .contact-list, .contact-item,
                   .contact-form-card, .form-row, .form-note, .form-msg
                   (+ -ok / -err), .field-error, .hp-wrap (honeypot),
                   .map-card, .map-embed (Google Maps iframe), .map-foot,
                   .map-directions, .map-note
   Detail pages  : .hero-lite (compact page hero: h1 + .sub),
                   .breadcrumb (nav > ol > li > a),
                   .prose (long-form copy: h2/h3/p/ul),
                   .faq (grid of details.faq-item > summary + .faq-body)
   Status pages  : .status-page, .status-inner, .status-code, .status-lede,
                   .status-ctas, .status-request-id
   Misc          : .reveal (opt-in scroll reveal), .sr-only, .obf-mail,
                   .consent-banner (+ .consent-actions)
   ========================================================================= */

/* ============ TOKENS ============ */
:root {
  --bg: #F6F5F3;
  --bg-2: #F0EEEA;
  --surface: #FFFFFF;
  --ink: #242220;
  --ink-2: #4C4843;
  --muted: #605A53;
  --line: #E2DFDA;
  --line-2: #CFC9C1;
  --accent: #B4622D;
  --accent-deep: #8F4A1E;
  --accent-ink: #2E2118;             /* dark band */
  --accent-tint: #F5EAE1;
  --accent-tint-2: #EBD8C8;
  --accent-soft: #D9A277;
  --accent-deep-2: #6E3714;          /* darkest artwork face */
  --accent-text: #8F4A1E;            /* accent used as small text on light bg (>=4.5:1) */
  --accent-strong: #8F4A1E;          /* filled UI (buttons) with white text (>=4.5:1) */
  --accent-strong-hover: #703A16;
  --glow-1: rgba(143, 74, 30, .22);  /* accent-coloured shadows */
  --glow-2: rgba(143, 74, 30, .28);
  --glow-3: rgba(143, 74, 30, .34);
  --band-text: #F4EEE8;              /* body text on dark band */
  --band-muted: #CDBFB2;             /* secondary text on dark band */
  --band-chip: rgba(217, 162, 119, .15);
  --surface-2: #FCFBF8;              /* featured-card gradient top */
  --header-glass: rgba(247, 246, 244, .88);
  --err-bg: #F7ECE9;
  --err-line: #EAD3CC;
  --err-ink: #8C4A38;
  --shadow-1: 0 1px 2px rgba(18, 28, 36, .05), 0 6px 18px rgba(18, 28, 36, .06);
  --shadow-2: 0 2px 4px rgba(18, 28, 36, .06), 0 18px 44px rgba(18, 28, 36, .11);
  --radius: 12px;
  --radius-s: 10px;
  --font: "Segoe UI Variable Text", "Segoe UI", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
  --font-display: "Segoe UI Variable Display", "Segoe UI", "Avenir Next", "Helvetica Neue", Arial, sans-serif;
}

/* ============ BASE ============ */
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}
*, *::before, *::after { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img, svg, iframe { max-width: 100%; }
a { color: var(--accent-text); }
:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: 4px;
}
/* on dark surfaces the raw accent drops below 3:1 — use the light soft token */
.site-footer :focus-visible,
.why :focus-visible {
  outline-color: var(--accent-soft);
}
.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.wrap {
  max-width: 1160px;
  margin-inline: auto;
  padding-inline: clamp(20px, 5vw, 48px);
}
section { scroll-margin-top: 88px; }

h1, h2, h3 {
  font-family: var(--font-display);
  line-height: 1.18;
  margin: 0 0 .5em;
  letter-spacing: -0.015em;
  font-weight: 650;
}
p { margin: 0 0 1em; }

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--accent-text);
  margin-bottom: 14px;
}
.eyebrow::before {
  content: "";
  width: 22px; height: 2px;
  background: var(--accent);
  border-radius: 2px;
}
.section-head { max-width: 640px; }
.section-head h2 {
  font-size: clamp(1.6rem, 2.8vw, 2.2rem);
  color: var(--ink);
}
.section-head .lede {
  color: var(--muted);
  font-size: 1.06rem;
  margin-bottom: 0;
}

/* ============ BUTTONS ============ */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 12px 22px;
  border-radius: 999px;
  font-weight: 600;
  font-size: .95rem;
  text-decoration: none;
  border: 1px solid transparent;
  cursor: pointer;
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.btn-primary {
  background: var(--accent-strong);
  color: #FFFFFF;
  box-shadow: 0 6px 16px var(--glow-2);
}
.btn-primary:hover {
  background: var(--accent-strong-hover);
  box-shadow: 0 8px 22px var(--glow-3);
  transform: translateY(-1px);
}
.btn-ghost {
  background: transparent;
  color: var(--accent-deep);
  border-color: var(--line-2);
}
.btn-ghost:hover {
  border-color: var(--accent);
  background: var(--accent-tint);
}
.btn svg { flex: none; }
.btn-block { width: 100%; }

/* ============ HEADER / NAV ============ */
.site-header {
  position: sticky;
  top: 0;
  z-index: 60;
  background: var(--header-glass);
  backdrop-filter: blur(10px) saturate(140%);
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  border-bottom: 1px solid var(--line);
}
.nav-bar {
  display: flex;
  align-items: center;
  gap: 28px;
  height: 70px;
}
.brand {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    text-decoration: none;
    color: #606060; /*var(--ink);*/
  font-family: var(--font-display);
  margin-right: auto;
}
.esdev-mark {
  --logo-bg: #606060;/*var(--accent);*/
    --logo-fg: #FFFFFF;
    width: 38px;
    height: 38px;
    flex: none;
    border-radius: 9px;
    box-shadow: 0 4px 10px var(--glow-1);
}
.brand-word { line-height: 1.05; white-space: nowrap; }
.brand-word strong {
  display: block;
  font-size: 1.06rem;
  font-weight: 800;
  letter-spacing: .02em;
}
.brand-word small {
  display: block;
  font-size: .6rem;
  font-weight: 300;
  letter-spacing: .38em;
  color: var(--accent-text);
}
    .brand-word small2 {
        display: block;
        font-size: .9rem;
        font-weight: 500;
        letter-spacing: .38em;
        color: #606060; /*var(--accent-text);*/
    }
.nav-links {
  display: flex;
  align-items: center;
  gap: 4px;
}
.nav-links a {
  text-decoration: none;
  color: var(--ink-2);
  font-weight: 600;
  font-size: .92rem;
  padding: 8px 13px;
  border-radius: 999px;
  transition: color .15s ease, background-color .15s ease;
  white-space: nowrap;
}
.nav-links a:hover {
  color: var(--accent-deep);
  background: var(--accent-tint);
}
.nav-links .only-mobile { display: none; }

/* capabilities dropdown */
        .nav-item {
            position: relative;
            display: inline-flex;
        }

        .sub-menu {
            position: absolute;
            top: calc(100% + 6px);
            left: 0;
            min-width: 300px;
            display: none;
            flex-direction: column;
            gap: 2px;
            background: var(--surface);
            border: 1px solid var(--line);
            border-radius: var(--radius-s);
            box-shadow: var(--shadow-2);
            padding: 8px;
            z-index: 70;
        }

        .nav-item:hover .sub-menu,
        .nav-item:focus-within .sub-menu {
            display: flex;
        }

        .nav-links .sub-menu a {
            border-radius: 8px;
            padding: 9px 12px;
            font-size: .9rem;
            white-space: normal;
        }

        .nav-tools {
            display: flex;
            align-items: center;
            gap: 14px;
        }

        .lang-toggle {
            display: inline-flex;
            background: var(--bg-2);
            border: 1px solid var(--line);
            border-radius: 999px;
            padding: 3px;
        }

            .lang-toggle a {
                text-decoration: none;
                font-size: .78rem;
                font-weight: 700;
                letter-spacing: .04em;
                color: var(--muted);
                padding: 5px 12px;
                border-radius: 999px;
            }

                .lang-toggle a.active {
                    background: var(--surface);
                    color: var(--accent-deep);
                    box-shadow: 0 1px 3px rgba(18, 28, 36, .14);
                }

        .burger {
            display: none;
            appearance: none;
            background: transparent;
            border: 1px solid var(--line);
            border-radius: 10px;
            width: 42px;
            height: 42px;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            color: var(--ink);
        }
        /* ============ HERO ============ */
        .hero {
            position: relative;
            padding-block: clamp(52px, 7vw, 96px) clamp(28px, 4vw, 48px);
            overflow: hidden;
        }

        .hero-glow {
            position: absolute;
            right: -160px;
            top: -120px;
            width: 720px;
            height: 720px;
            background: radial-gradient(closest-side, var(--accent-tint) 0%, transparent 72%);
            pointer-events: none;
        }

        .hero-grid {
            position: relative;
            display: grid;
            grid-template-columns: 1.04fr .96fr;
            align-items: center;
            gap: clamp(32px, 5vw, 64px);
        }

        .hero h1 {
            font-size: clamp(2.05rem, 4.6vw, 3.35rem);
            font-weight: 700;
            letter-spacing: -0.02em;
            color: var(--ink);
            margin-bottom: .45em;
        }

            .hero h1 .accented {
                color: var(--accent);
            }

        .hero .sub {
            font-size: clamp(1rem, 1.4vw, 1.13rem);
            color: var(--ink-2);
            max-width: 34em;
            margin-bottom: 30px;
        }

        .hero-ctas {
            display: flex;
            flex-wrap: wrap;
            gap: 14px;
        }

        .hero-art {
            display: flex;
            justify-content: center;
        }

            .hero-art svg {
                width: min(100%, 540px);
                height: auto;
                display: block;
            }

        @media (prefers-reduced-motion: no-preference) {
            .lyr-a {
                animation: floaty 7s ease-in-out infinite alternate;
            }

            .lyr-b {
                animation: floaty 8.2s ease-in-out .7s infinite alternate;
            }

            .lyr-c {
                animation: floaty 9.4s ease-in-out 1.4s infinite alternate;
            }

            @keyframes floaty {
                from {
                    transform: translateY(0);
                }

                to {
                    transform: translateY(-7px);
                }
            }
        }
        /* ============ STATS STRIP ============ */
        .stats {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            background: var(--surface);
            border: 1px solid var(--line);
            border-radius: var(--radius);
            box-shadow: var(--shadow-1);
            margin-top: clamp(20px, 3vw, 36px);
        }

        .stat {
            padding: 22px 28px;
            border-left: 1px solid var(--line);
        }

            .stat:first-child {
                border-left: 0;
            }

        .stat-line {
            display: block;
            font-family: var(--font-display);
            font-weight: 700;
            font-size: 1.13rem;
            color: var(--ink);
            letter-spacing: -0.01em;
        }

        .stat-sub {
            display: block;
            color: var(--muted);
            font-size: .9rem;
            margin-top: 3px;
        }
        /* ============ SECTION SPACING ============ */
        .section {
            padding-block: clamp(64px, 8.5vw, 104px);
        }
        /* ============ CAPABILITIES ============ */
        .cap-grid {
            display: grid;
            grid-template-columns: repeat(6, 1fr);
            gap: 22px;
            margin-top: clamp(30px, 4vw, 46px);
        }

        .card {
            background: var(--surface);
            border: 1px solid var(--line);
            border-radius: var(--radius);
            box-shadow: var(--shadow-1);
        }

        .cap-card {
            grid-column: span 2;
            padding: 26px 26px 22px;
            display: flex;
            flex-direction: column;
            transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
        }

            .cap-card:hover {
                transform: translateY(-4px);
                box-shadow: var(--shadow-2);
                border-color: var(--line-2);
            }

            .cap-card.featured {
                grid-column: span 3;
                background: linear-gradient(180deg, var(--surface-2) 0%, var(--surface) 60%);
                border-color: var(--accent-tint-2);
                padding: 30px 30px 24px;
            }

        .cap-top {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 12px;
            margin-bottom: 18px;
        }

        .icon-chip {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 48px;
            height: 48px;
            border-radius: var(--radius-s);
            background: var(--accent-tint);
            color: var(--accent-deep);
            flex: none;
        }

        .featured .icon-chip {
            background: var(--accent-strong);
            color: #FFFFFF;
            box-shadow: 0 6px 14px var(--glow-2);
        }

        .cap-card h3 {
            font-size: 1.16rem;
            margin-bottom: .35em;
        }

        .featured h3 {
            font-size: 1.28rem;
        }

        .cap-card .cap-desc {
            color: var(--muted);
            font-size: .94rem;
            margin-bottom: 16px;
        }

        .cap-list {
            list-style: none;
            margin: auto 0 0;
            padding: 16px 0 0;
            border-top: 1px solid var(--line);
            display: grid;
            gap: 8px;
        }

        .featured .cap-list {
            grid-template-columns: 1fr 1fr;
            column-gap: 18px;
        }

        .cap-list li {
            position: relative;
            padding-left: 16px;
            font-size: .89rem;
            color: var(--ink-2);
            line-height: 1.45;
        }

            .cap-list li::before {
                content: "";
                position: absolute;
                left: 0;
                top: .52em;
                width: 6px;
                height: 6px;
                border-radius: 50%;
                background: var(--accent);
            }

        .cap-link {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            margin-top: 16px;
            font-size: .9rem;
            font-weight: 700;
            color: var(--accent-text);
            text-decoration: none;
        }

            .cap-link:hover {
                color: var(--accent-strong-hover);
                text-decoration: underline;
            }

            .cap-link svg {
                flex: none;
                transition: transform .18s ease;
            }

            .cap-link:hover svg {
                transform: translateX(2px);
            }
        /* ============ PROCESS ============ */
        .process {
            background: var(--bg-2);
            border-block: 1px solid var(--line);
        }

        .steps {
            list-style: none;
            margin: clamp(34px, 4vw, 52px) 0 0;
            padding: 0;
            display: grid;
            grid-template-columns: repeat(5, 1fr);
            gap: 20px;
            position: relative;
        }

            .steps::before {
                content: "";
                position: absolute;
                top: 24px;
                left: 34px;
                right: 34px;
                height: 2px;
                background: var(--line-2);
            }

        .step {
            position: relative;
            padding-right: 8px;
        }

        .step-num {
            position: relative;
            z-index: 1;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 48px;
            height: 48px;
            border-radius: 50%;
            background: var(--surface);
            border: 2px solid var(--accent);
            color: var(--accent-deep);
            font-family: var(--font-display);
            font-weight: 750;
            font-size: 1.05rem;
            margin-bottom: 14px;
            box-shadow: 0 0 0 6px var(--bg-2);
        }

        .step h3 {
            font-size: 1.03rem;
            margin-bottom: .25em;
        }

        .step p {
            color: var(--muted);
            font-size: .89rem;
            margin: 0;
        }
        /* ============ WHY (dark band) ============ */
        .why {
            position: relative;
            overflow: hidden;
            background: var(--accent-ink);
            color: var(--band-text);
        }

            .why .wrap {
                position: relative;
            }

        .why-motif {
            position: absolute;
            right: -110px;
            top: -80px;
            width: 460px;
            height: 460px;
            opacity: .05;
            pointer-events: none;
        }

        .why .eyebrow {
            color: var(--accent-soft);
        }

            .why .eyebrow::before {
                background: var(--accent-soft);
            }

        .why .section-head h2 {
            color: #FFFFFF;
        }

        .why .section-head .lede {
            color: var(--band-muted);
        }

        .why-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 22px;
            margin-top: clamp(30px, 4vw, 46px);
        }

        .why-card {
            background: rgba(255, 255, 255, .045);
            border: 1px solid rgba(255, 255, 255, .13);
            border-radius: var(--radius);
            padding: 28px 26px;
        }

        .why-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 48px;
            height: 48px;
            border-radius: var(--radius-s);
            background: var(--band-chip);
            color: var(--accent-soft);
            margin-bottom: 18px;
        }

        .why-card h3 {
            color: #FFFFFF;
            font-size: 1.14rem;
        }

        .why-card p {
            color: var(--band-muted);
            font-size: .94rem;
            margin: 0;
        }
        /* ============ CONTACT ============ */
        .contact-grid {
            display: grid;
            grid-template-columns: 1fr 1.05fr;
            gap: clamp(32px, 5vw, 60px);
            align-items: start;
            margin-top: clamp(30px, 4vw, 46px);
        }

        .contact-list {
            list-style: none;
            margin: 26px 0 0;
            padding: 0;
            display: grid;
            gap: 8px;
        }

        .contact-item {
            display: flex;
            gap: 16px;
            align-items: flex-start;
            padding: 16px 18px;
            background: var(--surface);
            border: 1px solid var(--line);
            border-radius: var(--radius-s);
        }

            .contact-item .icon-chip {
                width: 42px;
                height: 42px;
            }

            .contact-item strong {
                display: block;
                font-size: .78rem;
                font-weight: 700;
                letter-spacing: .09em;
                text-transform: uppercase;
                color: var(--muted);
                margin-bottom: 2px;
            }

            .contact-item a, .contact-item span.val {
                color: var(--ink);
                font-weight: 600;
                text-decoration: none;
                font-size: .97rem;
                overflow-wrap: anywhere;
            }

                .contact-item a:hover {
                    color: var(--accent-deep);
                    text-decoration: underline;
                }

        .contact-form-card {
            background: var(--surface);
            border: 1px solid var(--line);
            border-radius: var(--radius);
            box-shadow: var(--shadow-2);
            padding: clamp(26px, 3vw, 36px);
        }

        .form-row {
            margin-bottom: 18px;
        }

            .form-row label {
                display: block;
                font-size: .86rem;
                font-weight: 700;
                color: var(--ink-2);
                margin-bottom: 7px;
            }

            .form-row input,
            .form-row textarea {
                width: 100%;
                font: inherit;
                font-size: .96rem;
                color: var(--ink);
                background: var(--bg);
                border: 1px solid var(--line-2);
                border-radius: var(--radius-s);
                padding: 12px 14px;
                transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
            }

            .form-row textarea {
                resize: vertical;
                min-height: 120px;
            }

                .form-row input:focus,
                .form-row textarea:focus {
                    outline: none;
                    border-color: var(--accent);
                    background: var(--surface);
                    box-shadow: 0 0 0 3px var(--accent-tint);
                }

        .form-note {
            font-size: .8rem;
            color: var(--muted);
            margin: 12px 0 0;
        }

            .form-note + .form-note {
                margin-top: 4px;
            }
        /* server-side validation errors */
        .field-error {
            display: block;
            margin-top: 6px;
            font-size: .82rem;
            font-weight: 600;
            color: var(--err-ink);
        }

            .field-error:empty {
                display: none;
            }

        .form-row input.input-validation-error,
        .form-row textarea.input-validation-error {
            border-color: var(--err-ink);
        }
        /* honeypot — off-screen (NOT display:none), unreachable by keyboard */
        .hp-wrap {
            position: absolute;
            left: -9999px;
            top: auto;
            width: 1px;
            height: 1px;
            overflow: hidden;
        }

        .form-msg {
            margin: 14px 0 0;
            padding: 11px 14px;
            border-radius: var(--radius-s);
            font-size: .9rem;
            font-weight: 600;
        }

        .form-msg-ok {
            background: var(--accent-tint);
            border: 1px solid var(--accent-tint-2);
            color: var(--accent-deep);
        }

        .form-msg-err {
            background: var(--err-bg);
            border: 1px solid var(--err-line);
            color: var(--err-ink);
        }
        /* ============ LOCATION MAP ============ */
        .map-card {
            background: var(--surface);
            border: 1px solid var(--line);
            border-radius: var(--radius);
            box-shadow: var(--shadow-1);
            overflow: hidden;
            margin-top: 26px;
        }

        .map-embed {
            display: block;
            width: 100%;
            height: 320px;
            border: 0;
        }

        .map-foot {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: 10px 16px;
            padding: 14px 18px;
            border-top: 1px solid var(--line);
        }

        .map-directions {
            padding: 9px 16px;
            font-size: .88rem;
        }

        .map-note {
            font-size: .78rem;
            color: var(--muted);
            margin: 0;
        }
        /* ============ DETAIL PAGES (hero-lite / breadcrumb / prose / FAQ) ============ */
        .hero-lite {
            position: relative;
            overflow: hidden;
            padding-block: clamp(44px, 6vw, 76px) clamp(24px, 3.5vw, 40px);
            border-bottom: 1px solid var(--line);
            background: linear-gradient(180deg, var(--bg-2) 0%, var(--bg) 100%);
        }

            .hero-lite h1 {
                font-size: clamp(1.8rem, 3.8vw, 2.7rem);
                font-weight: 700;
                letter-spacing: -0.02em;
                color: var(--ink);
                margin-bottom: .4em;
                max-width: 22em;
            }

            .hero-lite .sub {
                font-size: clamp(1rem, 1.3vw, 1.1rem);
                color: var(--ink-2);
                max-width: 40em;
                margin-bottom: 0;
            }

        .breadcrumb {
            margin-bottom: 18px;
            font-size: .85rem;
        }

            .breadcrumb ol {
                list-style: none;
                margin: 0;
                padding: 0;
                display: flex;
                flex-wrap: wrap;
                align-items: center;
                gap: 8px;
                color: var(--muted);
            }

            .breadcrumb li {
                display: inline-flex;
                align-items: center;
                gap: 8px;
            }

                .breadcrumb li + li::before {
                    content: "/";
                    color: var(--line-2);
                }

            .breadcrumb a {
                color: var(--muted);
                text-decoration: none;
                font-weight: 600;
            }

                .breadcrumb a:hover {
                    color: var(--accent-deep);
                    text-decoration: underline;
                }

            .breadcrumb [aria-current="page"] {
                color: var(--ink-2);
                font-weight: 600;
            }

        .prose {
            max-width: 68ch;
            color: var(--ink-2);
        }

            .prose h2 {
                font-size: clamp(1.3rem, 2.2vw, 1.65rem);
                color: var(--ink);
                margin-top: 1.6em;
            }

            .prose h3 {
                font-size: 1.12rem;
                color: var(--ink);
                margin-top: 1.4em;
            }

            .prose ul {
                padding-left: 0;
                list-style: none;
                display: grid;
                gap: 8px;
                margin: 0 0 1.2em;
            }

                .prose ul li {
                    position: relative;
                    padding-left: 18px;
                    line-height: 1.55;
                }

                    .prose ul li::before {
                        content: "";
                        position: absolute;
                        left: 0;
                        top: .58em;
                        width: 6px;
                        height: 6px;
                        border-radius: 50%;
                        background: var(--accent);
                    }

            .prose strong {
                color: var(--ink);
            }

        .faq {
            display: grid;
            gap: 10px;
            margin-top: clamp(24px, 3vw, 36px);
        }

        .faq-item {
            background: var(--surface);
            border: 1px solid var(--line);
            border-radius: var(--radius-s);
        }

            .faq-item summary {
                cursor: pointer;
                padding: 15px 44px 15px 18px;
                font-weight: 650;
                font-family: var(--font-display);
                color: var(--ink);
                position: relative;
                list-style: none;
                border-radius: var(--radius-s);
            }

                .faq-item summary::-webkit-details-marker {
                    display: none;
                }

                .faq-item summary::after {
                    content: "+";
                    position: absolute;
                    right: 18px;
                    top: 50%;
                    transform: translateY(-50%);
                    font-size: 1.25rem;
                    font-weight: 400;
                    color: var(--accent-text);
                    transition: transform .18s ease;
                }

            .faq-item[open] summary::after {
                transform: translateY(-50%) rotate(45deg);
            }

            .faq-item[open] summary {
                border-bottom: 1px solid var(--line);
                border-radius: var(--radius-s) var(--radius-s) 0 0;
            }

            .faq-item .faq-body {
                padding: 14px 18px 16px;
                color: var(--muted);
                font-size: .95rem;
            }

                .faq-item .faq-body p:last-child {
                    margin-bottom: 0;
                }
        /* ============ STATUS PAGES (404 / 500) ============ */
        .status-page {
            display: flex;
            align-items: center;
            min-height: 52vh;
        }

        .status-inner {
            text-align: center;
            max-width: 620px;
        }

        .status-code {
            font-family: var(--font-display);
            font-weight: 800;
            font-size: clamp(3.6rem, 10vw, 5.8rem);
            line-height: 1;
            letter-spacing: -0.03em;
            color: var(--accent);
            margin: 0 0 12px;
        }

        .status-page h1 {
            font-size: clamp(1.5rem, 3vw, 2.1rem);
            color: var(--ink);
        }

        .status-lede {
            color: var(--muted);
            font-size: 1.04rem;
            max-width: 36em;
            margin-inline: auto;
        }

        .status-ctas {
            justify-content: center;
            margin-top: 26px;
        }

        .status-request-id {
            font-size: .86rem;
            color: var(--muted);
        }

            .status-request-id code {
                background: var(--bg-2);
                border: 1px solid var(--line);
                border-radius: 6px;
                padding: 2px 7px;
            }
        /* ============ CONSENT BANNER ============ */
        .consent-banner {
            position: fixed;
            left: 16px;
            right: 16px;
            bottom: 16px;
            z-index: 80;
            max-width: 760px;
            margin-inline: auto;
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: 12px 20px;
            background: var(--surface);
            border: 1px solid var(--line);
            border-radius: var(--radius);
            box-shadow: var(--shadow-2);
            padding: 16px 20px;
        }

            .consent-banner[hidden] {
                display: none;
            }

            .consent-banner p {
                margin: 0;
                font-size: .9rem;
                color: var(--ink-2);
                max-width: 34em;
            }

        .consent-actions {
            display: flex;
            gap: 10px;
        }

            .consent-actions .btn {
                padding: 9px 18px;
                font-size: .88rem;
            }

        .consent-reopen {
            background: none;
            border: 0;
            padding: 0;
            font: inherit;
            color: inherit;
            cursor: pointer;
            text-decoration: underline;
            text-underline-offset: 3px;
        }

            .consent-reopen:hover {
                color: var(--accent-soft);
            }
        /* ============ FOOTER ============ */
        .site-footer {
            background: #17222B;
            color: #9FB4C0;
            padding-block: 48px 34px;
        }

        .footer-top {
            display: flex;
            flex-wrap: wrap;
            align-items: flex-start;
            justify-content: space-between;
            gap: 28px;
            padding-bottom: 30px;
            border-bottom: 1px solid rgba(255, 255, 255, .1);
        }

        .site-footer .brand {
            color: #FFFFFF;
        }

        .site-footer .brand-word small {
            color: var(--accent-soft);
        }
.site-footer .brand-word small2 {
    color: #FFFFFF; /*var(--accent-soft);*/
}
        .footer-legal {
            font-size: .84rem;
            max-width: 34em;
            margin: 10px 0 0;
            color: #7E93A0;
        }

            .footer-legal a {
                color: #C6D4DD;
                text-decoration: none;
            }

                .footer-legal a:hover {
                    color: #FFFFFF;
                    text-decoration: underline;
                }

        .footer-nav {
            display: flex;
            flex-wrap: wrap;
            gap: 4px 22px;
        }

            .footer-nav a {
                color: #C6D4DD;
                text-decoration: none;
                font-size: .9rem;
                font-weight: 600;
                padding: 4px 0;
            }

                .footer-nav a:hover {
                    color: #FFFFFF;
                }

        .footer-bottom {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            padding-top: 22px;
            font-size: .84rem;
            color: #7E93A0;
        }

        .footer-linkedin {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            color: #C6D4DD;
            text-decoration: none;
            font-weight: 600;
        }

            .footer-linkedin:hover {
                color: #FFFFFF;
            }
        /* ============ SCROLL REVEAL (opt-in, content visible without JS) ============ */
    @media (prefers-reduced-motion: no-preference) {
        body.js .reveal {
            opacity: 0;
            transform: translateY(18px);
            transition: opacity .6s ease, transform .65s cubic-bezier(.2, .7, .3, 1);
        }

            body.js .reveal.in {
                opacity: 1;
                transform: none;
            }

        body.js .cap-grid .reveal:nth-child(2) {
            transition-delay: .07s;
        }

        body.js .cap-grid .reveal:nth-child(3) {
            transition-delay: .05s;
        }

        body.js .cap-grid .reveal:nth-child(4) {
            transition-delay: .12s;
        }

        body.js .cap-grid .reveal:nth-child(5) {
            transition-delay: .19s;
        }

        body.js .steps .reveal:nth-child(2) {
            transition-delay: .08s;
        }

        body.js .steps .reveal:nth-child(3) {
            transition-delay: .16s;
        }

        body.js .steps .reveal:nth-child(4) {
            transition-delay: .24s;
        }

        body.js .steps .reveal:nth-child(5) {
            transition-delay: .32s;
        }

        body.js .why-grid .reveal:nth-child(2) {
            transition-delay: .09s;
        }

        body.js .why-grid .reveal:nth-child(3) {
            transition-delay: .18s;
        }
    }
    /* ============ RESPONSIVE ============ */
    @media (max-width: 1020px) {
        .nav-bar {
            gap: 16px;
        }

        .nav-links a {
            padding: 8px 9px;
            font-size: .88rem;
        }

        .nav-tools {
            gap: 10px;
        }

        .cap-grid {
            grid-template-columns: repeat(2, 1fr);
        }

        .cap-card {
            grid-column: span 1;
        }

            .cap-card.featured {
                grid-column: span 2;
            }

        .steps {
            grid-template-columns: repeat(3, 1fr);
            row-gap: 34px;
        }

            .steps::before {
                display: none;
            }

        .step-num {
            box-shadow: none;
        }
    }

    @media (max-width: 940px) {
        .nav-links {
            position: absolute;
            top: 100%;
            left: 0;
            right: 0;
            display: none;
            flex-direction: column;
            align-items: stretch;
            gap: 2px;
            background: var(--surface);
            border-bottom: 1px solid var(--line);
            box-shadow: 0 18px 34px rgba(18, 28, 36, .12);
            padding: 12px clamp(20px, 5vw, 48px) 18px;
        }

        body.nav-open .nav-links {
            display: flex;
        }

        .nav-links a {
            padding: 12px 14px;
            border-radius: 10px;
            font-size: 1rem;
        }

        .nav-item {
            display: flex;
            flex-direction: column;
        }

            .nav-item > a {
                display: block;
            }

        .sub-menu {
            position: static;
            display: flex;
            min-width: 0;
            background: transparent;
            border: 0;
            box-shadow: none;
            padding: 0 0 6px 16px;
        }

        .nav-links .sub-menu a {
            font-size: .95rem;
            padding: 9px 14px;
        }

        .nav-links .only-mobile {
            display: block;
            margin-top: 8px;
            background: var(--accent-strong);
            color: #FFFFFF;
            text-align: center;
        }

            .nav-links .only-mobile:hover {
                background: var(--accent-strong-hover);
                color: #FFFFFF;
            }

        .burger {
            display: inline-flex;
        }

        .hero-grid {
            grid-template-columns: 1fr;
        }

        .hero-art svg {
            width: min(100%, 440px);
        }

        .contact-grid {
            grid-template-columns: 1fr;
        }
    }

    @media (max-width: 700px) {
        .stats {
            grid-template-columns: 1fr;
        }

        .stat {
            border-left: 0;
            border-top: 1px solid var(--line);
        }

            .stat:first-child {
                border-top: 0;
            }

        .cap-grid {
            grid-template-columns: 1fr;
        }

        .cap-card, .cap-card.featured {
            grid-column: span 1;
        }

        .featured .cap-list {
            grid-template-columns: 1fr;
        }

        .steps {
            grid-template-columns: 1fr;
        }

        .step {
            display: grid;
            grid-template-columns: 48px 1fr;
            column-gap: 16px;
        }

        .step-num {
            margin-bottom: 0;
        }

        .step h3 {
            grid-column: 2;
            margin-top: 4px;
        }

        .step p {
            grid-column: 2;
        }

        .why-grid {
            grid-template-columns: 1fr;
        }

        .consent-banner {
            flex-direction: column;
            align-items: stretch;
        }

        .consent-actions .btn {
            flex: 1;
        }
    }

    @media (max-width: 560px) {
        .nav-cta {
            display: none;
        }

        .brand-word small {
            display: none;
        }
    }
