html {
    scroll-padding-top: var(--tc-header-height);
}

body {
    color: var(--tc-color-ink);
    line-height: var(--tc-leading-body, 1.65);
    overflow-x: clip;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

body :is(h1, h2, h3, h4, h5, h6) {
    line-height: var(--tc-leading-heading, 1.18);
    text-wrap: balance;
}

body :is(p, li) {
    text-wrap: pretty;
}

img,
svg,
video {
    max-width: 100%;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: var(--tc-focus-ring);
    outline-offset: 3px;
}

body.tc-menu-open {
    overflow: hidden;
}

body.tc-search-open {
    overflow: hidden;
}

body.loaded .teccorp-loader,
html.tc-loader-revealed .teccorp-loader {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--tc-motion-base) ease, visibility 0s linear var(--tc-motion-base);
}

.fluentform .ff-screen-reader-element.ff-el-form-control {
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    min-height: 1px !important;
    margin: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important;
    max-width: 1px !important;
}

@media (min-width: 768px) and (max-width: 991.98px) {
    .sw_gallery-prev {
        left: 0;
    }

    .sw_gallery-next {
        right: 0;
    }
}

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

/* Batch 10: source-controlled loader styles (formerly Additional CSS). */
/* =========================
   Loader - Minimal TecCorp
========================= */
.teccorp-loader{
    position:fixed !important;
    top:0 !important;
    right:0 !important;
    bottom:0 !important;
    left:0 !important;
    width:100vw !important;
    height:100vh !important;
    z-index:9999999 !important;
    background:#111 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transition:opacity .45s ease, visibility .45s ease;
}

body.loaded .teccorp-loader,
html.tc-loader-revealed .teccorp-loader{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transition:.45s ease;
}

.teccorp-loader .loader-box{
    text-align:center !important;
}

.teccorp-loader .loader-logo{
    width:180px !important;
    max-width:60vw !important;
    height:auto !important;
    display:block !important;
    margin:0 auto !important;
    animation:tecLogoPulse 2s ease-in-out infinite;
}

.teccorp-loader .loader-line{
    width:120px !important;
    height:2px !important;
    margin:22px auto 0 !important;
    background:#2c2c2c !important;
    overflow:hidden !important;
    position:relative !important;
}

.teccorp-loader .loader-line::after{
    content:"";
    position:absolute;
    top:0;
    left:-45%;
    width:45%;
    height:100%;
    background:#b89b5e;
    animation:tecLoaderLine 1.6s infinite ease;
}
@keyframes tecLoaderLine{
    from{ left:-45%; }
    to{ left:100%; }
}

@media (prefers-reduced-motion: reduce) {
    .teccorp-loader .loader-logo,
    .teccorp-loader .loader-line::after {
        animation: none !important;
    }
}
