/* app.css — shared custom styles (corporate / matte) */
html { scroll-behavior: smooth; }
body { font-family: 'Archivo', system-ui, sans-serif; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.font-display { font-family: 'Space Grotesk', Archivo, sans-serif; }

::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(95,104,120,.32); border-radius: 2px; border: 3px solid transparent; background-clip: content-box; }
::-webkit-scrollbar-thumb:hover { background: rgba(95,104,120,.5); border: 3px solid transparent; background-clip: content-box; }

/* Industrial hazard-stripe photo placeholder (matte) */
.photo-ph { background-color: #E2E6EC; background-image: repeating-linear-gradient(135deg, rgba(12,14,18,.05) 0 16px, rgba(12,14,18,0) 16px 32px); }
.dark .photo-ph { background-color: #262B33; background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.04) 0 16px, rgba(255,255,255,0) 16px 32px); }

.no-scroll { overflow: hidden; }
[data-reveal] { animation: fade-in .25s ease-out; }

.scrollbar-none { scrollbar-width: none; -ms-overflow-style: none; }
.scrollbar-none::-webkit-scrollbar { display: none; }

input[type="range"] { -webkit-appearance: none; appearance: none; height: 5px; border-radius: 999px; background: #CBD0DA; }
.dark input[type="range"] { background: #3A414C; }
input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 18px; height: 18px; border-radius: 999px; background: #D2440A; border: 3px solid #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25); cursor: pointer; }
.dark input[type="range"]::-webkit-slider-thumb { border-color: #15181D; }

.line-clamp-1 { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* offcanvas + drawers transition */
#offcanvas { transition: transform .3s cubic-bezier(.22,1,.36,1); }
