:root {
    --taps-font-body: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --taps-font-heading: 'Barlow Condensed', 'Oswald', var(--taps-font-body);
    --taps-header-height: 84px;
    --taps-logo-box-width: 238px;
    --taps-logo-box-height: 84px;
    --taps-logo-box-radius: 22px;
    --taps-glow: rgba(25, 207, 255, .26);
    --taps-glow-strong: rgba(25, 207, 255, .42);
    --taps-glass-light: rgba(255, 255, 255, .72);
    --taps-glass-dark: rgba(7, 16, 28, .74);
    --taps-stroke-light: rgba(255, 255, 255, .44);
    --taps-stroke-dark: rgba(91, 225, 255, .16);
    --taps-shadow-dark: 0 18px 42px rgba(0, 0, 0, .34);
    --taps-shadow-light: 0 16px 34px rgba(8, 20, 36, .12);
}

html,
body {
    font-family: var(--taps-font-body) !important;
}

h1,h2,h3,h4,h5,h6,
.header-nav a,
.main-nav a,
.top-nav a,
.site-menu a,
.navbar a,
.site-hero-title,
.hero-title,
.hero-kicker,
.btn,
.button,
.header-contact,
.logo-label {
    font-family: var(--taps-font-heading) !important;
    letter-spacing: .02em;
}

/* default dark theme surface */
html[data-theme="dark"],
body.theme-dark {
    color-scheme: dark;
}

/* Header shell */
.site-header,
.top-header,
.main-header,
.header,
.taps-header,
header.site-header,
header.main-header {
    min-height: var(--taps-header-height);
    backdrop-filter: blur(18px) saturate(160%);
    -webkit-backdrop-filter: blur(18px) saturate(160%);
    transition: background-color .25s ease, box-shadow .25s ease, border-color .25s ease;
}

html[data-theme="light"] .site-header,
html[data-theme="light"] .top-header,
html[data-theme="light"] .main-header,
html[data-theme="light"] .header,
html[data-theme="light"] .taps-header,
body:not(.theme-dark) .site-header,
body:not(.theme-dark) .top-header,
body:not(.theme-dark) .main-header,
body:not(.theme-dark) .header,
body:not(.theme-dark) .taps-header {
    background: var(--taps-glass-light) !important;
    border-bottom: 1px solid rgba(10, 27, 47, .08) !important;
    box-shadow: var(--taps-shadow-light) !important;
}

html[data-theme="dark"] .site-header,
html[data-theme="dark"] .top-header,
html[data-theme="dark"] .main-header,
html[data-theme="dark"] .header,
html[data-theme="dark"] .taps-header,
body.theme-dark .site-header,
body.theme-dark .top-header,
body.theme-dark .main-header,
body.theme-dark .header,
body.theme-dark .taps-header {
    background: var(--taps-glass-dark) !important;
    border-bottom: 1px solid var(--taps-stroke-dark) !important;
    box-shadow: var(--taps-shadow-dark) !important;
}

/* Logo holder area */
.site-brand,
.site-logo,
.header-brand,
.brand-box,
.brand-logo-wrap,
.header-logo-box,
.navbar-brand-wrap,
.top-logo,
.logo-box,
.taps-brand-box,
.taps-header .site-brand,
.taps-header .header-brand,
.taps-header .brand-box,
.site-header .site-brand,
.site-header .brand-box,
.top-header .site-brand,
.top-header .brand-box {
    width: var(--taps-logo-box-width) !important;
    min-width: var(--taps-logo-box-width) !important;
    height: var(--taps-logo-box-height) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 8px 16px !important;
    border-radius: var(--taps-logo-box-radius) !important;
    overflow: hidden !important;
    position: relative !important;
    isolation: isolate;
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background-color .28s ease;
}

html[data-theme="light"] .site-brand,
html[data-theme="light"] .site-logo,
html[data-theme="light"] .header-brand,
html[data-theme="light"] .brand-box,
html[data-theme="light"] .brand-logo-wrap,
html[data-theme="light"] .header-logo-box,
html[data-theme="light"] .navbar-brand-wrap,
html[data-theme="light"] .top-logo,
html[data-theme="light"] .logo-box,
html[data-theme="light"] .taps-brand-box,
body:not(.theme-dark) .site-brand,
body:not(.theme-dark) .site-logo,
body:not(.theme-dark) .header-brand,
body:not(.theme-dark) .brand-box,
body:not(.theme-dark) .brand-logo-wrap,
body:not(.theme-dark) .header-logo-box,
body:not(.theme-dark) .navbar-brand-wrap,
body:not(.theme-dark) .top-logo,
body:not(.theme-dark) .logo-box,
body:not(.theme-dark) .taps-brand-box {
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(245,249,252,.87)) !important;
    border: 1px solid var(--taps-stroke-light) !important;
    box-shadow: var(--taps-shadow-light) !important;
}

