:root {
    --sq-ink: #1d1d1f;
    --sq-muted: #616167;
    --sq-surface: #f5f5f7;
    --sq-line: rgba(29, 29, 31, 0.12);
}

html { text-rendering: optimizeLegibility; }
body { font-size: 16px; }
.font-space { font-family: 'Inter', sans-serif !important; }

main .text-sq-gray { color: #5f5f63 !important; }
footer { color: #5f5f63 !important; }
footer .text-sq-gray { color: #5f5f63 !important; }
main .text-white\/40 { color: rgba(255, 255, 255, .64) !important; }
nav .text-sq-dark\/60 { color: rgba(29, 29, 31, .78) !important; }

main .text-\[14px\],
main .text-\[15px\] {
    font-size: 1rem !important;
}

a, button, input, textarea, summary {
    -webkit-tap-highlight-color: transparent;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
summary:focus-visible {
    outline: 3px solid #3b82f6;
    outline-offset: 3px;
}

.sq-kicker {
    font-size: 0.75rem;
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.sq-display {
    font-size: clamp(2.45rem, 5.6vw, 5rem);
    line-height: 0.98;
    letter-spacing: -0.052em;
}

.sq-title {
    font-size: clamp(2rem, 3.6vw, 3.55rem);
    line-height: 1.05;
    letter-spacing: -0.04em;
}

.sq-copy-lg {
    font-size: clamp(1.05rem, 1.5vw, 1.25rem);
    line-height: 1.65;
}

.sq-btn {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.85rem 1.65rem;
    border-radius: 999px;
    font-size: 0.8125rem;
    line-height: 1.2;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-align: center;
    transition: transform .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
}

.sq-btn:hover { transform: translateY(-1px); }

.sq-card-lift {
    transition: transform .35s ease, box-shadow .35s ease;
}

.sq-card-lift:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 60px rgba(0,0,0,.10);
}

.sq-text-link {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
}

.sq-image-zoom img { transition: transform .8s cubic-bezier(.2,.8,.2,1); }
.sq-image-zoom:hover img { transform: scale(1.035); }

footer { font-size: 0.8125rem !important; line-height: 1.55; }
footer ul a { min-height: 32px; display: flex !important; align-items: center; }

@media (max-width: 767px) {
    .sq-display { font-size: clamp(2.55rem, 13vw, 3.65rem); }
    .sq-title { font-size: clamp(2rem, 9vw, 2.8rem); }
    .sq-btn { width: 100%; min-height: 54px; }
    footer a:not(.sq-btn) { min-height: 40px; display: inline-flex; align-items: center; }
}

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