Menu

Latest Work

Gallery

What Clients Say

"Professional, clean shop, and the barber takes their time. Tried four different places in the area before finding this one. Not going anywhere else."

Chris M. ⭐⭐⭐⭐⭐

"Best fade I've ever had. The consultation alone was worth it — they actually listened to what I wanted and explained the maintenance."

Marcus T. ⭐⭐⭐⭐⭐

"Finally found a barber who understands beard work. Hot towel shave was incredible, and the lineup stays sharp for weeks."

David R. ⭐⭐⭐⭐⭐

Portfolio Highlights

Gallery

Latest Social Highlights

Follow cuts, transformations, and behind-the-chair content.

TikTok Highlights

Ready for Your Best Cut?

Book your chair and experience precision grooming that actually grows out right.

Book Now Call Shop
(function () { function initBASliders() { function parseNumberAttr(element, attrName) { var value = parseFloat(element.getAttribute(attrName)); return Number.isFinite(value) ? value : null; } function getSliderBreakpointKey() { var viewportWidth = Math.max(window.innerWidth || 0, document.documentElement.clientWidth || 0); if (viewportWidth <= 430) return 'mobile'; if (viewportWidth <= 1024) return 'tablet'; return 'desktop'; } function resolveResponsiveAttr(element, baseAttrName, fallbackValue) { var breakpointKey = getSliderBreakpointKey(); var specificValue = parseNumberAttr(element, baseAttrName + '-' + breakpointKey); if (Number.isFinite(specificValue)) return specificValue; var baseValue = parseNumberAttr(element, baseAttrName); if (Number.isFinite(baseValue)) return baseValue; return fallbackValue; } function coverFitSize(containerW, containerH, imageW, imageH, scale) { var base = Math.max(containerW / imageW, containerH / imageH); return { width: imageW * base * scale, height: imageH * base * scale }; } function computeObjectPosY(containerH, renderedH, anchorY, targetY) { var freeSpace = containerH - renderedH; if (Math.abs(freeSpace) < 0.001) return targetY; var pos = (targetY * containerH - anchorY * renderedH) / freeSpace; return Math.max(0, Math.min(1, pos)); } function applyFeatureAlignment(slider, beforeImg, afterImg) { var targetY = resolveResponsiveAttr(slider, 'data-anchor-target-y', 0.54); var beforeAnchorY = resolveResponsiveAttr(beforeImg, 'data-anchor-y', 0.52); var afterAnchorY = resolveResponsiveAttr(afterImg, 'data-anchor-y', 0.57); var sliderRect = slider.getBoundingClientRect(); var sliderStyles = getComputedStyle(slider); var beforeScale = parseFloat(sliderStyles.getPropertyValue('--ba-before-scale')); var afterScale = parseFloat(sliderStyles.getPropertyValue('--ba-after-scale')); if (!Number.isFinite(beforeScale) || beforeScale <= 0) beforeScale = 1; if (!Number.isFinite(afterScale) || afterScale <= 0) afterScale = 1; if (!(beforeImg.naturalWidth > 0 && beforeImg.naturalHeight > 0 && afterImg.naturalWidth > 0 && afterImg.naturalHeight > 0)) { return; } var beforeSize = coverFitSize(sliderRect.width, sliderRect.height, beforeImg.naturalWidth, beforeImg.naturalHeight, beforeScale); var afterSize = coverFitSize(sliderRect.width, sliderRect.height, afterImg.naturalWidth, afterImg.naturalHeight, afterScale); var beforePosY = computeObjectPosY(sliderRect.height, beforeSize.height, beforeAnchorY, targetY); var afterPosY = computeObjectPosY(sliderRect.height, afterSize.height, afterAnchorY, targetY); beforeImg.style.objectPosition = '50% ' + (beforePosY * 100).toFixed(2) + '%'; afterImg.style.objectPosition = '50% ' + (afterPosY * 100).toFixed(2) + '%'; } document.querySelectorAll('.ba-slider').forEach(function (slider) { var afterWrap = slider.querySelector('.ba-slider__after-wrap'); var handle = slider.querySelector('.ba-slider__handle'); var beforeImg = slider.querySelector('.ba-slider__img--before'); var afterImg = afterWrap ? afterWrap.querySelector('img') : null; if (!afterWrap || !handle || !beforeImg || !afterImg) return; var active = false; var currentPct = 50; function clamp(v, lo, hi) { return Math.min(Math.max(v, lo), hi); } function toPercent(clientX) { var r = slider.getBoundingClientRect(); return clamp((clientX - r.left) / r.width * 100, 2, 98); } function apply(pct) { currentPct = pct; var roundedPct = Math.round(pct * 10) / 10; // Pixel-snapping reduces anti-alias seams while dragging on mobile GPUs. var r = slider.getBoundingClientRect(); var px = clamp(Math.round((roundedPct / 100) * r.width), 2, Math.max(2, r.width - 2)); afterWrap.style.clipPath = 'inset(0 0 0 ' + px + 'px)'; handle.style.left = px + 'px'; slider.setAttribute('aria-valuenow', Math.round(pct)); } slider.setAttribute('tabindex', '0'); slider.setAttribute('role', 'slider'); slider.setAttribute('aria-label', 'Before and after comparison — use arrow keys to adjust'); slider.setAttribute('aria-valuemin', '0'); slider.setAttribute('aria-valuemax', '100'); slider.setAttribute('aria-valuenow', '50'); slider.addEventListener('mousedown', function (e) { active = true; apply(toPercent(e.clientX)); e.preventDefault(); }); document.addEventListener('mousemove', function (e) { if (active) apply(toPercent(e.clientX)); }); document.addEventListener('mouseup', function () { active = false; }); slider.addEventListener('touchstart', function (e) { active = true; apply(toPercent(e.touches[0].clientX)); }, { passive: true }); document.addEventListener('touchmove', function (e) { if (active) apply(toPercent(e.touches[0].clientX)); }, { passive: true }); document.addEventListener('touchend', function () { active = false; }); slider.addEventListener('keydown', function (e) { var step = e.shiftKey ? 10 : 5; if (e.key === 'ArrowLeft' || e.key === 'ArrowDown') { e.preventDefault(); apply(clamp(currentPct - step, 2, 98)); } else if (e.key === 'ArrowRight' || e.key === 'ArrowUp') { e.preventDefault(); apply(clamp(currentPct + step, 2, 98)); } else if (e.key === 'Home') { e.preventDefault(); apply(2); } else if (e.key === 'End') { e.preventDefault(); apply(98); } }); function alignWhenReady() { applyFeatureAlignment(slider, beforeImg, afterImg); } if (beforeImg.complete && afterImg.complete) { alignWhenReady(); } else { beforeImg.addEventListener('load', alignWhenReady, { once: true }); afterImg.addEventListener('load', alignWhenReady, { once: true }); } window.addEventListener('resize', function () { alignWhenReady(); }); }); } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initBASliders); } else { initBASliders(); } }());