/* ==========================================================================
   hk-wrap base reset
   Scoped reset applied only within .hk-wrap containers so we never
   fight the host theme (Astra) or Elementor globals outside our sections.
   ========================================================================== */

.hk-wrap,
.hk-wrap *,
.hk-wrap *::before,
.hk-wrap *::after {
    box-sizing: border-box;
}

.hk-wrap {
    margin: 0;
    padding: 0;
    color: var(--vq-color-text, #0F172A);
    font-family: var(--vq-font-body, "Satoshi", "Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif);
    font-size: 1rem;
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

.hk-wrap h1,
.hk-wrap h2,
.hk-wrap h3,
.hk-wrap h4,
.hk-wrap h5,
.hk-wrap h6 {
    margin: 0;
    font-family: var(--vq-font-display, "Clash Display", "Inter", system-ui, sans-serif);
    font-weight: 600;
    line-height: 1.1;
    color: var(--vq-color-secondary, #020617);
    letter-spacing: -0.01em;
}

.hk-wrap p {
    margin: 0;
}

.hk-wrap a {
    color: var(--vq-color-primary, #004EEB);
    text-decoration: none;
    transition: color 160ms ease;
}

.hk-wrap a:hover,
.hk-wrap a:focus-visible {
    color: var(--vq-color-primary-dark, #003CB3);
}

.hk-wrap a:focus-visible,
.hk-wrap button:focus-visible,
.hk-wrap [role="button"]:focus-visible,
.hk-wrap input:focus-visible,
.hk-wrap textarea:focus-visible {
    outline: 2px solid var(--vq-color-primary, #004EEB);
    outline-offset: 3px;
    border-radius: 4px;
}

.hk-wrap img,
.hk-wrap svg,
.hk-wrap video,
.hk-wrap picture {
    max-width: 100%;
    height: auto;
    display: block;
}

.hk-wrap ul,
.hk-wrap ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

.hk-wrap button {
    font: inherit;
    color: inherit;
    background: none;
    border: 0;
    padding: 0;
    cursor: pointer;
}

.hk-wrap .hk-visually-hidden {
    position: absolute !important;
    clip: rect(1px, 1px, 1px, 1px);
    width: 1px;
    height: 1px;
    overflow: hidden;
    white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
    .hk-wrap *,
    .hk-wrap *::before,
    .hk-wrap *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}
