/* Shared visual system, header/footer, reveal, dropdown and common components. */
:root {
  --kd-surface: #f9f9f9;
  --kd-background: #f9f9f9;
  --kd-on-background: #1a1c1c;
  --kd-on-surface: #1a1c1c;
  --kd-on-primary: #ffffff;
  --kd-primary: #af101a;
  --kd-primary-container: #d32f2f;
  --kd-primary-fixed: #ffdad6;
  --kd-primary-fixed-dim: #ffb3ac;
  --kd-on-primary-fixed: #410003;
  --kd-on-primary-fixed-variant: #930010;
  --kd-on-primary-container: #fff2f0;
  --kd-secondary: #5f5e5e;
  --kd-secondary-container: #e2dfde;
  --kd-tertiary: #005f7b;
  --kd-tertiary-container: #00799c;
  --kd-tertiary-fixed: #bee9ff;
  --kd-surface-container-lowest: #ffffff;
  --kd-surface-container-low: #f3f3f3;
  --kd-surface-container: #eeeeee;
  --kd-surface-container-high: #e8e8e8;
  --kd-surface-container-highest: #e2e2e2;
  --kd-surface-variant: #e2e2e2;
  --kd-outline-variant: #e4beba;
  --kd-inverse-surface: #2f3131;
  --kd-error: #ba1a1a;
  --kd-error-container: #ffdad6;
  --kd-on-error-container: #93000a;
}

.font-headline,
.font-display {
  font-family: "Manrope", sans-serif;
}

.font-body {
  font-family: "Inter", sans-serif;
}

.font-label {
  font-family: "Space Grotesk", sans-serif;
}

.bg-background { background-color: var(--kd-background); }
.bg-surface { background-color: var(--kd-surface); }
.bg-primary { background-color: var(--kd-primary); }
.bg-primary-container { background-color: var(--kd-primary-container); }
.bg-primary-fixed { background-color: var(--kd-primary-fixed); }
.bg-primary-fixed-dim { background-color: var(--kd-primary-fixed-dim); }
.bg-secondary-container { background-color: var(--kd-secondary-container); }
.bg-tertiary { background-color: var(--kd-tertiary); }
.bg-tertiary-container { background-color: var(--kd-tertiary-container); }
.bg-tertiary-fixed { background-color: var(--kd-tertiary-fixed); }
.bg-surface-container-lowest { background-color: var(--kd-surface-container-lowest); }
.bg-surface-container-low { background-color: var(--kd-surface-container-low); }
.bg-surface-container { background-color: var(--kd-surface-container); }
.bg-surface-container-high { background-color: var(--kd-surface-container-high); }
.bg-surface-container-highest { background-color: var(--kd-surface-container-highest); }
.bg-surface-variant { background-color: var(--kd-surface-variant); }
.bg-inverse-surface { background-color: var(--kd-inverse-surface); }
.bg-error { background-color: var(--kd-error); }
.bg-error-container { background-color: var(--kd-error-container); }

.bg-primary\\/5 { background-color: rgba(175, 16, 26, 0.05); }
.bg-primary\\/10 { background-color: rgba(175, 16, 26, 0.1); }
.bg-primary\\/20 { background-color: rgba(175, 16, 26, 0.2); }
.bg-primary\\/30 { background-color: rgba(175, 16, 26, 0.3); }
.bg-tertiary\\/10 { background-color: rgba(0, 95, 123, 0.1); }
.bg-surface-container-lowest\\/80 { background-color: rgba(255, 255, 255, 0.8); }
.bg-secondary-container\\/50 { background-color: rgba(226, 223, 222, 0.5); }
.bg-tertiary-fixed\\/30 { background-color: rgba(190, 233, 255, 0.3); }

