/* ============================================================
   KINETIC STUDIO — Shared Stylesheet
   Applies to: index.html, services.html, partners.html
   ============================================================ */

/* --- Responsive font scaling based on viewport height --- */
@media (max-height: 900px) { html { font-size: 14px; } }
@media (max-height: 800px) { html { font-size: 12px; } }
@media (max-height: 700px) { html { font-size: 10px; } }
@media (max-height: 600px) { html { font-size: 8px; } }
@media (max-height: 500px) { html { font-size: 6px; } }

/* --- Scrollbar --- */
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: #26022e; }
::-webkit-scrollbar-thumb { background: #4c2652; border-radius: 10px; }

/* --- Material Symbols icon style --- */
.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* --- Utility: purple neon gradient text --- */
.kinetic-gradient-text {
    background: linear-gradient(to right, #f4bdff, #e894ff, #ffbaee);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* --- Utility: frosted glass panel --- */
.glass-panel {
    backdrop-filter: blur(20px);
    background: rgba(52, 15, 59, 0.6);
}

/* --- Utility: dark glass card (services page) --- */
.glass-card {
    background: rgba(52, 15, 59, 0.4);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(155, 140, 155, 0.1);
}

/* --- Utility: neon gradient fill (CTA buttons) --- */
.kinetic-gradient {
    background: linear-gradient(135deg, #f4bdff 0%, #e894ff 100%);
}

/* --- Utility: text reveal animation helper --- */
.text-reveal {
    background: linear-gradient(to right, #ffd5ff, #ffd5ff) no-repeat;
    background-size: 0 100%;
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* --- Scroll indicator (bottom of hero on every page) --- */
.scroll-indicator {
    position: absolute;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    z-index: 20;
    pointer-events: none;
}

.scroll-indicator__label {
    font-family: 'Inter', sans-serif;
    font-size: 0.6rem;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: #f4bdff;
    opacity: 0.6;
}

.scroll-indicator__icon {
    width: 26px;
    height: 42px;
    border: 1.5px solid rgba(244, 189, 255, 0.35);
    border-radius: 13px;
    position: relative;
    display: flex;
    justify-content: center;
    padding-top: 7px;
}

.scroll-indicator__dot {
    width: 5px;
    height: 5px;
    background: #f4bdff;
    border-radius: 50%;
    animation: scrollDot 1.8s cubic-bezier(0.45, 0, 0.55, 1) infinite;
    box-shadow: 0 0 8px #f4bdff;
}

@keyframes scrollDot {
    0%   { transform: translateY(0); opacity: 1; }
    60%  { transform: translateY(14px); opacity: 0.2; }
    100% { transform: translateY(0); opacity: 1; }
}