html[data-theme="dark"] .site-brand,
html[data-theme="dark"] .site-logo,
html[data-theme="dark"] .header-brand,
html[data-theme="dark"] .brand-box,
html[data-theme="dark"] .brand-logo-wrap,
html[data-theme="dark"] .header-logo-box,
html[data-theme="dark"] .navbar-brand-wrap,
html[data-theme="dark"] .top-logo,
html[data-theme="dark"] .logo-box,
html[data-theme="dark"] .taps-brand-box,
body.theme-dark .site-brand,
body.theme-dark .site-logo,
body.theme-dark .header-brand,
body.theme-dark .brand-box,
body.theme-dark .brand-logo-wrap,
body.theme-dark .header-logo-box,
body.theme-dark .navbar-brand-wrap,
body.theme-dark .top-logo,
body.theme-dark .logo-box,
body.theme-dark .taps-brand-box {
    background: linear-gradient(180deg, rgba(9,18,30,.92), rgba(7,16,28,.84)) !important;
    border: 1px solid var(--taps-stroke-dark) !important;
    box-shadow: 0 0 0 1px rgba(98, 226, 255, .08) inset, 0 14px 40px rgba(2,8,18,.42) !important;
}

.site-brand::before,
.site-logo::before,
.header-brand::before,
.brand-box::before,
.brand-logo-wrap::before,
.header-logo-box::before,
.navbar-brand-wrap::before,
.top-logo::before,
.logo-box::before,
.taps-brand-box::before {
    content: '';
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    background: linear-gradient(135deg, rgba(255,255,255,.34), rgba(255,255,255,0) 30%, rgba(25,207,255,.12) 100%);
    pointer-events: none;
    z-index: -1;
}

.site-brand::after,
.site-logo::after,
.header-brand::after,
.brand-box::after,
.brand-logo-wrap::after,
.header-logo-box::after,
.navbar-brand-wrap::after,
.top-logo::after,
.logo-box::after,
.taps-brand-box::after {
    content: '';
    position: absolute;
    width: 52%;
    height: 54%;
    right: -12%;
    top: -18%;
    border-radius: 999px;
    background: radial-gradient(circle at center, rgba(255,255,255,.36), rgba(255,255,255,0) 70%);
    filter: blur(10px);
    pointer-events: none;
}

.site-brand:hover,
.site-logo:hover,
.header-brand:hover,
.brand-box:hover,
.brand-logo-wrap:hover,
.header-logo-box:hover,
.navbar-brand-wrap:hover,
.top-logo:hover,
.logo-box:hover,
.taps-brand-box:hover {
    transform: translateY(-2px) scale(1.012);
    box-shadow: 0 0 0 1px rgba(110,231,255,.14) inset, 0 0 28px var(--taps-glow), 0 18px 44px rgba(0,0,0,.28) !important;
}

.site-brand img,
.site-logo img,
.header-brand img,
.brand-box img,
.brand-logo-wrap img,
.header-logo-box img,
.navbar-brand-wrap img,
.top-logo img,
.logo-box img,
.taps-brand-box img {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    max-height: 68px !important;
    object-fit: contain !important;
    object-position: center !important;
    transition: transform .28s ease, filter .28s ease;
    border-radius: 12px;
}

.site-brand:hover img,
.site-logo:hover img,
.header-brand:hover img,
.brand-box:hover img,
.brand-logo-wrap:hover img,
.header-logo-box:hover img,
.navbar-brand-wrap:hover img,
.top-logo:hover img,
.logo-box:hover img,
.taps-brand-box:hover img {
    transform: scale(1.015);
    filter: drop-shadow(0 0 12px rgba(25,207,255,.18));
}

/* Top navigation hover */
.header-nav a,
.main-nav a,
.top-nav a,
.navbar a,
.site-menu a,
.header-contact,
.header-action,
.top-action,
.quick-action {
    transition: color .25s ease, background-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

.header-nav a:hover,
.main-nav a:hover,
.top-nav a:hover,
.navbar a:hover,
.site-menu a:hover,
.header-contact:hover,
.header-action:hover,
.top-action:hover,
.quick-action:hover {
    transform: translateY(-1px);
    text-shadow: 0 0 10px rgba(25, 207, 255, .12);
}

/* Quick actions glass cards */
.quick-action,
.site-quick-link,
.header-contact,
.header-contact-box,
.topbar-box {
    backdrop-filter: blur(14px) saturate(150%);
    -webkit-backdrop-filter: blur(14px) saturate(150%);
    border-radius: 16px;
}

@media (max-width: 1200px) {
    :root {
        --taps-header-height: 78px;
        --taps-logo-box-width: 214px;
        --taps-logo-box-height: 76px;
        --taps-logo-box-radius: 20px;
    }
}

@media (max-width: 992px) {
    :root {
        --taps-header-height: 72px;
        --taps-logo-box-width: 182px;
        --taps-logo-box-height: 64px;
        --taps-logo-box-radius: 18px;
    }

    .site-brand img,
    .site-logo img,
    .header-brand img,
    .brand-box img,
    .brand-logo-wrap img,
    .header-logo-box img,
    .navbar-brand-wrap img,
    .top-logo img,
    .logo-box img,
    .taps-brand-box img {
        max-height: 52px !important;
    }
}