/* VNTech Theme 5 base layout and typography. */
body.vntech-theme5 {
    overflow-x: clip;
    background: var(--t5-page-bg);
    color: var(--t5-page-text);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    text-rendering: optimizeLegibility;
}

body.vntech-theme5 *,
body.vntech-theme5 *::before,
body.vntech-theme5 *::after {
    box-sizing: border-box;
}

body.vntech-theme5 img,
body.vntech-theme5 svg,
body.vntech-theme5 video {
    max-width: 100%;
}

body.vntech-theme5 a {
    text-underline-offset: 0.18em;
}

body.vntech-theme5 h1,
body.vntech-theme5 h2,
body.vntech-theme5 h3,
body.vntech-theme5 h4,
body.vntech-theme5 p {
    margin-top: 0;
}

body.vntech-theme5 h1,
body.vntech-theme5 h2,
body.vntech-theme5 h3,
body.vntech-theme5 h4 {
    color: var(--t5-ink-950);
    font-weight: 800;
    text-wrap: balance;
}

body.vntech-theme5 p,
body.vntech-theme5 li {
    color: var(--t5-page-muted);
    line-height: 1.65;
}

body.vntech-theme5 .t5-shell,
body.vntech-theme5 .vn-container {
    width: min(calc(100% - 48px), var(--t5-width));
    margin-inline: auto;
}

body.vntech-theme5 .vn-container--compact {
    width: min(calc(100% - 48px), var(--t5-reading-width));
}

body.vntech-theme5 .site-main {
    min-height: 60vh;
}

body.vntech-theme5 .t5-section {
    position: relative;
    min-height: 0;
    padding-block: var(--t5-section-space);
}

body.vntech-theme5 .t5-section-head {
    max-width: 790px;
    margin: 0 0 clamp(28px, 3.8vw, 48px);
}

body.vntech-theme5 .t5-section-head--horizontal {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.65fr);
    gap: clamp(30px, 6vw, 84px);
    align-items: end;
    max-width: none;
}

body.vntech-theme5 .t5-section-head h2,
body.vntech-theme5 .t5-control h2,
body.vntech-theme5 .t5-why h2,
body.vntech-theme5 .t5-contact h2 {
    max-width: 18ch;
    margin-bottom: 16px;
    font-size: clamp(34px, 3.8vw, 52px);
    line-height: 1.04;
    letter-spacing: -0.045em;
}

body.vntech-theme5 .t5-section-head > p:not(.t5-eyebrow),
body.vntech-theme5 .t5-why__intro {
    max-width: 680px;
    margin-bottom: 0;
    color: var(--t5-page-muted);
    font-size: clamp(16px, 1.4vw, 19px);
}

body.vntech-theme5 .t5-eyebrow {
    margin-bottom: 13px;
    color: var(--t5-accent-strong);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.14em;
    line-height: 1.4;
    text-transform: uppercase;
}

body.vntech-theme5 .t5-eyebrow--light {
    color: #a9c9ff;
}

body.vntech-theme5 .t5-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

body.vntech-theme5 .t5-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 12px 18px;
    border: 1px solid transparent;
    border-radius: var(--t5-radius-sm);
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    font-weight: 780;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition: transform 180ms var(--t5-ease), background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, color 180ms ease;
}

body.vntech-theme5 .t5-button:hover {
    transform: translateY(-2px);
}

body.vntech-theme5 .t5-button--primary {
    background: linear-gradient(135deg, var(--t5-accent), var(--t5-accent-strong));
    color: #fff;
    box-shadow: 0 14px 34px rgba(23, 104, 255, 0.26);
}

body.vntech-theme5 .t5-button--primary:hover {
    box-shadow: 0 18px 42px rgba(23, 104, 255, 0.34);
}

body.vntech-theme5 .t5-button--outline {
    border-color: rgba(191, 216, 255, 0.3);
    background: rgba(255, 255, 255, 0.055);
    color: #f4f8ff;
}

body.vntech-theme5 .t5-button--outline:hover {
    border-color: rgba(191, 216, 255, 0.52);
    background: rgba(255, 255, 255, 0.1);
}

body.vntech-theme5 .t5-button--light,
body.vntech-theme5 .t5-button--ghost {
    border-color: var(--t5-line);
    background: #fff;
    color: var(--t5-ink-800);
    box-shadow: var(--t5-shadow-sm);
}

body.vntech-theme5 .t5-button--light:hover,
body.vntech-theme5 .t5-button--ghost:hover {
    border-color: var(--t5-line-strong);
    color: var(--t5-accent-strong);
}

body.vntech-theme5 :where(a, button, summary, input, textarea, select):focus-visible {
    outline: 3px solid rgba(23, 104, 255, 0.42);
    outline-offset: 4px;
}

body.vntech-theme5 [data-t5-reveal] {
    opacity: 1;
    transform: none;
}

html.js.t5-motion body.vntech-theme5 [data-t5-reveal]:not(.is-visible) {
    opacity: 0;
    transform: translateY(12px);
}

html.js.t5-motion body.vntech-theme5 [data-t5-reveal] {
    transition: opacity 520ms var(--t5-ease), transform 520ms var(--t5-ease);
    transition-delay: var(--t5-reveal-delay, 0ms);
}

body.vntech-theme5 .screen-reader-text,
body.vntech-theme5 .skip-link:not(:focus) {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    white-space: nowrap;
}

body.vntech-theme5 .skip-link:focus {
    position: fixed;
    z-index: 10000;
    top: 12px;
    left: 12px;
    padding: 12px 16px;
    border-radius: 10px;
    background: #fff;
    color: var(--t5-ink-950);
    box-shadow: var(--t5-shadow-md);
}

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