/* TRILINE Manufacturing — shared styles (Tailwind handles most; this is the extra) */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }

/* Header dropdown */
.nav-drop > .nav-panel { opacity: 0; visibility: hidden; transform: translateY(6px); transition: all .16s ease; }
.nav-drop:hover > .nav-panel, .nav-drop:focus-within > .nav-panel { opacity: 1; visibility: visible; transform: translateY(0); }

/* Header scroll state (set by JS) */
#site-header .bar { transition: background-color .25s ease, box-shadow .25s ease, color .25s ease; }

/* data-img elements get the image as a cover background OR as <img>; we use <img> with object-cover via Tailwind */
img[data-img] { background: #0b2422; }

/* Reveal on scroll */
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.reveal.in { opacity: 1; transform: none; }

/* Hero overlay gradient */
.hero-overlay { background: linear-gradient(90deg, rgba(8,23,21,.92) 0%, rgba(10,40,38,.78) 45%, rgba(10,40,38,.35) 100%); }
.band-overlay { background: linear-gradient(180deg, rgba(8,23,21,.86), rgba(8,23,21,.86)); }

/* Stat number */
.stat-num { font-variant-numeric: tabular-nums; }

/* Mobile menu */
#mobile-menu { transition: transform .28s ease, opacity .28s ease; }
#mobile-menu.hidden-menu { transform: translateX(100%); opacity: 0; pointer-events: none; }

/* Marquee logos */
.cert-pill { letter-spacing: .04em; }
