        :root {
            --bg: #07080d;
            --panel: rgba(18, 20, 28, 0.74);
            --panel-strong: rgba(8, 9, 14, 0.88);
            --line: rgba(255,255,255,0.13);
            --line-gold: rgba(217,192,140,0.42);
            --text: #ffffff;
            --muted: rgba(255,255,255,0.72);
            --soft: rgba(255,255,255,0.52);
            --gold: #d9c08c;
            --gold-dark: #b89555;
            --wine: #7b2433;
            --radius: 30px;
            --shadow: 0 30px 90px rgba(0,0,0,0.42);
        }

        * { box-sizing: border-box; }
        html { scroll-behavior: smooth; overflow-x: hidden; }
        body {
            margin: 0;
            min-width: 320px;
            overflow-x: hidden;
            background: var(--bg);
            color: var(--text);
            font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
            line-height: 1.55;
            -webkit-text-size-adjust: 100%;
        }
        body.is-menu-open,
        body.is-location-open { overflow: hidden; }
        a { color: inherit; }
        img, video { max-width: 100%; }
        button, input, textarea { font: inherit; }

        .bg-video { position: fixed; inset: 0; z-index: -3; overflow: hidden; background: #08090e; }
        .bg-video video { width: 100%; height: 100%; object-fit: cover; opacity: 0.56; filter: saturate(0.82) contrast(1.06); }
        .bg-video::after {
            content: '';
            position: fixed;
            inset: 0;
            z-index: -2;
            background:
                radial-gradient(circle at 70% 22%, rgba(123,36,51,0.40), transparent 38%),
                radial-gradient(circle at 14% 74%, rgba(184,149,85,0.17), transparent 34%),
                linear-gradient(90deg, rgba(4,5,8,0.82), rgba(4,5,8,0.43) 46%, rgba(4,5,8,0.78));
            pointer-events: none;
        }
        .page-noise {
            position: fixed;
            inset: 0;
            z-index: -1;
            opacity: 0.10;
            pointer-events: none;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.45'/%3E%3C/svg%3E");
        }

        .topbar {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 1000;
            padding: 18px 24px;
            transition: background 0.25s ease, padding 0.25s ease, border-color 0.25s ease;
        }
        .topbar.is-scrolled {
            background: rgba(5,6,10,0.86);
            backdrop-filter: blur(18px);
            border-bottom: 1px solid rgba(255,255,255,0.08);
            padding-top: 10px;
            padding-bottom: 10px;
        }
        .topbar-inner {
            width: min(1220px, calc(100vw - 32px));
            margin: 0 auto;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 18px;
            min-width: 0;
        }
        .brand {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 210px;
            max-width: min(360px, 55vw);
            min-height: 64px;
            padding: 10px 18px;
            border-radius: 28px;
            background: rgba(255,255,255,0.92);
            box-shadow: 0 18px 44px rgba(0,0,0,0.28);
            text-decoration: none;
            overflow: hidden;
        }
        .brand-logo { display: block; max-height: 52px; width: auto; object-fit: contain; }
        .brand-text { color: #1d2432; font-weight: 900; letter-spacing: 0.12em; font-size: 18px; white-space: nowrap; }
        .nav {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 20px;
            min-width: 0;
        }
        .nav-link {
            position: relative;
            text-decoration: none;
            color: rgba(255,255,255,0.78);
            font-weight: 800;
            text-transform: uppercase;
            letter-spacing: 0.11em;
            font-size: 12px;
            line-height: 1.1;
            transition: color 0.2s ease;
            white-space: nowrap;
        }
        .nav-link::after {
            content: '';
            position: absolute;
            left: 0;
            right: 0;
            bottom: -8px;
            height: 2px;
            transform: scaleX(0);
            transform-origin: left center;
            transition: transform 0.2s ease;
            background: var(--gold);
        }
        .nav-link:hover,
        .nav-link.is-active { color: #fff; }
        .nav-link:hover::after,
        .nav-link.is-active::after { transform: scaleX(1); }
        .nav-cta {
            padding: 13px 18px;
            border-radius: 999px;
            background: linear-gradient(135deg, var(--gold), #f2dca7);
            color: #17120a;
            box-shadow: 0 18px 34px rgba(184,149,85,0.25);
        }
        .nav-cta::after { display: none; }
        .nav-toggle {
            display: none;
            width: 58px;
            height: 58px;
            border: 0;
            border-radius: 18px;
            background: transparent;
            cursor: pointer;
            padding: 0;
            flex: 0 0 auto;
        }
        .nav-toggle span {
            display: block;
            width: 34px;
            height: 3px;
            margin: 7px auto;
            border-radius: 999px;
            background: #fff;
            transition: transform 0.22s ease, opacity 0.22s ease;
        }
        .nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: rotate(45deg) translate(7px, 7px); }
        .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
        .nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: rotate(-45deg) translate(7px, -7px); }

        .section { position: relative; padding: 96px 0; }
        .section-inner { width: min(1160px, calc(100vw - 48px)); margin: 0 auto; min-width: 0; }
        .section-slider { min-height: 100svh; display: flex; align-items: center; padding-top: 140px; padding-bottom: 80px; }
        .hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.75fr); gap: clamp(28px, 5vw, 74px); align-items: end; min-width: 0; }
        .hero-copy { max-width: 760px; min-width: 0; }
        .eyebrow {
            display: inline-flex;
            align-items: center;
            gap: 14px;
            color: var(--gold);
            text-transform: uppercase;
            letter-spacing: 0.22em;
            font-weight: 900;
            font-size: 13px;
            margin-bottom: 22px;
        }
        .eyebrow::before { content: ''; width: 62px; height: 1px; background: var(--gold); opacity: 0.72; }
        .hero-title, .h2, .profile-name {
            margin: 0;
            font-family: "Playfair Display", Georgia, serif;
            font-weight: 800;
            line-height: 0.96;
            letter-spacing: -0.045em;
            color: #fff;
            overflow-wrap: anywhere;
        }
        .hero-title { font-size: clamp(46px, 8vw, 112px); max-width: 900px; }
        .hero-lead {
            max-width: 740px;
            margin: 30px 0 0;
            color: rgba(255,255,255,0.80);
            font-size: clamp(19px, 2.25vw, 31px);
            line-height: 1.42;
            overflow-wrap: anywhere;
        }
        .hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 36px; }
        .btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 54px;
            padding: 15px 24px;
            border-radius: 999px;
            text-decoration: none;
            border: 1px solid rgba(255,255,255,0.15);
            font-weight: 900;
            color: #fff;
            background: rgba(255,255,255,0.08);
            backdrop-filter: blur(14px);
            transition: transform 0.2s ease, background 0.2s ease;
        }
        .btn:hover { transform: translateY(-2px); background: rgba(255,255,255,0.13); }
        .btn-primary { color: #18120b; background: linear-gradient(135deg, var(--gold), #f0dba7); border-color: transparent; }
        .btn-primary:hover { background: linear-gradient(135deg, #e2c889, #f6e8bd); }
        .hero-card {
            position: relative;
            min-width: 0;
            padding: 30px;
            border-radius: var(--radius);
            border: 1px solid var(--line);
            background: linear-gradient(145deg, rgba(255,255,255,0.11), rgba(255,255,255,0.045));
            box-shadow: var(--shadow);
            overflow: hidden;
        }
        .hero-card::after {
            content: '§';
            position: absolute;
            right: 18px;
            bottom: -58px;
            font-family: "Playfair Display", Georgia, serif;
            font-size: 190px;
            line-height: 1;
            color: rgba(217,192,140,0.08);
        }
        .hero-card h2 { margin: 0 0 14px; font-size: 28px; color: #fff; line-height: 1.1; }
        .hero-card p { margin: 0; color: var(--muted); font-size: 17px; }
        .hero-mini-grid { display: grid; grid-template-columns: 1fr; gap: 14px; margin-top: 24px; position: relative; z-index: 2; }
        .hero-mini {
            padding: 17px 18px;
            border-radius: 20px;
            border: 1px solid rgba(255,255,255,0.10);
            background: rgba(0,0,0,0.22);
        }
        .hero-mini strong { display: block; color: #fff; font-size: 20px; margin-bottom: 4px; }
        .hero-mini span { color: rgba(255,255,255,0.66); font-size: 14px; }

        .glass {
            background: var(--panel);
            border: 1px solid var(--line);
            box-shadow: var(--shadow);
            backdrop-filter: blur(20px);
        }
        .panel { border-radius: var(--radius); padding: clamp(28px, 4.5vw, 56px); }
        .split { display: grid; grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr); gap: clamp(28px, 4.6vw, 68px); align-items: start; }
        .section-head { max-width: 900px; margin-bottom: 34px; min-width: 0; }
        .section-head.center { text-align: center; margin-left: auto; margin-right: auto; }
        .section-head.center .eyebrow { justify-content: center; }
        .h2 { font-size: clamp(38px, 5.4vw, 76px); max-width: 980px; }
        .h3 { margin: 0 0 18px; color: #fff; font-size: clamp(25px, 2.7vw, 38px); line-height: 1.12; overflow-wrap: anywhere; }
        .lead, .text-content p {
            color: rgba(255,255,255,0.76);
            font-size: clamp(17px, 1.8vw, 22px);
            line-height: 1.62;
            overflow-wrap: anywhere;
        }
        .lead { max-width: 850px; margin: 24px 0 0; }
        .text-content p { margin: 0 0 18px; }
        .fact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 28px; }
        .fact {
            min-width: 0;
            padding: 18px;
            border-radius: 20px;
            background: rgba(255,255,255,0.06);
            border: 1px solid rgba(255,255,255,0.10);
        }
        .fact strong { display: block; color: #fff; font-size: 22px; margin-bottom: 6px; overflow-wrap: anywhere; }
        .fact span { color: rgba(255,255,255,0.66); font-size: 15px; line-height: 1.42; }

        .profile-card {
            position: relative;
            min-width: 0;
            overflow: hidden;
            padding: clamp(26px, 3.5vw, 42px);
            border-radius: 28px;
            background: linear-gradient(145deg, rgba(255,255,255,0.10), rgba(255,255,255,0.045));
            border: 1px solid rgba(255,255,255,0.12);
        }
        .profile-card::after {
            content: 'JUDr.';
            position: absolute;
            right: -16px;
            bottom: -32px;
            font-family: "Playfair Display", Georgia, serif;
            font-size: 116px;
            color: rgba(217,192,140,0.08);
            font-weight: 800;
            line-height: 1;
        }
        .profile-name { font-size: clamp(32px, 4.1vw, 55px); margin-bottom: 10px; }
        .profile-role { color: var(--gold); text-transform: uppercase; letter-spacing: 0.14em; font-weight: 900; font-size: 13px; margin-bottom: 24px; }
        .profile-meta { display: grid; gap: 12px; position: relative; z-index: 2; }
        .profile-meta div {
            padding: 16px;
            border-radius: 18px;
            background: rgba(0,0,0,0.22);
            border: 1px solid rgba(255,255,255,0.09);
            color: rgba(255,255,255,0.78);
            overflow-wrap: anywhere;
        }

        .service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 34px; }
        .service-item {
            position: relative;
            min-width: 0;
            min-height: 240px;
            padding: 28px;
            border: 1px solid rgba(255,255,255,0.12);
            border-radius: 28px;
            background: linear-gradient(145deg, rgba(255,255,255,0.11), rgba(255,255,255,0.045));
            cursor: pointer;
            overflow: hidden;
            text-align: left;
            color: inherit;
            transition: transform 0.22s ease, border-color 0.22s ease, background 0.22s ease;
        }
        .service-item:hover { transform: translateY(-6px); border-color: rgba(217,192,140,0.64); background: linear-gradient(145deg, rgba(184,149,85,0.18), rgba(255,255,255,0.055)); }
        .service-number { color: rgba(217,192,140,0.54); font-family: "Playfair Display", Georgia, serif; font-size: 52px; line-height: 1; font-weight: 800; margin-bottom: 22px; }
        .service-name { margin: 0 0 12px; color: #fff; font-size: 25px; line-height: 1.16; font-weight: 900; letter-spacing: -0.02em; overflow-wrap: anywhere; }
        .service-tag { margin: 0; color: rgba(255,255,255,0.70); font-size: 17px; line-height: 1.48; overflow-wrap: anywhere; }
        .service-click-hint { position: absolute; right: 22px; bottom: 20px; color: var(--gold); text-transform: uppercase; letter-spacing: 0.14em; font-size: 12px; font-weight: 900; }

        .custom-list { list-style: none; margin: 0; padding: 0; }
        .custom-list li { position: relative; padding-left: 38px; margin-bottom: 16px; color: rgba(255,255,255,0.80); font-size: clamp(17px, 1.75vw, 22px); line-height: 1.55; overflow-wrap: anywhere; }
        .custom-list li::before { content: '§'; position: absolute; left: 0; top: -3px; color: var(--gold); font-size: 24px; font-weight: 900; }
        .process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 30px; }
        .process-step {
            min-width: 0;
            padding: 24px;
            border-radius: 24px;
            background: rgba(255,255,255,0.06);
            border: 1px solid rgba(255,255,255,0.10);
        }
        .process-step strong { display: block; color: var(--gold); font-family: "Playfair Display", Georgia, serif; font-size: 38px; line-height: 1; margin-bottom: 16px; }
        .process-step h3 { margin: 0 0 10px; color: #fff; font-size: 19px; line-height: 1.22; }
        .process-step p { margin: 0; color: rgba(255,255,255,0.70); font-size: 15px; line-height: 1.55; }

        .reference-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 34px; }
        .reference-card {
            min-width: 0;
            min-height: 210px;
            padding: 26px;
            border-radius: 26px;
            background: rgba(255,255,255,0.06);
            border: 1px solid rgba(255,255,255,0.10);
        }
        .quote-mark { color: var(--gold); font-size: 44px; line-height: 0.75; font-family: "Playfair Display", Georgia, serif; margin-bottom: 10px; }
        .reference-card h3 { margin: 0 0 12px; color: #fff; font-size: 21px; line-height: 1.2; overflow-wrap: anywhere; }
        .reference-card p { margin: 0; color: rgba(255,255,255,0.72); line-height: 1.62; overflow-wrap: anywhere; }

        .contact-shell { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(0, 0.96fr); gap: 28px; align-items: stretch; }
        .contact-panel, .map-panel { border-radius: var(--radius); padding: clamp(28px, 3.8vw, 46px); min-width: 0; }
        .contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 24px; }
        .contact-item { min-width: 0; }
        .contact-title { color: var(--gold); text-transform: uppercase; letter-spacing: 0.13em; font-weight: 900; font-size: 12px; margin-bottom: 8px; }
        .contact-lines { color: rgba(255,255,255,0.78); font-size: 17px; line-height: 1.48; overflow-wrap: anywhere; }
        .contact-lines a { color: #fff; text-decoration: none; font-weight: 900; overflow-wrap: anywhere; }
        .map-panel { display: flex; flex-direction: column; justify-content: center; background: linear-gradient(145deg, rgba(184,149,85,0.14), rgba(123,36,51,0.16)); border: 1px solid rgba(217,192,140,0.22); }
        .map-big { font-family: "Playfair Display", Georgia, serif; color: #fff; font-size: clamp(36px, 4vw, 58px); line-height: 1; margin-bottom: 18px; overflow-wrap: anywhere; }
        .map-panel p { margin: 0 0 14px; color: rgba(255,255,255,0.78); font-size: 17px; line-height: 1.62; }

        .footer { padding: 26px 0 42px; color: rgba(255,255,255,0.46); font-size: 14px; }
        .footer-inner { width: min(1160px, calc(100vw - 48px)); margin: 0 auto; display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; border-top: 1px solid rgba(255,255,255,0.08); padding-top: 22px; }

        .fab-top {
            position: fixed;
            right: 26px;
            bottom: 26px;
            z-index: 900;
            width: 58px;
            height: 58px;
            border: 0;
            border-radius: 50%;
            background: linear-gradient(135deg, var(--gold-dark), var(--gold));
            color: #111;
            font-size: 30px;
            font-weight: 900;
            cursor: pointer;
            box-shadow: 0 18px 38px rgba(0,0,0,0.38);
            opacity: 0;
            pointer-events: none;
            transform: translateY(10px);
            transition: opacity 0.22s ease, transform 0.22s ease;
        }
        .fab-top.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }

        .service-modal {
            position: fixed;
            inset: 0;
            z-index: 2000;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 20px;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.22s ease;
        }
        .service-modal.is-open { opacity: 1; pointer-events: auto; }
        .modal-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.78); backdrop-filter: blur(12px); }
        .modal-content {
            position: relative;
            width: min(720px, 100%);
            max-height: min(780px, calc(100svh - 40px));
            overflow: auto;
            border-radius: 28px;
            background: #fff;
            color: #242630;
            box-shadow: 0 44px 100px rgba(0,0,0,0.55);
            transform: translateY(18px) scale(0.98);
            transition: transform 0.22s ease;
        }
        .service-modal.is-open .modal-content { transform: translateY(0) scale(1); }
        .modal-close {
            position: absolute;
            top: 16px;
            right: 16px;
            z-index: 3;
            width: 44px;
            height: 44px;
            border: 0;
            border-radius: 50%;
            background: rgba(0,0,0,0.10);
            color: #1b1d24;
            cursor: pointer;
            font-size: 28px;
            line-height: 1;
        }
        .modal-head { padding: 42px 34px 26px; background: linear-gradient(135deg, #10131d, #2b1420); color: #fff; }
        .modal-kicker { color: var(--gold); text-transform: uppercase; letter-spacing: 0.16em; font-size: 12px; font-weight: 900; margin-bottom: 12px; }
        .modal-title { margin: 0; font-family: "Playfair Display", Georgia, serif; font-size: clamp(32px, 5vw, 46px); line-height: 1.02; letter-spacing: -0.035em; }
        .modal-body { padding: 30px 34px 36px; }
        .modal-desc { margin: 0; font-size: 18px; line-height: 1.7; color: #383b45; }

        .location-notice {
            position: fixed;
            inset: 0;
            z-index: 2600;
            display: flex;
            align-items: flex-start;
            justify-content: center;
            padding: clamp(108px, 14vh, 150px) 24px 24px;
            opacity: 0;
            pointer-events: none;
            transition: opacity 0.22s ease;
        }
        .location-notice.is-open { opacity: 1; pointer-events: auto; }
        .location-notice__dim {
            position: absolute;
            inset: 0;
            background: rgba(0,0,0,0.46);
            backdrop-filter: blur(5px);
        }
        .location-notice__card {
            position: relative;
            width: min(760px, 100%);
            border-radius: 30px;
            padding: clamp(26px, 4vw, 38px);
            background: linear-gradient(145deg, rgba(18,20,28,0.89), rgba(38,14,26,0.82));
            border: 1px solid rgba(217,192,140,0.45);
            box-shadow: 0 40px 100px rgba(0,0,0,0.55);
            color: #fff;
            display: grid;
            grid-template-columns: 58px minmax(0, 1fr);
            gap: 20px;
            transform: translateY(14px) scale(0.98);
            transition: transform 0.22s ease;
            overflow: hidden;
        }
        .location-notice.is-open .location-notice__card { transform: translateY(0) scale(1); }
        .location-notice__icon {
            width: 58px;
            height: 58px;
            border-radius: 50%;
            background: linear-gradient(135deg, var(--gold-dark), #f0dba7);
            color: #121212;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 900;
            font-size: 26px;
        }
        .location-notice__kicker { color: var(--gold); text-transform: uppercase; letter-spacing: 0.16em; font-weight: 900; font-size: 13px; margin-bottom: 8px; }
        .location-notice h2 { margin: 0 0 12px; font-family: "Playfair Display", Georgia, serif; font-size: clamp(33px, 5vw, 48px); line-height: 1.02; letter-spacing: -0.035em; }
        .location-notice p { margin: 0; color: rgba(255,255,255,0.86); font-size: clamp(17px, 2.1vw, 23px); line-height: 1.48; overflow-wrap: anywhere; }
        .location-notice strong { color: #fff; font-weight: 900; }
        .location-notice__btn {
            margin-top: 24px;
            border: 0;
            border-radius: 999px;
            min-height: 50px;
            padding: 14px 28px;
            background: linear-gradient(135deg, var(--gold-dark), #f4dfab);
            color: #111;
            font-weight: 900;
            text-transform: uppercase;
            letter-spacing: 0.13em;
            cursor: pointer;
            box-shadow: 0 18px 36px rgba(0,0,0,0.27);
        }

        .reveal { opacity: 0; transform: translateY(24px); transition: opacity 0.6s ease, transform 0.6s ease; }
        .reveal.is-visible { opacity: 1; transform: translateY(0); }

        @media (max-width: 1180px) {
            .nav { gap: 14px; }
            .nav-link { font-size: 11px; letter-spacing: 0.09em; }
            .service-grid, .reference-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        }
        @media (max-width: 1050px) {
            .topbar { padding: 14px 16px; }
            .topbar-inner { width: min(100%, calc(100vw - 32px)); }
            .brand { min-width: 0; width: min(365px, 54vw); min-height: 62px; border-radius: 24px; padding: 10px 14px; }
            .brand-logo { max-height: 48px; }
            .nav-toggle { display: block; }
            .nav {
                position: absolute;
                left: 16px;
                right: 16px;
                top: calc(100% + 12px);
                width: auto;
                max-height: calc(100svh - 120px);
                overflow: auto;
                flex-direction: column;
                align-items: stretch;
                gap: 0;
                padding: 16px;
                border-radius: 24px;
                background: rgba(6,7,11,0.96);
                border: 1px solid rgba(255,255,255,0.12);
                box-shadow: 0 26px 70px rgba(0,0,0,0.50);
                backdrop-filter: blur(18px);
                opacity: 0;
                pointer-events: none;
                transform: translateY(-10px);
                transition: opacity 0.22s ease, transform 0.22s ease;
            }
            .nav.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }
            .nav-link { display: block; padding: 15px 14px; font-size: 16px; border-radius: 16px; white-space: normal; }
            .nav-link::after { display: none; }
            .nav-cta { margin-top: 8px; text-align: center; }
            .hero-grid, .split, .contact-shell { grid-template-columns: 1fr; }
            .hero-card { max-width: 620px; }
            .process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        }
        @media (max-width: 720px) {
            .section { padding: 64px 0; }
            .section-inner { width: min(100%, calc(100vw - 36px)); }
            .section-slider { min-height: auto; padding-top: 150px; padding-bottom: 72px; }
            .topbar { padding-left: 12px; padding-right: 12px; }
            .topbar-inner { width: calc(100vw - 24px); }
            .brand { width: min(360px, 50vw); min-height: 58px; border-radius: 22px; }
            .brand-logo { max-height: 42px; }
            .nav-toggle { width: 54px; height: 54px; }
            .hero-title { font-size: clamp(43px, 15vw, 68px); line-height: 0.96; }
            .hero-lead { font-size: 19px; line-height: 1.5; }
            .hero-actions { flex-direction: column; align-items: stretch; }
            .btn { width: 100%; min-height: 56px; }
            .hero-card, .panel, .contact-panel, .map-panel { border-radius: 26px; padding: 26px; }
            .eyebrow { font-size: 12px; letter-spacing: 0.17em; gap: 12px; margin-bottom: 18px; }
            .eyebrow::before { width: 44px; }
            .h2 { font-size: clamp(37px, 12vw, 58px); line-height: 0.98; }
            .lead, .text-content p { font-size: 18px; line-height: 1.58; }
            .fact-grid, .service-grid, .reference-grid, .contact-grid, .process-grid { grid-template-columns: 1fr; }
            .service-item { min-height: 210px; padding: 26px; border-radius: 26px; }
            .service-number { font-size: 50px; }
            .service-name { font-size: 27px; }
            .custom-list li { font-size: 18px; padding-left: 34px; }
            .footer-inner { width: min(100%, calc(100vw - 36px)); }
            .fab-top { right: 18px; bottom: 18px; width: 56px; height: 56px; }
            .location-notice { align-items: flex-start; padding: 108px 14px 20px; }
            .location-notice__card { grid-template-columns: 44px minmax(0, 1fr); gap: 14px; border-radius: 26px; padding: 24px; }
            .location-notice__icon { width: 44px; height: 44px; font-size: 22px; }
            .location-notice p { font-size: 17px; }
            .location-notice__btn { width: auto; max-width: 100%; min-height: 48px; padding: 13px 22px; }
            .modal-head, .modal-body { padding-left: 24px; padding-right: 24px; }
        }
        @media (max-width: 430px) {
            .section-inner { width: min(100%, calc(100vw - 28px)); }
            .brand { width: min(320px, 47vw); padding-left: 12px; padding-right: 12px; }
            .brand-text { font-size: 14px; letter-spacing: 0.08em; }
            .hero-title { font-size: clamp(40px, 14.4vw, 58px); }
            .h2 { font-size: clamp(34px, 11.2vw, 50px); }
            .hero-card, .panel, .contact-panel, .map-panel { padding: 24px; }
            .service-item { padding: 24px; }
            .location-notice { padding-left: 12px; padding-right: 12px; }
            .location-notice__card { grid-template-columns: 1fr; }
            .location-notice__icon { margin-bottom: 2px; }
        }

/* Volitelné redakční bloky, bez vlivu na původní rozložení. */
.aks-footer-extra{display:flex;flex-wrap:wrap;gap:32px;padding-bottom:28px}
.aks-footer-extra nav{min-width:150px}.aks-footer-extra nav a{display:block;padding:4px 0}
.aks-chip{display:inline-block;margin:4px 12px 4px 0}.aks-social{display:flex;gap:12px;align-items:center}
.aks-social a{display:inline-flex;gap:8px;align-items:center}
.aks-faq{border-top:1px solid var(--line);padding:20px 0}.aks-faq summary{cursor:pointer;font-size:1.2rem;font-weight:700}
.aks-extra .h2{max-width:100%;font-size:clamp(36px,5vw,68px)}
.aks-builder .wrap{width:100%;max-width:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.bg-video video{opacity:0}.bg-video{background:#07080d}}

.aks-background-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.56;filter:saturate(.82) contrast(1.06)}
.aks-background-poster--video{display:none}
.bg-video video{position:relative}
/* Volitelný běžící pás používá původní funkce rychlosti a barev administrace. */
.ticker{position:relative;width:100%;overflow:hidden;border-top:1px solid var(--line)}
.ticker__title{margin:0;padding:22px 16px 18px;text-align:center;font-size:.8rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.ticker__row{display:flex;overflow:hidden;white-space:nowrap;padding:22px 0;position:relative}
.ticker__row--1{background:var(--t1);color:#111}.ticker__row--2{background:var(--t2);color:#fff}
.ticker__track{display:inline-flex;align-items:center;animation:aks-ticker-left var(--dur,900s) linear infinite}
.ticker__row--2 .ticker__track{animation-name:aks-ticker-right}.ticker__row:hover .ticker__track,.ticker__row:focus-within .ticker__track{animation-play-state:paused}
.ticker__item{display:inline-flex;align-items:center;gap:28px;padding:0 28px;font-size:1.25rem;font-weight:800;color:inherit;text-decoration:none}
.ticker__dot{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.55}
@keyframes aks-ticker-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes aks-ticker-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.ticker__track{animation-play-state:paused}}

@media(prefers-reduced-motion:reduce){.aks-background-poster--video{display:block}}

.aks-facts-grid{grid-template-columns:repeat(var(--aks-cols,3),minmax(0,1fr))}.aks-extra-image img{display:block;width:100%;height:auto;border-radius:20px}.aks-extra-image--narrow{max-width:420px;margin-inline:auto}
@media(max-width:720px){.aks-facts-grid{grid-template-columns:1fr}}