.text-on-background { color: var(--kd-on-background); }
.text-on-surface { color: var(--kd-on-surface); }
.text-on-primary { color: var(--kd-on-primary); }
.text-primary { color: var(--kd-primary); }
.text-primary-container { color: var(--kd-primary-container); }
.text-primary-fixed { color: var(--kd-primary-fixed); }
.text-primary-fixed-dim { color: var(--kd-primary-fixed-dim); }
.text-on-primary-fixed { color: var(--kd-on-primary-fixed); }
.text-on-primary-fixed-variant { color: var(--kd-on-primary-fixed-variant); }
.text-on-primary-container { color: var(--kd-on-primary-container); }
.text-secondary { color: var(--kd-secondary); }
.text-tertiary { color: var(--kd-tertiary); }
.text-tertiary-container { color: var(--kd-tertiary-container); }
.text-on-tertiary-fixed-variant { color: #004d65; }
.text-on-secondary-container { color: #636262; }
.text-on-error-container { color: var(--kd-on-error-container); }
.text-surface-variant { color: var(--kd-surface-variant); }

.border-primary { border-color: var(--kd-primary); }
.border-outline-variant { border-color: var(--kd-outline-variant); }
.border-outline-variant\\/10 { border-color: rgba(228, 190, 186, 0.1); }
.border-outline-variant\\/20 { border-color: rgba(228, 190, 186, 0.2); }
.border-secondary-container\\/50 { border-color: rgba(226, 223, 222, 0.5); }
.ring-primary { --tw-ring-color: var(--kd-primary); }
.shadow-primary\\/20 { --tw-shadow-color: rgba(175, 16, 26, 0.2); }
.shadow-primary\\/30 { --tw-shadow-color: rgba(175, 16, 26, 0.3); }
.from-primary {
  --tw-gradient-from: var(--kd-primary) var(--tw-gradient-from-position);
  --tw-gradient-to: rgba(175, 16, 26, 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.to-primary-container {
  --tw-gradient-to: var(--kd-primary-container) var(--tw-gradient-to-position);
}
.via-white\\/40 {
  --tw-gradient-to: rgba(255, 255, 255, 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgba(255, 255, 255, 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.from-surface {
  --tw-gradient-from: var(--kd-surface) var(--tw-gradient-from-position);
  --tw-gradient-to: rgba(249, 249, 249, 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}

.material-symbols-outlined {
            font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
        }
        .editorial-gradient {
            background: linear-gradient(135deg, #af101a 0%, #d32f2f 100%);
        }
        .glass-panel {
            background: rgba(255, 255, 255, 0.7);
            backdrop-filter: blur(24px);
        }
        .premium-shadow {
            box-shadow: 0 12px 32px rgba(26, 28, 28, 0.06);
        }
        .btn-radius-12 {
            border-radius: 12px !important;
        }
        .kc-btn {
            position: relative;
            isolation: isolate;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            border: 1px solid transparent;
            border-radius: 9999px;
            font-family: "Space Grotesk", sans-serif;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-align: center;
            text-transform: uppercase;
            overflow: hidden;
            cursor: pointer;
            transform: translateY(0);
            transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, color 0.22s ease, background-color 0.22s ease;
        }
        .kc-btn::before {
            content: "";
            position: absolute;
            inset: 0;
            z-index: -1;
            background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.34) 45%, transparent 70%);
            transform: translateX(-120%);
            transition: transform 0.55s ease;
        }
        .kc-btn:hover {
            transform: translateY(-2px);
        }
        .kc-btn:hover::before {
            transform: translateX(120%);
        }
        .kc-btn:active {
            transform: translateY(0) scale(0.98);
        }
        .kc-btn:focus-visible {
            outline: 3px solid rgba(255, 218, 214, 0.9);
            outline-offset: 3px;
        }
        .kc-btn-md {
            min-height: 3.25rem;
            padding: 0.9rem 2rem;
            font-size: 1rem;
        }
        .kc-btn-lg {
            min-height: 3.75rem;
            padding: 1.05rem 2.5rem;
            font-size: 1.08rem;
        }
        .kc-btn-primary {
            color: #ffffff;
            background: linear-gradient(135deg, #af101a 0%, #d32f2f 100%);
            box-shadow: 0 14px 28px rgba(175, 16, 26, 0.24);
        }
        .kc-btn-primary::before {
            background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.18) 45%, transparent 70%);
        }
        .kc-btn-primary:hover {
            color: #ffffff;
            background: linear-gradient(135deg, #9f0f18 0%, #c42a2a 100%);
            box-shadow: 0 18px 36px rgba(175, 16, 26, 0.3), 0 10px 22px rgba(26, 28, 28, 0.12);
        }
        .kc-btn-secondary {
            color: var(--kd-on-surface);
            background: var(--kd-surface-container-highest);
            box-shadow: none;
        }
        .kc-btn-secondary:hover {
            color: var(--kd-on-surface);
            background: #d4d4d4;
            box-shadow: none;
        }
        .kc-btn-light {
            color: var(--kd-primary);
            background: #ffffff;
            box-shadow: 0 16px 34px rgba(26, 28, 28, 0.16);
        }
        .kc-btn-light:hover {
            color: var(--kd-primary);
            background: #eeeeee;
            box-shadow: 0 18px 38px rgba(26, 28, 28, 0.18);
        }
        .kc-btn-order {
            width: 100%;
            min-height: 3rem;
            padding: 0.8rem 1.25rem;
            color: var(--kd-on-surface);
            background: var(--kd-surface-container-highest);
            border-color: transparent;
            box-shadow: none;
        }
        .kc-btn-order:hover {
            color: var(--kd-on-surface);
            background: #d4d4d4;
            border-color: transparent;
            box-shadow: none;
        }
        .kc-btn-order-primary {
            color: #ffffff;
            background: linear-gradient(135deg, #af101a 0%, #d32f2f 100%);
            border-color: rgba(255, 255, 255, 0.2);
            box-shadow: 0 14px 28px rgba(175, 16, 26, 0.24);
        }
        .kc-btn-order-primary::before {
            background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.18) 45%, transparent 70%);
        }
        .kc-btn-order-primary:hover {
            color: #ffffff;
            border-color: rgba(255, 255, 255, 0.38);
            background: linear-gradient(135deg, #9f0f18 0%, #c42a2a 100%);
            box-shadow: 0 18px 36px rgba(175, 16, 26, 0.3), 0 10px 22px rgba(26, 28, 28, 0.12);
        }
        .site-header {
            position: fixed;
            top: 0;
            z-index: 50;
            width: 100%;
            background: #2f3137;
            backdrop-filter: blur(20px);
            box-shadow: 0 12px 32px rgba(26, 28, 28, 0.06);
        }
        .site-header-inner {
            max-width: 1440px;
            margin: 0 auto;
            padding: 0 3rem;
            height: 80px;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }
        .site-brand {
            display: flex;
            align-items: center;
        }
        .site-brand-link {
            text-decoration: none;
        }
        .site-brand-logo {
            height: 16px;
            width: auto;
            display: block;
        }
        .site-nav {
            display: none;
            align-items: center;
            gap: 2rem;
        }
        .site-nav-link,
        .site-services-button {
            font-family: "Manrope", sans-serif;
            font-size: 0.875rem;
            font-weight: 600;
            letter-spacing: -0.01em;
            color: #ffffff;
            border-bottom: 2px solid transparent;
            padding-bottom: 0.25rem;
            transition: 0.25s ease;
            text-decoration: none;
        }
        .site-nav-link:hover,
        .site-services-button:hover {
            color: rgba(255, 255, 255, 0.78);
        }
        .site-nav-link.is-active {
            font-weight: 700;
            color: #dc2626;
            border-bottom-color: #dc2626;
        }
        .site-services {
            position: relative;
        }
        .site-services-button {
            display: flex;
            align-items: center;
            gap: 0.25rem;
            background: transparent;
        }
        .site-services-caret {
            font-size: 1rem;
        }
        .site-services-menu {
            position: absolute;
            left: 0;
            top: 100%;
            margin-top: 0.15rem;
            width: 22rem;
            padding: 0.5rem;
            border: 1px solid #e4e4e7;
            border-radius: 0.75rem;
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(12px);
            box-shadow: 0 16px 36px rgba(26, 28, 28, 0.14);
            z-index: 50;
        }
        .site-services-header {
            padding: 0.35rem 0.75rem 0.25rem;
            font-family: "Space Grotesk", sans-serif;
            font-size: 0.68rem;
            font-weight: 700;
            letter-spacing: 0.16em;
            color: #71717a;
        }
        .site-services-divider {
            height: 1px;
            background: #e4e4e7;
            margin: 0.3rem 0.5rem 0.45rem;
        }
        .site-services-item {
            display: flex;
            align-items: flex-start;
            gap: 0.625rem;
            padding: 0.625rem 0.75rem;
            border-radius: 0.625rem;
            transition: background-color 0.18s ease, color 0.18s ease;
            text-decoration: none;
        }
        .site-services-item-icon-wrap {
            width: 1.6rem;
            height: 1.6rem;
            flex-shrink: 0;
            border-radius: 0.4rem;
            background: #f4f4f5;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: background-color 0.18s ease;
        }
        .site-services-item-icon {
            font-size: 0.95rem;
            color: #71717a;
            transition: color 0.18s ease;
        }
        .site-services-item-content {
            min-width: 0;
        }
        .site-services-item:hover {
            background: #fafafa;
        }
        .site-services-item:hover .site-services-item-icon-wrap {
            background: #fee2e2;
        }
        .site-services-item:hover .site-services-item-icon,
        .site-services-item:hover .site-services-item-title {
            color: #af101a;
        }
        .site-services-item-title {
            display: block;
            font-size: 0.75rem;
            font-weight: 700;
            color: #27272a;
            transition: color 0.18s ease;
        }
        .site-services-item-desc {
            display: block;
            margin-top: 0.15rem;
            font-size: 0.6875rem;
            color: #71717a;
            white-space: nowrap;
        }
        .site-header-actions {
            display: flex;
            align-items: center;
            gap: 1rem;
        }
        .site-language {
            position: relative;
            display: inline-block;
        }
        .site-language-button {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.625rem 1rem;
            background: transparent;
            border: 1px solid #5f636c;
            color: #ffffff;
            font-size: 0.875rem;
            font-weight: 600;
        }
        .site-language-caret {
            color: rgba(255, 255, 255, 0.72);
            font-size: 1rem;
        }
        .site-language-menu {
            position: absolute;
            right: 0;
            top: 100%;
            margin-top: 0.5rem;
            width: 100%;
            border: 1px solid #e4e4e7;
            border-radius: 0.75rem;
            overflow: hidden;
            background: rgba(255, 255, 255, 0.95);
            backdrop-filter: blur(12px);
            box-shadow: 0 16px 36px rgba(26, 28, 28, 0.14);
            z-index: 50;
        }
        .site-language-option {
            width: 100%;
            text-align: left;
            padding: 0.625rem 1rem;
            font-size: 0.875rem;
            font-weight: 500;
            color: #3f3f46;
            background: transparent;
            transition: background-color 0.2s ease;
        }
        .site-language-option:hover {
            background: #f4f4f5;
        }
        .site-portal-button {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0.625rem 1.5rem;
            font-size: 0.875rem;
            font-weight: 700;
            letter-spacing: 0.02em;
            color: #fff;
            text-decoration: none;
            background: linear-gradient(135deg, #af101a, #d32f2f);
            box-shadow: 0 10px 24px rgba(175, 16, 26, 0.25);
            transition: opacity 0.2s ease, transform 0.2s ease;
        }
        .site-portal-button:hover {
            opacity: 0.92;
            transform: translateY(-1px);
        }
        .site-footer {
            width: 100%;
            padding: 4rem 2.5rem;
            background: #f4f4f5;
        }
        .site-footer-inner {
            max-width: 80rem;
            margin: 0 auto;
            font-family: "Inter", sans-serif;
            font-size: 0.75rem;
            line-height: 1.65;
        }
        .site-footer-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 1rem;
            margin-bottom: 32px;
        }
        .site-footer-brand-col {
            grid-column: span 1;
        }
        .site-footer-brand {
            margin-bottom: 1.5rem;
            font-size: 1.25rem;
            font-weight: 900;
            color: #18181b;
        }
        .site-footer-logo {
            height: 16px;
            width: auto;
            display: block;
        }
        .site-footer-contact-list {
            margin: 0;
            padding: 0;
            list-style: none;
            display: flex;
            flex-direction: column;
            gap: 0.55rem;
        }
        .site-footer-contact-item {
            display: grid;
            grid-template-columns: 120px 1fr;
            gap: 0.6rem;
            align-items: start;
            font-size: 0.76rem;
            color: #71717a;
        }
        .site-footer-contact-label {
            font-weight: 700;
            color: #27272a;
            letter-spacing: 0.01em;
        }
        .site-footer-contact-value {
            color: #71717a;
            line-height: 1.55;
        }
        .site-footer-icons {
            display: flex;
            flex-wrap: nowrap;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            width: 100%;
            padding-bottom: 1rem;
            border-bottom: 1px solid rgba(161, 161, 170, 0.55);
        }
        .site-footer-payments {
            display: inline-flex;
            align-items: center;
            gap: 0.75rem;
        }
        .site-footer-socials {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
        }
        .site-footer-icon-circle {
            width: 2rem;
            height: 2rem;
            border-radius: 9999px;
            background: #e4e4e7;
            display: flex;
            align-items: center;
            justify-content: center;
        }
        .site-footer-icon-text {
            color: #52525b;
            transition: color 0.2s ease;
        }
        .site-footer-icon-text:hover {
            color: #dc2626;
        }
        .site-footer-pay-icon {
            width: 1.25rem;
            height: 1.25rem;
            object-fit: contain;
            display: block;
        }
        .site-footer-social-icon-stack {
            position: relative;
            width: 1.3rem;
            height: 1.3rem;
            display: inline-block;
        }
        .site-footer-social-icon {
            width: 1.3rem;
            height: 1.3rem;
            object-fit: contain;
            display: block;
            transition: opacity 0.2s ease;
        }
        .site-footer-social-icon-mail {
            transition: filter 0.2s ease;
        }
        .site-footer-social-icon-chat {
            width: 1.3rem;
            height: 1.3rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 1.25rem;
            line-height: 1;
            color: currentColor;
        }
        .site-footer-social-icon-active {
            position: absolute;
            inset: 0;
            opacity: 0;
        }
        .site-footer-icon-text:hover .site-footer-social-icon-default {
            opacity: 0;
        }
        .site-footer-icon-text:hover .site-footer-social-icon-active {
            opacity: 1;
        }
        .site-footer-mail-filter:hover .site-footer-social-icon-mail,
        .site-footer-mail-filter:active .site-footer-social-icon-mail,
        .site-footer-mail-filter:focus-visible .site-footer-social-icon-mail {
            filter: brightness(0) saturate(100%) invert(17%) sepia(86%) saturate(3906%) hue-rotate(348deg) brightness(88%) contrast(99%);
        }
        .has-tooltip {
            position: relative;
        }
        .site-footer-tooltip {
            position: absolute;
            left: 50%;
            bottom: calc(100% + 8px);
            transform: translateX(-50%) translateY(4px);
            background: #18181b;
            color: #fff;
            font-size: 0.6875rem;
            line-height: 1;
            padding: 0.35rem 0.45rem;
            border-radius: 0.35rem;
            white-space: nowrap;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transition: opacity 0.18s ease, transform 0.18s ease;
        }
        .site-footer-tooltip::after {
            content: "";
            position: absolute;
            top: 100%;
            left: 50%;
            transform: translateX(-50%);
            border-width: 5px;
            border-style: solid;
            border-color: #18181b transparent transparent transparent;
        }
        .has-tooltip:hover .site-footer-tooltip {
            opacity: 1;
            visibility: visible;
            transform: translateX(-50%) translateY(0);
        }
        .site-footer-title {
            margin: 0 0 1rem;
            font-size: 0.8rem;
            font-weight: 700;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: #3f3f46;
        }
        .site-footer-list {
            margin: 0;
            padding: 0;
            list-style: none;
            display: flex;
            flex-direction: column;
            gap: 0.65rem;
        }
        .site-footer-link {
            color: #71717a;
            transition: color 0.2s ease;
            font-size: 0.8rem;
            text-decoration: none;
        }
        .site-footer-link:hover {
            color: #27272a;
        }
        .site-footer-legal {
            margin-top: 1rem;
            display: block;
            width: 100%;
            color: #52525b;
            font-size: 0.78rem;
            line-height: 1.7;
            opacity: 1;
            transform: none;
            white-space: normal;
            overflow: visible;
        }
        .kc-chatbot {
            position: fixed;
            right: 1.5rem;
            bottom: 1.5rem;
            z-index: 90;
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 0.75rem;
        }
        .kc-top-button {
            width: 2.9rem;
            height: 2.9rem;
            border: 1px solid rgba(47, 49, 55, 0.12);
            border-radius: 9999px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #6f7785;
            background: rgba(255, 255, 255, 0.86);
            backdrop-filter: blur(14px);
            box-shadow: 0 10px 24px rgba(26, 28, 28, 0.08);
            cursor: pointer;
            opacity: 0;
            pointer-events: none;
            transform: translateY(8px) scale(0.96);
            transition: opacity 0.2s ease, transform 0.2s ease, color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
        }
        .kc-top-button:hover {
            border-color: rgba(47, 49, 55, 0.2);
            color: #566071;
            background: #ffffff;
            transform: translateY(0) scale(1);
            box-shadow: 0 16px 32px rgba(26, 28, 28, 0.12);
        }
        .kc-top-button:focus-visible {
            outline: 3px solid rgba(255, 218, 214, 0.8);
            outline-offset: 3px;
        }
        .kc-top-icon {
            width: 1.2rem;
            height: 1.2rem;
            display: block;
            stroke-width: 2.35;
            transition: transform 0.2s ease;
        }
        .kc-top-button:hover .kc-top-icon {
            animation: kd-top-icon-whirl-up 0.58s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .kc-chatbot.is-scrolled .kc-top-button {
            opacity: 1;
            pointer-events: auto;
            transform: translateY(0) scale(1);
        }
        .kc-chatbot-button {
            border: 1px solid rgba(255, 255, 255, 0.18);
            border-radius: 9999px;
            min-height: 3.25rem;
            padding: 0.55rem 1rem 0.55rem 0.6rem;
            display: inline-flex;
            align-items: center;
            gap: 0.7rem;
            color: #ffffff;
            background: linear-gradient(135deg, #2f3137 0%, #18191d 56%, #af101a 100%);
            box-shadow: 0 18px 38px rgba(26, 28, 28, 0.22), 0 10px 24px rgba(175, 16, 26, 0.22);
            cursor: pointer;
            transform: translateY(0);
            overflow: hidden;
            transition: width 0.28s ease, min-width 0.28s ease, height 0.28s ease, min-height 0.28s ease, padding 0.28s ease, gap 0.24s ease, color 0.22s ease, background 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease, transform 0.22s ease;
        }
        .kc-chatbot-button:hover {
            border-color: rgba(255, 255, 255, 0.34);
            transform: translateY(0);
            box-shadow: 0 22px 46px rgba(26, 28, 28, 0.26), 0 14px 28px rgba(175, 16, 26, 0.28);
        }
        .kc-chatbot.is-chat-open .kc-chatbot-button {
            width: 3.25rem;
            min-width: 3.25rem;
            height: 3.25rem;
            min-height: 3.25rem;
            padding: 0;
            justify-content: center;
            gap: 0;
            color: #2f3137;
            background: rgba(255, 255, 255, 0.92);
            border-color: rgba(47, 49, 55, 0.16);
            box-shadow: 0 14px 30px rgba(26, 28, 28, 0.14);
            backdrop-filter: blur(14px);
        }
        .kc-chatbot.is-chat-open .kc-chatbot-button:hover {
            color: #18191d;
            background: #f4f4f5;
            border-color: rgba(47, 49, 55, 0.24);
            transform: translateY(0) scale(1.02);
            box-shadow: 0 18px 34px rgba(26, 28, 28, 0.18);
        }
        .kc-chatbot-button:focus-visible {
            outline: 3px solid rgba(255, 218, 214, 0.8);
            outline-offset: 3px;
        }
        .kc-chatbot-icon {
            width: 2.1rem;
            height: 2.1rem;
            border-radius: 9999px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            color: #af101a;
            background: #ffffff;
            font-size: 1.25rem;
            box-shadow: inset 0 0 0 1px rgba(175, 16, 26, 0.08);
            transition: width 0.28s ease, height 0.28s ease, color 0.22s ease, background-color 0.22s ease, box-shadow 0.22s ease, transform 0.22s ease;
        }
        .kc-chatbot.is-chat-open .kc-chatbot-icon {
            width: 2.2rem;
            height: 2.2rem;
            color: currentColor;
            background: transparent;
            box-shadow: none;
            font-size: 1.35rem;
        }
        .kc-chatbot-copy {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            line-height: 1.1;
            max-width: 8rem;
            opacity: 1;
            transform: translateX(0);
            transition: max-width 0.24s ease, opacity 0.18s ease, transform 0.22s ease;
        }
        .kc-chatbot.is-chat-open .kc-chatbot-copy {
            max-width: 0;
            opacity: 0;
            transform: translateX(0.4rem);
            pointer-events: none;
        }
        .kc-chatbot-label {
            font-family: "Space Grotesk", sans-serif;
            font-size: 0.82rem;
            font-weight: 700;
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }
        .kc-chatbot-status {
            margin-top: 0.15rem;
            font-family: "Inter", sans-serif;
            font-size: 0.68rem;
            color: rgba(255, 255, 255, 0.72);
        }
        .kc-chatbot.is-loading .kc-chatbot-icon {
            animation: kd-chatbot-pulse 1s ease-in-out infinite;
        }
        .kc-chatbot.is-error .kc-chatbot-status {
            color: #ffdad6;
        }
        #kc-toggle,
        .kc-toggle {
            opacity: 0 !important;
            transform: scale(0.01) !important;
            pointer-events: none !important;
        }
        #kc-nickname-screen {
            width: min(92vw, 22rem) !important;
            min-height: auto !important;
            max-height: min(76vh, 32rem) !important;
            padding: 1.25rem !important;
            border-radius: 1.25rem !important;
            box-shadow: 0 22px 54px rgba(26, 28, 28, 0.18) !important;
            overflow: auto !important;
        }
        #kc-nickname-screen input,
        #kc-nickname-screen textarea,
        #kc-nickname-screen select {
            min-height: 2.75rem !important;
            border-radius: 0.75rem !important;
        }
        #kc-nickname-start,
        #kc-send,
        .kc-primary,
        .kc-button-primary {
            background: #af101a !important;
            border-color: #af101a !important;
            color: #ffffff !important;
            border-radius: 9999px !important;
            box-shadow: 0 12px 24px rgba(175, 16, 26, 0.22) !important;
        }
        #kc-nickname-start:hover,
        #kc-send:hover,
        .kc-primary:hover,
        .kc-button-primary:hover {
            background: #8f0d15 !important;
            border-color: #8f0d15 !important;
        }
        #kc-header {
            background: linear-gradient(135deg, #2f3137 0%, #18191d 68%, #af101a 100%) !important;
            color: #ffffff !important;
            border-radius: 1.25rem 1.25rem 0 0 !important;
            box-shadow: none !important;
        }
        #kc-header button,
        #kc-restart,
        #kc-close {
            color: #ffffff !important;
            background: rgba(255, 255, 255, 0.1) !important;
            border: 1px solid rgba(255, 255, 255, 0.18) !important;
            border-radius: 9999px !important;
        }
        #kc-header button:hover,
        #kc-restart:hover,
        #kc-close:hover {
            background: rgba(255, 255, 255, 0.18) !important;
            border-color: rgba(255, 255, 255, 0.32) !important;
        }
        #kc-close {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: 2rem !important;
            height: 2rem !important;
            font-size: 1.35rem !important;
            line-height: 1 !important;
            cursor: pointer !important;
        }
        #kc-restart {
            display: inline-flex !important;
            align-items: center !important;
            justify-content: center !important;
            width: 2rem !important;
            height: 2rem !important;
            cursor: pointer !important;
        }
        #kc-chat,
        #kc-chat-widget,
        .kc-chat-window,
        .kc-widget {
            border-radius: 1.25rem !important;
            overflow: hidden !important;
            box-shadow: 0 24px 64px rgba(26, 28, 28, 0.2) !important;
        }
        @keyframes kd-chatbot-pulse {
            0%, 100% {
                transform: scale(1);
            }
            50% {
                transform: scale(0.92);
            }
        }
        @keyframes kd-top-icon-whirl-up {
            0% {
                opacity: 1;
                transform: translateY(0);
            }
            38% {
                opacity: 0;
                transform: translateY(-11px);
            }
            39% {
                opacity: 0;
                transform: translateY(9px);
            }
            100% {
                opacity: 1;
                transform: translateY(0);
            }
        }
        .reveal-on-scroll {
            opacity: 0;
            transform: translateY(28px);
            transition: opacity 0.65s ease, transform 0.65s ease;
            will-change: opacity, transform;
        }
        .reveal-on-scroll.is-visible {
            opacity: 1;
            transform: translateY(0);
        }
        [data-no-reveal],
        [data-no-reveal] .reveal-on-scroll {
            opacity: 1 !important;
            transform: none !important;
            transition-delay: 0ms !important;
        }
        @media (min-width: 768px) {
            .site-footer-grid {
                grid-template-columns: minmax(0, 2fr) minmax(180px, 1fr) minmax(180px, 1fr);
                gap: 2rem;
            }
        }
        @media (min-width: 1100px) {
            .site-nav {
                display: flex;
            }
        }
        @media (max-width: 767px) {
            .site-header-inner {
                padding: 0 1.25rem;
            }
            .site-footer {
                padding: 3rem 1.25rem;
            }
            .site-footer-icons {
                flex-wrap: wrap;
                justify-content: flex-start;
            }
            .site-footer-contact-item {
                grid-template-columns: 1fr;
                gap: 0.2rem;
            }
            .kc-chatbot {
                right: 1rem;
                bottom: 1rem;
                gap: 0.6rem;
            }
            .kc-top-button {
                width: 2.75rem;
                height: 2.75rem;
            }
            .kc-chatbot-button {
                min-height: 3rem;
                padding: 0.45rem;
            }
            .kc-chatbot-copy {
                display: none;
            }
        }
        .faq-accordion {
            display: flex;
            flex-direction: column;
            gap: 0.85rem;
        }
        .faq-item {
            border: 1px solid #e5e7eb;
            border-radius: 0.8rem;
            background: #ffffff;
            overflow: hidden;
        }
        .faq-question {
            width: 100%;
            border: 0;
            background: transparent;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 1rem;
            padding: 1rem 1.1rem;
            font-family: "Manrope", sans-serif;
            font-weight: 700;
            cursor: pointer;
        }
        .faq-question-main {
            display: inline-flex;
            align-items: center;
            gap: 0.55rem;
        }
        .faq-qa-badge {
            width: 1.35rem;
            height: 1.35rem;
            border-radius: 9999px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: 0.7rem;
            font-weight: 700;
            color: #ffffff;
            background: #af101a;
            flex-shrink: 0;
        }
        .faq-qa-badge-answer {
            margin-top: 0.08rem;
            background: #6b7280;
        }
        .faq-question-label {
            display: block;
        }
        .faq-caret {
            font-size: 1.1rem;
            color: #6b7280;
            transition: transform 0.2s ease;
        }
        .faq-item.is-open .faq-caret {
            transform: rotate(180deg);
        }
        .faq-answer {
            max-height: 0;
            opacity: 0;
            overflow: hidden;
            transition: max-height 0.42s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.3s ease;
        }
        .faq-item.is-open .faq-answer {
            opacity: 1;
        }
        .faq-answer-inner {
            display: grid;
            grid-template-columns: auto 1fr;
            align-items: start;
            column-gap: 0.6rem;
            padding: 0 1.1rem 1rem;
        }
        .faq-answer-text {
            grid-column: 2;
            margin: 0;
            color: #5f5e5e;
            font-size: 0.88rem;
            line-height: 1.6;
        }
        .faq-answer-text + .faq-answer-text {
            margin-top: 0.75rem;
        }
