body { font-family: 'Roboto', sans-serif; color: #555; background-color: #fbfbfd; }
h1, h2, h3, h4, h5, h6, .nav-link { font-family: 'Poppins', sans-serif; }

/* Dropdown CSS */
.dropdown-menu { display: none; opacity: 0; transform: translateY(10px); transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1); }
.dropdown:hover .dropdown-menu { display: block; opacity: 1; transform: translateY(0); }

/* Custom Form Inputs */
.tapestry-input {
    background-color: transparent !important;
    border: none;
    border-bottom: 1px solid rgba(255,255,255,0.2);
    border-radius: 0;
    color: #fff;
    padding: 12px 0;
    font-size: 0.95rem;
    transition: all 0.3s ease;
}
.tapestry-input:focus {
    outline: none;
    border-bottom-color: #287dbe;
    background-color: rgba(255,255,255,0.02) !important;
    padding-left: 8px; /* Subtle indent on focus */
}
.tapestry-input::placeholder { color: rgba(255,255,255,0.5); }

/* Vertical Text for Spotlight */
.vertical-text {
    writing-mode: vertical-rl;
    text-orientation: mixed;
    transform: rotate(180deg);
}

/* Glassmorphism Utilities */
.glass-panel {
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.5);
}
.glass-dark {
    background: rgba(28, 28, 28, 0.65);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Logo Scroller Animations */
.logo-scroller {
    overflow: hidden;
    position: relative;
    display: flex;
    width: 100%;
}
.logo-scroller::before, .logo-scroller::after {
    content: "";
    position: absolute;
    top: 0;
    width: 15%;
    height: 100%;
    z-index: 2;
    pointer-events: none;
}
.logo-scroller::before {
    left: 0;
    background: linear-gradient(to right, #fbfbfd 0%, transparent 100%);
}
.logo-scroller::after {
    right: 0;
    background: linear-gradient(to left, #fbfbfd 0%, transparent 100%);
}
.logo-track {
    display: flex;
    animation: infinite-scroll 45s linear infinite;
    width: max-content;
}
.logo-track:hover {
    animation-play-state: paused;
}
@keyframes infinite-scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* Project Builder Modal Animations & Styles */
.modal-enter { animation: modalFadeIn 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.modal-leave { animation: modalFadeOut 0.3s ease-in forwards; }
@keyframes modalFadeIn {
    from { opacity: 0; transform: scale(0.95) translateY(20px); }
    to { opacity: 1; transform: scale(1) translateY(0); }
}
@keyframes modalFadeOut {
    from { opacity: 1; transform: scale(1) translateY(0); }
    to { opacity: 0; transform: scale(0.95) translateY(20px); }
}

/* Service Selector Checkbox Styling */
.service-card-checkbox:checked + div {
    border-color: #287dbe;
    background: rgba(40, 125, 190, 0.1);
}
.service-card-checkbox:checked + div .check-icon {
    opacity: 1;
    transform: scale(1);
}
.step-container {
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.5s ease;
}

/* Premium Dark Scrollbar for Modals */
.dark-scroll::-webkit-scrollbar {
    width: 8px;
}
.dark-scroll::-webkit-scrollbar-track {
    background: #151515; 
    border-radius: 8px;
}
.dark-scroll::-webkit-scrollbar-thumb {
    background: #333333; 
    border-radius: 8px;
    border: 2px solid #151515; /* Creates a padded inset effect */
}
.dark-scroll::-webkit-scrollbar-thumb:hover {
    background: #4a4a4a; 
}

/* Title Swap Arrow Animation */
@keyframes arrowMotion {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(6px); }
}
.top-hover-trigger:hover .hover-arrow-animate {
    animation: arrowMotion 1s ease-in-out infinite;
}
