/* Machines: the supplied image stays fully visible in a dedicated visual panel. */
.machine-band { position: relative; overflow: hidden; min-height: 650px; background: #0c0d0e; align-items: flex-end; }
.machine-band::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #0c0d0e 0%, #0c0d0ef8 39%, #0c0d0e83 67%, #0c0d0e 100%); z-index: 0; }
.machine-content, .specs { position: relative; z-index: 2; }
.machine-visual { position: absolute; inset: 0 0 0 30%; display: flex; align-items: center; justify-content: flex-end; z-index: 1; overflow: hidden; }
.machine-visual img { width: min(76vw, 1120px); height: auto; object-fit: contain; object-position: right center; filter: saturate(.92) contrast(1.05); }
.machine-band .specs strong { color: #fff; }
.quote-form select { color: #fff; }
.quote-form select option { background: #24262a; color: #fff; }

/* A continuous, pause-on-hover project reel. */
.project-gallery { display: flex; gap: 15px; overflow-x: auto; padding: 3px 0 16px; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--red) #e2e4e4; }
.project-gallery figure { margin: 0; position: relative; flex: 0 0 clamp(230px, 28vw, 360px); height: 250px; overflow: hidden; scroll-snap-align: start; background: #101113; animation: gallery-rise .65s both; }
.project-gallery figure:nth-child(2n) { animation-delay: .08s; }.project-gallery figure:nth-child(3n) { animation-delay: .16s; }
.project-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.75,.25,1), filter .4s; filter: saturate(.72) contrast(1.04); }
.project-gallery figure::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 42%, #050607de 100%); opacity: .85; transition: opacity .35s; }
.project-gallery figcaption { position: absolute; z-index: 1; bottom: 0; left: 0; right: 0; padding: 32px 16px 14px; color: #fff; font: 700 19px var(--cond); text-transform: uppercase; letter-spacing: .4px; transform: translateY(4px); transition: transform .35s; }
.project-gallery figure:hover img { transform: scale(1.09); filter: saturate(1.08) contrast(1.08); }.project-gallery figure:hover::after { opacity: .6; }.project-gallery figure:hover figcaption { transform: translateY(-4px); }
@keyframes gallery-rise { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: none; } }
@media (max-width: 680px) { .machine-band { min-height: 680px; }.machine-band::before { background: linear-gradient(180deg,#0c0d0ee8 0%,#0c0d0eb9 48%,#0c0d0ee8 100%); }.machine-visual { inset: 40% 0 0; }.machine-visual img { width: 118vw; max-width: none; }.project-gallery figure { flex-basis: 78vw; height: 245px; } }

/* Direct, privacy-friendly WhatsApp click-to-chat entry point. */
.whatsapp-chat { position: fixed; right: clamp(18px, 3vw, 42px); bottom: clamp(18px, 3vw, 34px); z-index: 30; display: flex; align-items: center; gap: 12px; max-width: calc(100vw - 32px); min-height: 62px; padding: 7px 20px 7px 7px; color: #fff; background: #111214; border: 1px solid #ffffff26; box-shadow: 0 16px 40px #0004; touch-action: manipulation; -webkit-tap-highlight-color: transparent; transition: transform .25s ease, box-shadow .25s ease, background .25s ease; }
.whatsapp-chat::before { content: ''; position: absolute; inset: -6px; border: 1px solid #25d36650; opacity: 0; transform: scale(.96); transition: opacity .25s ease, transform .25s ease; pointer-events: none; }
.whatsapp-chat:hover { color: #fff; background: #17191b; box-shadow: 0 19px 48px #0005; transform: translateY(-4px); }
.whatsapp-chat:hover::before, .whatsapp-chat:focus-visible::before { opacity: 1; transform: scale(1); }
.whatsapp-chat:focus-visible { outline: 3px solid #25d366; outline-offset: 4px; }
.whatsapp-chat__icon { position: relative; display: grid; place-items: center; width: 48px; height: 48px; flex: 0 0 48px; color: #fff; background: #25d366; border-radius: 50%; }
.whatsapp-chat__icon::after { content: ''; position: absolute; inset: -5px; border: 1px solid #25d36678; border-radius: inherit; animation: whatsapp-pulse 2.4s ease-out infinite; }
.whatsapp-chat__icon svg { width: 29px; height: 29px; }
.whatsapp-chat__copy { display: grid; line-height: 1.05; }
.whatsapp-chat__copy small { color: #aeb2b5; font: 700 8px var(--font); letter-spacing: 1.3px; text-transform: uppercase; }
.whatsapp-chat__copy strong { margin-top: 5px; font: 700 20px var(--cond); letter-spacing: .35px; text-transform: uppercase; }
@keyframes whatsapp-pulse { 0% { opacity: .8; transform: scale(.85); } 70%, 100% { opacity: 0; transform: scale(1.35); } }
@media (max-width: 680px) { .whatsapp-chat { right: calc(16px + env(safe-area-inset-right, 0px)); bottom: calc(16px + env(safe-area-inset-bottom, 0px)); width: 56px; height: 56px; min-height: 56px; padding: 5px; border-radius: 50%; }.whatsapp-chat:hover { transform: none; }.whatsapp-chat__icon { width: 44px; height: 44px; flex-basis: 44px; }.whatsapp-chat__icon svg { width: 27px; height: 27px; }.whatsapp-chat__copy { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; } }
@media (prefers-reduced-motion: reduce) { .whatsapp-chat, .whatsapp-chat::before { transition: none; }.whatsapp-chat__icon::after { animation: none; } }
