/* Shared styles for the 5A "Signpost" layout (index, portfolio, cv, featured) */

body {
    background-color: #f4f4f5;
    overflow-x: hidden;
    min-height: 100dvh;
}

.bg-grid {
    background-size: 40px 40px;
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.05) 1px, transparent 1px), linear-gradient(to bottom, rgba(0, 0, 0, 0.05) 1px, transparent 1px);
}

.font-display { font-family: 'Anton', sans-serif; font-weight: 400; letter-spacing: 0.005em; }

::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #94a3b8; }

/* Route cards lift on hover */
.card-lift { transition: transform .25s ease, box-shadow .25s ease; }
.card-lift:hover { transform: translateY(-6px); box-shadow: 0 24px 40px rgba(15, 23, 42, .18); }

/* Homepage ticker */
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.marquee { animation: marquee 60s linear infinite; }

@media (prefers-reduced-motion: reduce) {
    .marquee { animation: none; }
    .card-lift, .card-lift:hover { transition: none; transform: none; }
}

/* Print: keep the CV clean when saved as PDF */
@media print {
    body { background: #fff !important; }
    .bg-grid { background-image: none !important; }
    .no-print, header, #confirmModal { display: none !important; }
    .print-flat { box-shadow: none !important; border-color: #e2e8f0 !important; }
    a { text-decoration: none !important; }
}
