{"title":"Coffee Grinders on Sale","description":"\u003cp data-start=\"571\" data-end=\"736\"\u003eSave on coffee grinders at Anthony’s Espresso. This collection features discounted espresso grinders and brew grinders designed for home, prosumer, and office use.\u003c\/p\u003e\n\u003cp data-start=\"743\" data-end=\"943\"\u003eFrom dialing in espresso to grinding for drip coffee and other brewing methods, our grinder sale highlights select models offering consistent grind quality and reliable performance at special pricing.\u003c\/p\u003e","products":[{"product_id":"timemore-pucks-calibrated-tamper-58-4mm-2-3in","title":"TIMEMORE PUCKS Calibrated Tamper (⌀58.4mm\/2.3in)","description":"\u003cdiv style=\"max-width: 920px; margin: 0 auto; color: #2b2b2b; line-height: 1.65; font-size: 16px; font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\"\u003e\u003c!-- ===== ADVANCED ANIMATION STYLES ===== --\u003e\u003c\/div\u003e\n\u003cstyle\u003e\n  @keyframes fadeInUp {\n    from { opacity: 0; transform: translateY(20px); }\n    to { opacity: 1; transform: translateY(0); }\n  }\n  @keyframes fadeInDown {\n    from { opacity: 0; transform: translateY(-20px); }\n    to { opacity: 1; transform: translateY(0); }\n  }\n  @keyframes pulse {\n    0%, 100% { transform: scale(1); }\n    50% { transform: scale(1.03); }\n  }\n  @keyframes shimmer {\n    0% { background-position: -200% 0; }\n    100% { background-position: 200% 0; }\n  }\n  @keyframes float {\n    0%, 100% { transform: translateY(0); }\n    50% { transform: translateY(-6px); }\n  }\n  @keyframes steamRise {\n    0% { opacity: 0; transform: translateY(0) scale(1) rotate(0deg); }\n    25% { opacity: 0.5; }\n    50% { transform: translateY(-15px) scale(1.2) rotate(5deg); }\n    75% { opacity: 0.3; }\n    100% { opacity: 0; transform: translateY(-30px) scale(1.5) rotate(-5deg); }\n  }\n  @keyframes tampPress {\n    0%, 100% { transform: translateY(0) scaleY(1); }\n    35% { transform: translateY(7px) scaleY(0.96); }\n    55% { transform: translateY(7px) scaleY(0.96); }\n    75% { transform: translateY(0) scaleY(1); }\n  }\n  @keyframes clickRing {\n    0%, 100% { opacity: 0; transform: scale(0.6); }\n    42% { opacity: 0; transform: scale(0.6); }\n    55% { opacity: 0.9; transform: scale(1); }\n    72% { opacity: 0; transform: scale(1.5); }\n  }\n  @keyframes bounce {\n    0%, 100% { transform: translateY(0); }\n    50% { transform: translateY(-4px); }\n  }\n  @keyframes slideInLeft {\n    from { opacity: 0; transform: translateX(-25px); }\n    to { opacity: 1; transform: translateX(0); }\n  }\n  @keyframes slideInRight {\n    from { opacity: 0; transform: translateX(25px); }\n    to { opacity: 1; transform: translateX(0); }\n  }\n  @keyframes scaleIn {\n    from { opacity: 0; transform: scale(0.85); }\n    to { opacity: 1; transform: scale(1); }\n  }\n  @keyframes gradientShift {\n    0% { background-position: 0% 50%; }\n    50% { background-position: 100% 50%; }\n    100% { background-position: 0% 50%; }\n  }\n  @keyframes ripple {\n    0% { box-shadow: 0 0 0 0 rgba(74,31,63,0.4); }\n    70% { box-shadow: 0 0 0 12px rgba(74,31,63,0); }\n    100% { box-shadow: 0 0 0 0 rgba(74,31,63,0); }\n  }\n  @keyframes sparkle {\n    0%, 100% { opacity: 0; transform: scale(0) rotate(0deg); }\n    50% { opacity: 1; transform: scale(1) rotate(180deg); }\n  }\n  @keyframes wobble {\n    0%, 100% { transform: rotate(0deg); }\n    25% { transform: rotate(-3deg); }\n    75% { transform: rotate(3deg); }\n  }\n  @keyframes slideUpReveal {\n    0% { clip-path: inset(100% 0 0 0); }\n    100% { clip-path: inset(0 0 0 0); }\n  }\n  @keyframes heartbeat {\n    0%, 100% { transform: scale(1); }\n    10%, 30% { transform: scale(1.08); }\n    20%, 40% { transform: scale(1); }\n  }\n  @keyframes colorPop {\n    0%, 100% { background: #4A1F3F; }\n    50% { background: #6b3059; }\n  }\n  @keyframes shimmerWave {\n    0% { transform: translateX(-100%); }\n    100% { transform: translateX(100%); }\n  }\n  @keyframes glowPulse {\n    0%, 100% { text-shadow: 0 0 5px rgba(74,31,63,0.3); }\n    50% { text-shadow: 0 0 15px rgba(74,31,63,0.6), 0 0 5px rgba(201,169,106,0.4); }\n  }\n  @keyframes bounceIn {\n    0% { opacity: 0; transform: scale(0.3); }\n    50% { opacity: 1; transform: scale(1.05); }\n    70% { transform: scale(0.9); }\n    100% { transform: scale(1); }\n  }\n  @keyframes rotateGlow {\n    0% { transform: rotate(0deg); filter: brightness(1); }\n    50% { transform: rotate(180deg); filter: brightness(1.2); }\n    100% { transform: rotate(360deg); filter: brightness(1); }\n  }\n  @keyframes moveUpgrade {\n    0% { left: 0%; opacity: 0; transform: translateX(0) scale(0.8); }\n    10% { opacity: 1; transform: translateX(0) scale(1); }\n    45% { opacity: 1; transform: translateX(0) scale(1); }\n    50% { opacity: 0; transform: translateX(0) scale(0.8); }\n    51% { left: 100%; opacity: 0; transform: translateX(-100%) scale(0.8); }\n    60% { opacity: 1; transform: translateX(-100%) scale(1); }\n    95% { opacity: 1; transform: translateX(-100%) scale(1); }\n    100% { opacity: 0; transform: translateX(-100%) scale(0.8); }\n  }\n  @keyframes moveArrow {\n    0% { left: 0%; opacity: 0; transform: translateX(0) translateY(-10px); }\n    10% { opacity: 1; transform: translateX(0) translateY(0); }\n    45% { opacity: 1; transform: translateX(0) translateY(0); }\n    50% { opacity: 0; transform: translateX(0) translateY(10px); }\n    51% { left: 100%; opacity: 0; transform: translateX(-100%) translateY(10px); }\n    60% { opacity: 1; transform: translateX(-100%) translateY(0); }\n    95% { opacity: 1; transform: translateX(-100%) translateY(0); }\n    100% { opacity: 0; transform: translateX(-100%) translateY(-10px); }\n  }\n  @keyframes upgradeGlow {\n    0%, 100% { box-shadow: 0 2px 12px rgba(201,169,106,0.6), 0 0 0 rgba(255,215,0,0); }\n    50% { box-shadow: 0 4px 20px rgba(201,169,106,0.9), 0 0 15px rgba(255,215,0,0.5); }\n  }\n  @keyframes arrowPulse {\n    0%, 100% { transform: translateX(0) translateY(0) scale(1); filter: brightness(1); }\n    50% { transform: translateX(0) translateY(0) scale(1.2); filter: brightness(1.3); }\n  }\n  @keyframes arFloat {\n    0%, 100% { transform: translateY(0) rotateX(0deg); }\n    50% { transform: translateY(-12px) rotateX(5deg); }\n  }\n  @keyframes arHover {\n    0%, 100% { transform: translateY(0) scale(1); }\n    50% { transform: translateY(-8px) scale(1.02); }\n  }\n  @keyframes scanline {\n    0% { top: 0%; opacity: 0; }\n    10% { opacity: 1; }\n    90% { opacity: 1; }\n    100% { top: 100%; opacity: 0; }\n  }\n  @keyframes particleFloat {\n    0%, 100% { transform: translateY(0) translateX(0); opacity: 0.6; }\n    50% { transform: translateY(-20px) translateX(10px); opacity: 1; }\n  }\n  @keyframes arGlow {\n    0%, 100% { box-shadow: 0 0 20px rgba(74,31,63,0.3), 0 0 40px rgba(201,169,106,0.2); }\n    50% { box-shadow: 0 0 40px rgba(74,31,63,0.5), 0 0 80px rgba(201,169,106,0.4); }\n  }\n  @keyframes techRotate {\n    0% { transform: rotate(0deg); opacity: 0.3; }\n    50% { transform: rotate(180deg); opacity: 0.8; }\n    100% { transform: rotate(360deg); opacity: 0.3; }\n  }\n  @keyframes dataPulse {\n    0%, 100% { opacity: 0.4; transform: scale(1); }\n    50% { opacity: 1; transform: scale(1.05); }\n  }\n  @keyframes holoFade {\n    0%, 100% { opacity: 0.3; }\n    50% { opacity: 0.8; }\n  }\n  @keyframes mapleFloat {\n    0%, 100% { transform: translateY(0) rotate(0deg); }\n    50% { transform: translateY(-6px) rotate(6deg); }\n  }\n  @keyframes mapleRotate {\n    0%, 100% { transform: rotate(0deg); }\n    25% { transform: rotate(-6deg); }\n    75% { transform: rotate(6deg); }\n  }\n  @keyframes pulseGlow {\n    0%, 100% { opacity: 0.5; transform: translate(-50%, -50%) scale(1); }\n    50% { opacity: 0.9; transform: translate(-50%, -50%) scale(1.08); }\n  }\n  @keyframes textShimmer {\n    0%, 100% { opacity: 1; }\n    50% { opacity: 0.75; }\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"max-width: 920px; margin: 0 auto; color: #2b2b2b; line-height: 1.65; font-size: 16px; font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\"\u003e\n\u003c!-- ===== INTRO ===== --\u003e\n\u003cdiv style=\"animation: fadeInUp 0.8s ease-out; position: relative;\"\u003e\n\u003cp style=\"font-size: 18px; margin: 0 0 6px 0; animation: fadeInUp 0.8s ease-out 0.2s both; position: relative; z-index: 1;\"\u003eThe \u003cspan style=\"color: #4a1f3f; text-decoration: underline; display: inline-block;\"\u003eTIMEMORE PUCKS Calibrated Tamper\u003c\/span\u003e delivers repeatable 30 lb tamping pressure with every press, helping home baristas build a more even espresso puck with less guesswork.\u003c\/p\u003e\n\u003cp style=\"font-size: 15px; color: #666; margin: 0 0 20px 0; animation: fadeInUp 0.8s ease-out 0.3s both; position: relative;\"\u003eDesigned for standard 58 mm portafilter baskets, its 58.4 mm stainless-steel base, progressive spring mechanism, satisfying click, and ergonomic grip create a consistent tamping workflow for espresso setups at home or in smaller professional environments.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ===== QUICK FACTS STRIP ===== --\u003e\n\u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 28px 0;\"\u003e\n\u003cdiv style=\"flex: 1 1 130px; min-width: 130px; background: #faf8f9; border: 1px solid #ece3e8; border-radius: 10px; padding: 12px 10px; text-align: center; animation: bounceIn 0.8s ease-out 0.2s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"font-size: 22px; animation: tampPress 2.8s ease-in-out infinite; position: relative; z-index: 1;\"\u003e⬇️\u003c\/div\u003e\n\u003cdiv style=\"font-size: 12px; color: #8a7a83; text-transform: uppercase; letter-spacing: 0.5px; margin-top: 4px; position: relative; z-index: 1;\"\u003ePressure\u003c\/div\u003e\n\u003cdiv style=\"font-size: 14px; font-weight: 600; color: #4a1f3f; position: relative; z-index: 1;\"\u003e30 lb\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 130px; min-width: 130px; background: #faf8f9; border: 1px solid #ece3e8; border-radius: 10px; padding: 12px 10px; text-align: center; animation: bounceIn 0.8s ease-out 0.3s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"font-size: 22px; animation: pulse 2s ease-in-out infinite; position: relative; z-index: 1;\"\u003e⭕\u003c\/div\u003e\n\u003cdiv style=\"font-size: 12px; color: #8a7a83; text-transform: uppercase; letter-spacing: 0.5px; margin-top: 4px; position: relative; z-index: 1;\"\u003eBase Size\u003c\/div\u003e\n\u003cdiv style=\"font-size: 14px; font-weight: 600; color: #4a1f3f; position: relative; z-index: 1;\"\u003e58.4 mm\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 130px; min-width: 130px; background: #faf8f9; border: 1px solid #ece3e8; border-radius: 10px; padding: 12px 10px; text-align: center; animation: bounceIn 0.8s ease-out 0.4s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"font-size: 22px; animation: heartbeat 2s ease-in-out infinite; position: relative; z-index: 1;\"\u003e🎯\u003c\/div\u003e\n\u003cdiv style=\"font-size: 12px; color: #8a7a83; text-transform: uppercase; letter-spacing: 0.5px; margin-top: 4px; position: relative; z-index: 1;\"\u003eStyle\u003c\/div\u003e\n\u003cdiv style=\"font-size: 14px; font-weight: 600; color: #4a1f3f; position: relative; z-index: 1;\"\u003eCalibrated\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 130px; min-width: 130px; background: #faf8f9; border: 1px solid #ece3e8; border-radius: 10px; padding: 12px 10px; text-align: center; animation: bounceIn 0.8s ease-out 0.5s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"font-size: 22px; animation: wobble 3s ease-in-out infinite; position: relative; z-index: 1;\"\u003e⚙️\u003c\/div\u003e\n\u003cdiv style=\"font-size: 12px; color: #8a7a83; text-transform: uppercase; letter-spacing: 0.5px; margin-top: 4px; position: relative; z-index: 1;\"\u003eMechanism\u003c\/div\u003e\n\u003cdiv style=\"font-size: 14px; font-weight: 600; color: #4a1f3f; position: relative; z-index: 1;\"\u003eSpring Loaded\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ===== CONSISTENCY BAR ===== --\u003e\n\u003cdiv style=\"background: #faf8f9; border: 1px solid #ece3e8; border-radius: 10px; padding: 14px 18px; margin: 0 0 28px 0; animation: fadeInUp 0.8s ease-out 0.6s both; position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent); animation: shimmerWave 2s ease-in-out infinite 1s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; position: relative; z-index: 1;\"\u003e\n\u003cspan style=\"font-size: 14px; font-weight: 600; color: #4a1f3f; animation: glowPulse 2s ease-in-out infinite;\"\u003eTAMP CONSISTENCY\u003c\/span\u003e \u003cspan style=\"font-size: 13px; color: #666; animation: fadeInDown 0.8s ease-out 0.3s both;\"\u003eManual Feel • Calibrated Force\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"position: relative; margin-top: 12px;\"\u003e\n\u003cdiv style=\"display: flex; gap: 4px; position: relative; z-index: 1;\"\u003e\n\u003cdiv style=\"flex: 1; height: 10px; border-radius: 5px; background: linear-gradient(90deg, #4A1F3F, #6b3059, #4A1F3F); animation: fadeInUp 0.6s ease-out 0.2s both, gradientShift 3s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"flex: 1; height: 10px; border-radius: 5px; background: linear-gradient(90deg, #4A1F3F, #6b3059, #4A1F3F); animation: fadeInUp 0.6s ease-out 0.3s both, gradientShift 3s ease-in-out infinite 0.2s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"flex: 1; height: 10px; border-radius: 5px; background: linear-gradient(90deg, #4A1F3F, #6b3059, #4A1F3F); animation: fadeInUp 0.6s ease-out 0.4s both, gradientShift 3s ease-in-out infinite 0.4s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"flex: 1; height: 10px; border-radius: 5px; background: linear-gradient(90deg, #4A1F3F, #6b3059, #4A1F3F); animation: fadeInUp 0.6s ease-out 0.5s both, gradientShift 3s ease-in-out infinite 0.6s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"flex: 1; height: 10px; border-radius: 5px; background: linear-gradient(90deg, #4A1F3F, #6b3059, #4A1F3F); animation: fadeInUp 0.6s ease-out 0.6s both, gradientShift 3s ease-in-out infinite 0.8s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 8px; left: 0; width: 100%; height: 10px; pointer-events: none; z-index: 2;\"\u003e\n\u003cdiv style=\"position: absolute; background: linear-gradient(135deg, #c9a96a, #ffd700, #c9a96a); color: #4a1f3f; font-size: 10px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; padding: 3px 10px; border-radius: 12px; white-space: nowrap; box-shadow: 0 2px 8px rgba(201,169,106,0.5); animation: moveUpgrade 6s ease-in-out infinite, upgradeGlow 2s ease-in-out infinite 0.5s;\"\u003e30 LB\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 6px; left: 0; width: 100%; height: 10px; pointer-events: none; z-index: 2;\"\u003e\n\u003cdiv style=\"position: absolute; color: #c9a96a; font-size: 16px; line-height: 1; animation: moveArrow 6s ease-in-out infinite, arrowPulse 2s ease-in-out infinite 0.5s;\"\u003e▼\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"display: flex; justify-content: space-between; margin-top: 14px; position: relative; z-index: 1;\"\u003e\n\u003cspan style=\"font-size: 11px; color: #999;\"\u003eUneven Hand Pressure\u003c\/span\u003e \u003cspan style=\"font-size: 11px; color: #999;\"\u003eRepeatable Puck Prep\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp style=\"margin: 8px 0 0 0; font-size: 12.5px; color: #8a7a83; position: relative; z-index: 1;\"\u003eA calibrated tamper does not replace good grinding or distribution, but it removes one variable by giving you a repeatable reference pressure every time you tamp.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ===== FEATURE CARDS ===== --\u003e\n\u003ch3 style=\"font-size: 20px; color: #4a1f3f; margin: 0 0 14px 0; animation: slideInLeft 0.6s ease-out; position: relative; display: inline-block;\"\u003eWhy Choose the TIMEMORE PUCKS Tamper \u003cspan style=\"position: absolute; bottom: -4px; left: 0; width: 40px; height: 2px; background: linear-gradient(90deg, #4A1F3F, #c9a96a); animation: slideUpReveal 0.8s ease-out 0.5s both;\"\u003e\u003c\/span\u003e\n\u003c\/h3\u003e\n\u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 14px; margin: 0 0 28px 0;\"\u003e\n\u003cdiv style=\"flex: 1 1 270px; background: #ffffff; border: 1px solid #ece3e8; border-top: 4px solid #4A1F3F; padding: 16px 18px; border-radius: 10px; animation: fadeInUp 0.8s ease-out 0.4s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.08), transparent); animation: shimmerWave 3s ease-in-out infinite 1s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"font-size: 13px; color: #b39aa9; font-weight: bold; letter-spacing: 1px; animation: rotateGlow 8s linear infinite; display: inline-block; padding: 4px 10px; background: linear-gradient(135deg, #f7f3f6, #ffffff); border-radius: 20px; border: 1px solid #ece3e8;\"\u003e01\u003c\/div\u003e\n\u003cp style=\"margin: 6px 0;\"\u003e\u003cstrong\u003eRepeatable 30 lb Pressure\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"margin: 0; font-size: 14.5px; color: #555;\"\u003eThe calibrated mechanism is designed to apply approximately 30 lb of tamping force at every press, helping you create a more repeatable workflow from shot to shot.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 270px; background: #ffffff; border: 1px solid #ece3e8; border-top: 4px solid #4A1F3F; padding: 16px 18px; border-radius: 10px; animation: fadeInUp 0.8s ease-out 0.5s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.08), transparent); animation: shimmerWave 3.2s ease-in-out infinite 1.2s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"font-size: 13px; color: #b39aa9; font-weight: bold; letter-spacing: 1px; animation: heartbeat 2s ease-in-out infinite; display: inline-block; padding: 4px 10px; background: linear-gradient(135deg, #f7f3f6, #ffffff); border-radius: 20px; border: 1px solid #ece3e8;\"\u003e02\u003c\/div\u003e\n\u003cp style=\"margin: 6px 0;\"\u003e\u003cstrong\u003eProgressive Spring System\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"margin: 0; font-size: 14.5px; color: #555;\"\u003eInstead of releasing pressure all at once, the spring-loaded design ramps up force progressively to help you compress the coffee bed smoothly and consistently.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 270px; background: #ffffff; border: 1px solid #ece3e8; border-top: 4px solid #4A1F3F; padding: 16px 18px; border-radius: 10px; animation: fadeInUp 0.8s ease-out 0.6s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.08), transparent); animation: shimmerWave 3.4s ease-in-out infinite 1.4s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"font-size: 13px; color: #b39aa9; font-weight: bold; letter-spacing: 1px; animation: bounce 2s ease-in-out infinite; display: inline-block; padding: 4px 10px; background: linear-gradient(135deg, #f7f3f6, #ffffff); border-radius: 20px; border: 1px solid #ece3e8;\"\u003e03\u003c\/div\u003e\n\u003cp style=\"margin: 6px 0;\"\u003e\u003cstrong\u003e58.4 mm Precision Base\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"margin: 0; font-size: 14.5px; color: #555;\"\u003eThe 58.4 mm stainless-steel base is designed to work with most standard 58 mm portafilter baskets, helping cover more of the coffee bed while maintaining a premium fit and feel.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 270px; background: #ffffff; border: 1px solid #ece3e8; border-top: 4px solid #4A1F3F; padding: 16px 18px; border-radius: 10px; animation: fadeInUp 0.8s ease-out 0.7s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.08), transparent); animation: shimmerWave 3.6s ease-in-out infinite 1.6s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"font-size: 13px; color: #b39aa9; font-weight: bold; letter-spacing: 1px; animation: rotateGlow 8s linear infinite reverse; display: inline-block; padding: 4px 10px; background: linear-gradient(135deg, #f7f3f6, #ffffff); border-radius: 20px; border: 1px solid #ece3e8;\"\u003e04\u003c\/div\u003e\n\u003cp style=\"margin: 6px 0;\"\u003e\u003cstrong\u003eComfortable Ergonomic Grip\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"margin: 0; font-size: 14.5px; color: #555;\"\u003eSoft, rounded edges fit naturally in the palm and make the tamper easy to handle. Choose a walnut or matte-black aluminum grip to suit your espresso station.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ===== FIT CHECK ===== --\u003e\n\u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 14px; margin: 0 0 28px 0;\"\u003e\n\u003cdiv style=\"flex: 1 1 270px; background: #f3faf5; border: 1px solid #d7ecd0; border-radius: 10px; padding: 16px 18px; animation: slideInLeft 0.8s ease-out 0.8s both; position: relative; overflow: hidden;\"\u003e\n\u003cspan style=\"position: absolute; top: 10px; right: 15px; font-size: 16px; color: #6e9877; animation: sparkle 2s ease-in-out infinite; display: inline-block;\"\u003e✨\u003c\/span\u003e \u003cspan style=\"position: absolute; top: 20px; right: 35px; font-size: 12px; color: #6e9877; animation: sparkle 2s ease-in-out infinite 0.5s; display: inline-block;\"\u003e✨\u003c\/span\u003e\n\u003cp style=\"margin: 0 0 8px 0;\"\u003e\u003cstrong style=\"animation: pulse 2s ease-in-out infinite; display: inline-block;\"\u003e✓ Perfect for you if…\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul style=\"margin: 0; padding-left: 18px; font-size: 14.5px; color: #444;\"\u003e\n\u003cli style=\"animation: fadeInUp 0.6s ease-out 0.2s both; animation-delay: 0.9s;\"\u003eYou use a standard 58 mm portafilter basket.\u003c\/li\u003e\n\u003cli style=\"animation: fadeInUp 0.6s ease-out 0.2s both; animation-delay: 1s;\"\u003eYou want to remove inconsistent tamp pressure from your routine.\u003c\/li\u003e\n\u003cli style=\"animation: fadeInUp 0.6s ease-out 0.2s both; animation-delay: 1.1s;\"\u003eYou are upgrading your home espresso station with durable barista tools.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 270px; background: #f7f4fb; border: 1px solid #e2dcef; border-radius: 10px; padding: 16px 18px; animation: slideInRight 0.8s ease-out 0.9s both; position: relative; overflow: hidden;\"\u003e\n\u003cspan style=\"position: absolute; top: 8px; right: 12px; font-size: 18px; animation: float 3s ease-in-out infinite; display: inline-block;\"\u003e☕\u003c\/span\u003e\n\u003cdiv style=\"position: absolute; top: 0; right: 20px; width: 3px; height: 10px; background: linear-gradient(to top, rgba(74,31,63,0.2), transparent); border-radius: 50%; filter: blur(2px); animation: steamRise 2s ease-in-out infinite 0.2s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cp style=\"margin: 0 0 8px 0;\"\u003e\u003cstrong style=\"animation: wobble 3s ease-in-out infinite; display: inline-block;\"\u003e☕ A better puck-prep routine\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"margin: 0; font-size: 14.5px; color: #444;\"\u003eFor best results, distribute your coffee evenly, tamp on a stable surface, then focus on grind adjustment and dose. The PUCKS tamper helps make tamping the most consistent part of that routine.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ===== TECH \/ PRESS BLOCK ===== --\u003e\n\u003ch3 style=\"font-size: 20px; color: #4a1f3f; margin: 28px 0 14px 0; animation: slideInLeft 0.6s ease-out; position: relative; display: inline-block;\"\u003ePrecision You Can Feel \u003cspan style=\"position: absolute; bottom: -4px; left: 0; width: 40px; height: 2px; background: linear-gradient(90deg, #4A1F3F, #c9a96a); animation: slideUpReveal 0.8s ease-out 0.5s both;\"\u003e\u003c\/span\u003e\n\u003c\/h3\u003e\n\u003cdiv style=\"background: linear-gradient(135deg, #1a0f1a 0%, #2d1f2d 50%, #1a0f1a 100%); border: 2px solid #4A1F3F; border-radius: 16px; padding: 28px; margin: 0 0 28px 0; animation: fadeInUp 0.8s ease-out 1s both; position: relative; overflow: hidden; box-shadow: 0 8px 32px rgba(74,31,63,0.3);\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: 0; right: 0; bottom: 0; opacity: 0.1; background-image: linear-gradient(rgba(201,169,106,0.3) 1px, transparent 1px), linear-gradient(90deg, rgba(201,169,106,0.3) 1px, transparent 1px); background-size: 30px 30px; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 20%; left: 15%; width: 6px; height: 6px; background: rgba(201,169,106,0.6); border-radius: 50%; filter: blur(2px); animation: particleFloat 4s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 60%; left: 80%; width: 8px; height: 8px; background: rgba(201,169,106,0.5); border-radius: 50%; filter: blur(2px); animation: particleFloat 5s ease-in-out infinite 1s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 40%; left: 90%; width: 5px; height: 5px; background: rgba(201,169,106,0.4); border-radius: 50%; filter: blur(2px); animation: particleFloat 4.5s ease-in-out infinite 0.5s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 80%; left: 25%; width: 7px; height: 7px; background: rgba(201,169,106,0.5); border-radius: 50%; filter: blur(2px); animation: particleFloat 5.5s ease-in-out infinite 1.5s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 280px; height: 280px; border: 2px solid rgba(201,169,106,0.15); border-radius: 50%; animation: techRotate 20s linear infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 320px; height: 320px; border: 1px dashed rgba(201,169,106,0.1); border-radius: 50%; animation: techRotate 30s linear infinite reverse;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.6), transparent); animation: scanline 3s ease-in-out infinite; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: relative; z-index: 1; text-align: center;\"\u003e\n\u003cdiv style=\"margin: 0 auto 20px auto; width: 110px; height: 110px; position: relative;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(circle, rgba(201,169,106,0.3), transparent 70%); border-radius: 50%; animation: arGlow 3s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 25px; left: 29px; width: 52px; height: 52px; border-radius: 50%; background: linear-gradient(145deg, #c9a96a, #f4d493, #8d6632); border: 3px solid rgba(255,255,255,0.3); box-shadow: 0 7px 0 #5a3d1d, 0 12px 18px rgba(0,0,0,0.35); animation: tampPress 2.8s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 72px; left: 18px; width: 74px; height: 6px; background: rgba(201,169,106,0.45); border-radius: 50%; filter: blur(2px); animation: clickRing 2.8s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 20px; left: 20px; width: 70px; height: 70px; border: 2px solid rgba(201,169,106,0.7); border-radius: 50%; animation: clickRing 2.8s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background: rgba(74,31,63,0.3); border: 1px solid rgba(201,169,106,0.3); border-radius: 12px; padding: 18px; margin: 0 auto 24px auto; max-width: 440px; backdrop-filter: blur(10px);\"\u003e\n\u003cdiv style=\"display: flex; justify-content: space-around; margin-bottom: 16px; flex-wrap: wrap; gap: 12px;\"\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cdiv style=\"font-size: 24px; font-weight: bold; color: #c9a96a; animation: dataPulse 2s ease-in-out infinite;\"\u003e30 lb\u003c\/div\u003e\n\u003cdiv style=\"font-size: 11px; color: #b39aa9; text-transform: uppercase; letter-spacing: 1px; margin-top: 4px;\"\u003eCalibrated Force\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cdiv style=\"font-size: 24px; font-weight: bold; color: #c9a96a; animation: dataPulse 2s ease-in-out infinite 0.3s;\"\u003e58.4 mm\u003c\/div\u003e\n\u003cdiv style=\"font-size: 11px; color: #b39aa9; text-transform: uppercase; letter-spacing: 1px; margin-top: 4px;\"\u003eBase Diameter\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cdiv style=\"font-size: 24px; font-weight: bold; color: #c9a96a; animation: dataPulse 2s ease-in-out infinite 0.6s;\"\u003eClick\u003c\/div\u003e\n\u003cdiv style=\"font-size: 11px; color: #b39aa9; text-transform: uppercase; letter-spacing: 1px; margin-top: 4px;\"\u003eTactile Feedback\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"height: 2px; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.5), transparent); margin: 12px 0;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"font-size: 11px; color: #b39aa9; letter-spacing: 2px; text-transform: uppercase;\"\u003eCalibrated Espresso Preparation\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; background: linear-gradient(135deg, #4A1F3F 0%, #6b3059 50%, #4A1F3F 100%); background-size: 200% 100%; color: #ffffff; padding: 20px 40px; border-radius: 20px; font-size: 16px; font-weight: bold; box-shadow: 0 8px 32px rgba(74,31,63,0.4), inset 0 2px 8px rgba(255,255,255,0.1); position: relative; overflow: hidden; animation: arHover 4s ease-in-out infinite;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.3), transparent); animation: shimmerWave 3s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan style=\"font-size: 28px; animation: tampPress 2.8s ease-in-out infinite; position: relative; z-index: 1;\"\u003e⬇️\u003c\/span\u003e \u003cspan style=\"position: relative; z-index: 1; letter-spacing: 1px;\"\u003ePRESS. CLICK. REPEAT.\u003c\/span\u003e \u003cspan style=\"font-size: 10px; color: #c9a96a; text-transform: uppercase; letter-spacing: 2px; position: relative; z-index: 1;\"\u003eA Better Espresso Routine\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp style=\"margin: 20px 0 0 0; font-size: 13px; color: #b39aa9; line-height: 1.6; max-width: 520px; margin-left: auto; margin-right: auto;\"\u003eGood espresso comes from controlling variables. With tamping pressure standardized, you can focus more confidently on distribution, dose, grind size, extraction time, and taste.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ===== PROUDLY CANADIAN \/ ANTHONY'S BANNER ===== --\u003e\n\u003cdiv style=\"margin: 32px 0; animation: fadeInUp 0.9s ease-out 1.2s both; position: relative;\"\u003e\n\u003cdiv style=\"position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 360px; height: 360px; background: radial-gradient(circle, rgba(201,169,106,0.18), transparent 65%); border-radius: 50%; pointer-events: none; animation: pulseGlow 3s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"display: flex; align-items: center; justify-content: center; gap: 22px; background: linear-gradient(135deg, #4A1F3F 0%, #6b3059 50%, #4A1F3F 100%); background-size: 200% 100%; color: #ffffff; padding: 26px 38px; border-radius: 22px; box-shadow: 0 10px 36px rgba(74,31,63,0.35); position: relative; overflow: hidden; animation: gradientShift 5s ease-in-out infinite, arFloat 5s ease-in-out infinite; max-width: 660px; margin: 0 auto; border: 1px solid rgba(201,169,106,0.4);\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 22px; box-shadow: inset 0 0 24px rgba(201,169,106,0.25); animation: holoFade 3s ease-in-out infinite; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.18), transparent); animation: shimmerWave 3s ease-in-out infinite 1s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: 0; right: 0; bottom: 0; opacity: 0.12; background-image: linear-gradient(rgba(201,169,106,0.4) 1px, transparent 1px), linear-gradient(90deg, rgba(201,169,106,0.4) 1px, transparent 1px); background-size: 28px 28px; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"font-size: 44px; animation: mapleFloat 3.5s ease-in-out infinite, mapleRotate 7s ease-in-out infinite; position: relative; z-index: 1; filter: drop-shadow(0 4px 8px rgba(0,0,0,0.4));\"\u003e🍁\u003c\/div\u003e\n\u003cdiv style=\"display: flex; flex-direction: column; align-items: center; position: relative; z-index: 1;\"\u003e\n\u003cspan style=\"font-size: 14px; font-weight: bold; letter-spacing: 4px; text-transform: uppercase; color: #c9a96a; animation: textShimmer 2.5s ease-in-out infinite;\"\u003eProudly\u003c\/span\u003e \u003cspan style=\"font-size: 30px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; margin-top: 2px; text-shadow: 0 2px 12px rgba(201,169,106,0.5); animation: glowPulse 2.5s ease-in-out infinite;\"\u003eCanadian\u003c\/span\u003e \u003cspan style=\"display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: #e8d4c0;\"\u003e \u003cspan style=\"width: 30px; height: 1px; background: linear-gradient(90deg, transparent, #c9a96a);\"\u003e\u003c\/span\u003e Anthony’s Espresso \u003cspan style=\"width: 30px; height: 1px; background: linear-gradient(90deg, #c9a96a, transparent);\"\u003e\u003c\/span\u003e \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"font-size: 44px; animation: mapleFloat 3.5s ease-in-out infinite 0.6s, mapleRotate 7s ease-in-out infinite reverse; position: relative; z-index: 1; filter: drop-shadow(0 4px 8px rgba(0,0,0,0.4));\"\u003e🍁\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp style=\"margin: 16px 0 0 0; font-size: 13px; color: #8a7a83; text-align: center; line-height: 1.6; animation: fadeInUp 0.6s ease-out 0.4s both;\"\u003eVisit Anthony’s Espresso in Vaughan or Toronto for espresso machines, grinders, tampers, coffee, parts, accessories, and practical setup advice.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ===== FULL SPEC TABLE ===== --\u003e\n\u003ch3 style=\"font-size: 20px; color: #4a1f3f; margin: 0 0 14px 0; animation: slideInLeft 0.6s ease-out; position: relative; display: inline-block;\"\u003eFull Specifications \u003cspan style=\"position: absolute; bottom: -4px; left: 0; width: 40px; height: 2px; background: linear-gradient(90deg, #4A1F3F, #c9a96a); animation: slideUpReveal 0.8s ease-out 0.5s both;\"\u003e\u003c\/span\u003e\n\u003c\/h3\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 14px; margin: 0 0 28px 0; animation: scaleIn 0.8s ease-out 1.1s both; border: 1px solid #ece3e8; border-radius: 10px; overflow: hidden; position: relative;\"\u003e\n\u003ctbody style=\"position: relative; z-index: 1;\"\u003e\n\u003ctr style=\"background: #4A1F3F; color: #ffffff;\"\u003e\n\u003ctd colspan=\"2\" style=\"padding: 10px 12px; border: 1px solid #4A1F3F;\"\u003e\u003cstrong\u003eProduct Information\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9; width: 45%;\"\u003e\u003cstrong\u003eRetail Name\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eTIMEMORE PUCKS Calibrated Tamper\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eManufacturer\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eTIMEMORE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eProduct Code\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eTIME-70TTA001AA101\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eType\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eCalibrated espresso tamper\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background: #4A1F3F; color: #ffffff;\"\u003e\n\u003ctd colspan=\"2\" style=\"padding: 10px 12px; border: 1px solid #4A1F3F;\"\u003e\u003cstrong\u003eTamping Specifications\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eBase Diameter\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003e58.4 mm \/ 2.3 in\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eCalibrated Pressure\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003e30 lb\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003ePressure System\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eSpring-loaded progressive pressure mechanism\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eFeedback\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eAudible\/tactile click at calibrated pressure\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eBasket Compatibility\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eMost standard 58 mm portafilter baskets\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background: #4A1F3F; color: #ffffff;\"\u003e\n\u003ctd colspan=\"2\" style=\"padding: 10px 12px; border: 1px solid #4A1F3F;\"\u003e\u003cstrong\u003eMaterials and Finish\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eTamper Base\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eStainless steel\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eGrip Options\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eWalnut or matte black aluminum\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eErgonomic Design\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eRounded palm-friendly grip\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c!-- ===== ANTHONY'S VALUE STRIP ===== --\u003e\n\u003cdiv style=\"background: linear-gradient(135deg, #4A1F3F 0%, #6b3059 100%); color: #ffffff; padding: 22px 24px; border-radius: 12px; margin: 0 0 20px 0; animation: fadeInUp 0.8s ease-out 1.3s both; box-shadow: 0 4px 16px rgba(74,31,63,0.2); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 200%; height: 200%; background: radial-gradient(circle, rgba(255,255,255,0.05) 0%, transparent 70%); animation: ripple 3s ease-out infinite; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.15), transparent); animation: shimmerWave 3s ease-in-out infinite 1s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cp style=\"margin: 0 0 12px 0; font-size: 17px; position: relative; z-index: 1;\"\u003e\u003cstrong style=\"animation: colorPop 3s ease-in-out infinite; display: inline-block; padding: 4px 12px; background: linear-gradient(135deg, #4A1F3F, #6b3059, #4A1F3F); background-size: 200% 100%; border-radius: 20px;\"\u003eThe Anthony’s Difference\u003c\/strong\u003e\u003c\/p\u003e\n\u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 10px 24px; font-size: 14px; position: relative; z-index: 1;\"\u003e\n\u003cspan style=\"animation: float 3s ease-in-out infinite; display: inline-flex; align-items: center; gap: 6px;\"\u003e\u003cspan style=\"animation: heartbeat 2s ease-in-out infinite;\"\u003e🔧\u003c\/span\u003e Espresso parts and accessories\u003c\/span\u003e \u003cspan style=\"animation: float 3s ease-in-out infinite 0.3s; display: inline-flex; align-items: center; gap: 6px;\"\u003e\u003cspan style=\"animation: wobble 3s ease-in-out infinite;\"\u003e🏪\u003c\/span\u003e Vaughan and Toronto showrooms\u003c\/span\u003e \u003cspan style=\"animation: float 3s ease-in-out infinite 0.6s; display: inline-flex; align-items: center; gap: 6px;\"\u003e\u003cspan style=\"animation: bounce 2s ease-in-out infinite;\"\u003e☕\u003c\/span\u003e Machines, grinders and coffee\u003c\/span\u003e \u003cspan style=\"animation: float 3s ease-in-out infinite 0.9s; display: inline-flex; align-items: center; gap: 6px;\"\u003e\u003cspan style=\"animation: sparkle 2s ease-in-out infinite;\"\u003e🇨🇦\u003c\/span\u003e Real local espresso advice\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ===== ANTHONY'S-ONLY CTA ===== --\u003e\n\u003cdiv style=\"background: linear-gradient(135deg, #faf8f9 0%, #f7f3f6 100%); border: 1px solid #ece3e8; border-radius: 12px; padding: 20px; animation: fadeInUp 0.8s ease-out 1.4s both; position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; right: 0; width: 160px; height: 160px; background: radial-gradient(circle, rgba(201,169,106,0.13), transparent 70%); animation: pulse 4s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cp style=\"font-size: 16px; color: #4a1f3f; margin: 0 0 10px 0; position: relative; z-index: 1;\"\u003e\u003cstrong\u003eBuilding a better home espresso station?\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"font-size: 14px; color: #555; margin: 0 0 16px 0; position: relative; z-index: 1;\"\u003eVisit Anthony’s Espresso in Vaughan or Toronto to find the right tamper, distribution tools, basket, grinder, and coffee for your machine. Our team can help you build a cleaner and more consistent espresso workflow.\u003c\/p\u003e\n\u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 10px; position: relative; z-index: 1;\"\u003e\n\u003ca href=\"https:\/\/anthonysespresso.com\/collections\/tampers-mats\" rel=\"noopener noreferrer\" style=\"flex: 1 1 220px; text-align: center; display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: linear-gradient(135deg, #4A1F3F, #6b3059); color: #ffffff; padding: 11px 18px; border-radius: 24px; font-size: 14px; font-weight: bold; text-decoration: none; box-shadow: 0 4px 12px rgba(74,31,63,0.25);\" target=\"_blank\"\u003e \u003cspan\u003eShop Tampers \u0026amp; Mats\u003c\/span\u003e \u003cspan style=\"font-size: 18px;\"\u003e➜\u003c\/span\u003e \u003c\/a\u003e \u003ca href=\"https:\/\/anthonysespresso.com\/pages\/contact\" rel=\"noopener noreferrer\" style=\"flex: 1 1 220px; text-align: center; display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: #ffffff; color: #4a1f3f; padding: 11px 18px; border-radius: 24px; font-size: 14px; font-weight: bold; text-decoration: none; border: 1px solid #4A1F3F; box-shadow: 0 4px 12px rgba(0,0,0,0.08);\" target=\"_blank\"\u003e \u003cspan\u003eVisit Our Showrooms\u003c\/span\u003e \u003cspan style=\"font-size: 18px;\"\u003e📍\u003c\/span\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003cp style=\"font-size: 13px; color: #8a7a83; margin: 14px 0 0 0; text-align: center; position: relative; z-index: 1;\"\u003eOr call Anthony’s Espresso at \u003ca href=\"tel:19052640433\" style=\"color: #4a1f3f; font-weight: bold; text-decoration: underline;\"\u003e905-264-0433\u003c\/a\u003e for help finding the right espresso accessory for your setup.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e```\u003c\/p\u003e","brand":"TIMEMORE","offers":[{"title":"Default Title","offer_id":51256980046076,"sku":null,"price":99.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/8529\/4588\/files\/b73b4db0-efbc-4119-b881-e11d3508ce4e.webp?v=1789232208"},{"product_id":"timemore-chestnut-c5-pro-grinder","title":"TIMEMORE Chestnut C5 PRO Grinder","description":"\u003cdiv style=\"max-width: 920px; margin: 0 auto; color: #2b2b2b; line-height: 1.65; font-size: 16px; font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\"\u003e\u003c!-- ===== ADVANCED ANIMATION STYLES ===== --\u003e\u003c\/div\u003e\n\u003cstyle\u003e\n  @keyframes fadeInUp {\n    from { opacity: 0; transform: translateY(20px); }\n    to { opacity: 1; transform: translateY(0); }\n  }\n  @keyframes fadeInDown {\n    from { opacity: 0; transform: translateY(-20px); }\n    to { opacity: 1; transform: translateY(0); }\n  }\n  @keyframes pulse {\n    0%, 100% { transform: scale(1); }\n    50% { transform: scale(1.03); }\n  }\n  @keyframes shimmer {\n    0% { background-position: -200% 0; }\n    100% { background-position: 200% 0; }\n  }\n  @keyframes float {\n    0%, 100% { transform: translateY(0); }\n    50% { transform: translateY(-6px); }\n  }\n  @keyframes grindRotate {\n    0% { transform: rotate(0deg); }\n    100% { transform: rotate(360deg); }\n  }\n  @keyframes grindHandle {\n    0%, 100% { transform: rotate(0deg); }\n    25% { transform: rotate(90deg); }\n    50% { transform: rotate(180deg); }\n    75% { transform: rotate(270deg); }\n  }\n  @keyframes beanDrop {\n    0% { opacity: 0; transform: translateY(-8px) rotate(0deg); }\n    20% { opacity: 1; }\n    80% { opacity: 1; transform: translateY(16px) rotate(180deg); }\n    100% { opacity: 0; transform: translateY(22px) rotate(240deg); }\n  }\n  @keyframes particleScatter {\n    0%, 100% { opacity: 0.25; transform: translateY(0) translateX(0) scale(0.8); }\n    50% { opacity: 1; transform: translateY(-14px) translateX(8px) scale(1.1); }\n  }\n  @keyframes bounce {\n    0%, 100% { transform: translateY(0); }\n    50% { transform: translateY(-4px); }\n  }\n  @keyframes slideInLeft {\n    from { opacity: 0; transform: translateX(-25px); }\n    to { opacity: 1; transform: translateX(0); }\n  }\n  @keyframes slideInRight {\n    from { opacity: 0; transform: translateX(25px); }\n    to { opacity: 1; transform: translateX(0); }\n  }\n  @keyframes scaleIn {\n    from { opacity: 0; transform: scale(0.85); }\n    to { opacity: 1; transform: scale(1); }\n  }\n  @keyframes gradientShift {\n    0% { background-position: 0% 50%; }\n    50% { background-position: 100% 50%; }\n    100% { background-position: 0% 50%; }\n  }\n  @keyframes ripple {\n    0% { box-shadow: 0 0 0 0 rgba(74,31,63,0.4); }\n    70% { box-shadow: 0 0 0 12px rgba(74,31,63,0); }\n    100% { box-shadow: 0 0 0 0 rgba(74,31,63,0); }\n  }\n  @keyframes sparkle {\n    0%, 100% { opacity: 0; transform: scale(0) rotate(0deg); }\n    50% { opacity: 1; transform: scale(1) rotate(180deg); }\n  }\n  @keyframes wobble {\n    0%, 100% { transform: rotate(0deg); }\n    25% { transform: rotate(-3deg); }\n    75% { transform: rotate(3deg); }\n  }\n  @keyframes slideUpReveal {\n    0% { clip-path: inset(100% 0 0 0); }\n    100% { clip-path: inset(0 0 0 0); }\n  }\n  @keyframes heartbeat {\n    0%, 100% { transform: scale(1); }\n    10%, 30% { transform: scale(1.08); }\n    20%, 40% { transform: scale(1); }\n  }\n  @keyframes colorPop {\n    0%, 100% { background: #4A1F3F; }\n    50% { background: #6b3059; }\n  }\n  @keyframes shimmerWave {\n    0% { transform: translateX(-100%); }\n    100% { transform: translateX(100%); }\n  }\n  @keyframes glowPulse {\n    0%, 100% { text-shadow: 0 0 5px rgba(74,31,63,0.3); }\n    50% { text-shadow: 0 0 15px rgba(74,31,63,0.6), 0 0 5px rgba(201,169,106,0.4); }\n  }\n  @keyframes bounceIn {\n    0% { opacity: 0; transform: scale(0.3); }\n    50% { opacity: 1; transform: scale(1.05); }\n    70% { transform: scale(0.9); }\n    100% { transform: scale(1); }\n  }\n  @keyframes rotateGlow {\n    0% { transform: rotate(0deg); filter: brightness(1); }\n    50% { transform: rotate(180deg); filter: brightness(1.2); }\n    100% { transform: rotate(360deg); filter: brightness(1); }\n  }\n  @keyframes moveUpgrade {\n    0% { left: 0%; opacity: 0; transform: translateX(0) scale(0.8); }\n    10% { opacity: 1; transform: translateX(0) scale(1); }\n    45% { opacity: 1; transform: translateX(0) scale(1); }\n    50% { opacity: 0; transform: translateX(0) scale(0.8); }\n    51% { left: 100%; opacity: 0; transform: translateX(-100%) scale(0.8); }\n    60% { opacity: 1; transform: translateX(-100%) scale(1); }\n    95% { opacity: 1; transform: translateX(-100%) scale(1); }\n    100% { opacity: 0; transform: translateX(-100%) scale(0.8); }\n  }\n  @keyframes moveArrow {\n    0% { left: 0%; opacity: 0; transform: translateX(0) translateY(-10px); }\n    10% { opacity: 1; transform: translateX(0) translateY(0); }\n    45% { opacity: 1; transform: translateX(0) translateY(0); }\n    50% { opacity: 0; transform: translateX(0) translateY(10px); }\n    51% { left: 100%; opacity: 0; transform: translateX(-100%) translateY(10px); }\n    60% { opacity: 1; transform: translateX(-100%) translateY(0); }\n    95% { opacity: 1; transform: translateX(-100%) translateY(0); }\n    100% { opacity: 0; transform: translateX(-100%) translateY(-10px); }\n  }\n  @keyframes upgradeGlow {\n    0%, 100% { box-shadow: 0 2px 12px rgba(201,169,106,0.6), 0 0 0 rgba(255,215,0,0); }\n    50% { box-shadow: 0 4px 20px rgba(201,169,106,0.9), 0 0 15px rgba(255,215,0,0.5); }\n  }\n  @keyframes arrowPulse {\n    0%, 100% { transform: translateX(0) translateY(0) scale(1); filter: brightness(1); }\n    50% { transform: translateX(0) translateY(0) scale(1.2); filter: brightness(1.3); }\n  }\n  @keyframes arFloat {\n    0%, 100% { transform: translateY(0) rotateX(0deg); }\n    50% { transform: translateY(-12px) rotateX(5deg); }\n  }\n  @keyframes arHover {\n    0%, 100% { transform: translateY(0) scale(1); }\n    50% { transform: translateY(-8px) scale(1.02); }\n  }\n  @keyframes scanline {\n    0% { top: 0%; opacity: 0; }\n    10% { opacity: 1; }\n    90% { opacity: 1; }\n    100% { top: 100%; opacity: 0; }\n  }\n  @keyframes particleFloat {\n    0%, 100% { transform: translateY(0) translateX(0); opacity: 0.6; }\n    50% { transform: translateY(-20px) translateX(10px); opacity: 1; }\n  }\n  @keyframes arGlow {\n    0%, 100% { box-shadow: 0 0 20px rgba(74,31,63,0.3), 0 0 40px rgba(201,169,106,0.2); }\n    50% { box-shadow: 0 0 40px rgba(74,31,63,0.5), 0 0 80px rgba(201,169,106,0.4); }\n  }\n  @keyframes techRotate {\n    0% { transform: rotate(0deg); opacity: 0.3; }\n    50% { transform: rotate(180deg); opacity: 0.8; }\n    100% { transform: rotate(360deg); opacity: 0.3; }\n  }\n  @keyframes dataPulse {\n    0%, 100% { opacity: 0.4; transform: scale(1); }\n    50% { opacity: 1; transform: scale(1.05); }\n  }\n  @keyframes holoFade {\n    0%, 100% { opacity: 0.3; }\n    50% { opacity: 0.8; }\n  }\n  @keyframes mapleFloat {\n    0%, 100% { transform: translateY(0) rotate(0deg); }\n    50% { transform: translateY(-6px) rotate(6deg); }\n  }\n  @keyframes mapleRotate {\n    0%, 100% { transform: rotate(0deg); }\n    25% { transform: rotate(-6deg); }\n    75% { transform: rotate(6deg); }\n  }\n  @keyframes pulseGlow {\n    0%, 100% { opacity: 0.5; transform: translate(-50%, -50%) scale(1); }\n    50% { opacity: 0.9; transform: translate(-50%, -50%) scale(1.08); }\n  }\n  @keyframes textShimmer {\n    0%, 100% { opacity: 1; }\n    50% { opacity: 0.75; }\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"max-width: 920px; margin: 0 auto; color: #2b2b2b; line-height: 1.65; font-size: 16px; font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\"\u003e\n\u003c!-- ===== INTRO ===== --\u003e\n\u003cdiv style=\"animation: fadeInUp 0.8s ease-out; position: relative;\"\u003e\n\u003cp style=\"font-size: 18px; margin: 0 0 6px 0; animation: fadeInUp 0.8s ease-out 0.2s both; position: relative; z-index: 1;\"\u003eThe \u003cspan style=\"color: #4a1f3f; text-decoration: underline; display: inline-block;\"\u003eTIMEMORE Chestnut C5 PRO Grinder\u003c\/span\u003e is a premium hand grinder built for coffee drinkers who want precise grind control, smoother daily grinding, and a compact all-metal design that travels as well as it performs at home.\u003c\/p\u003e\n\u003cp style=\"font-size: 15px; color: #666; margin: 0 0 20px 0; animation: fadeInUp 0.8s ease-out 0.3s both; position: relative;\"\u003eWith S2C 042-III 42 mm stainless-steel burrs, 48 grind settings, 0.031 mm adjustment per click, and a double-bearing central axis, the C5 PRO is designed to produce a tighter particle profile for cleaner flavour, better consistency, and more control from espresso through pour-over, French press, and cold brew.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ===== QUICK FACTS STRIP ===== --\u003e\n\u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 28px 0;\"\u003e\n\u003cdiv style=\"flex: 1 1 130px; min-width: 130px; background: #faf8f9; border: 1px solid #ece3e8; border-radius: 10px; padding: 12px 10px; text-align: center; animation: bounceIn 0.8s ease-out 0.2s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"font-size: 22px; animation: grindRotate 2.8s linear infinite; position: relative; z-index: 1;\"\u003e⚙️\u003c\/div\u003e\n\u003cdiv style=\"font-size: 12px; color: #8a7a83; text-transform: uppercase; letter-spacing: 0.5px; margin-top: 4px; position: relative; z-index: 1;\"\u003eBurrs\u003c\/div\u003e\n\u003cdiv style=\"font-size: 14px; font-weight: 600; color: #4a1f3f; position: relative; z-index: 1;\"\u003e42 mm S2C\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 130px; min-width: 130px; background: #faf8f9; border: 1px solid #ece3e8; border-radius: 10px; padding: 12px 10px; text-align: center; animation: bounceIn 0.8s ease-out 0.3s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"font-size: 22px; animation: wobble 3s ease-in-out infinite; position: relative; z-index: 1;\"\u003e🎚️\u003c\/div\u003e\n\u003cdiv style=\"font-size: 12px; color: #8a7a83; text-transform: uppercase; letter-spacing: 0.5px; margin-top: 4px; position: relative; z-index: 1;\"\u003eAdjustment\u003c\/div\u003e\n\u003cdiv style=\"font-size: 14px; font-weight: 600; color: #4a1f3f; position: relative; z-index: 1;\"\u003e48 Settings\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 130px; min-width: 130px; background: #faf8f9; border: 1px solid #ece3e8; border-radius: 10px; padding: 12px 10px; text-align: center; animation: bounceIn 0.8s ease-out 0.4s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"font-size: 22px; animation: pulse 2s ease-in-out infinite; position: relative; z-index: 1;\"\u003e📏\u003c\/div\u003e\n\u003cdiv style=\"font-size: 12px; color: #8a7a83; text-transform: uppercase; letter-spacing: 0.5px; margin-top: 4px; position: relative; z-index: 1;\"\u003ePrecision\u003c\/div\u003e\n\u003cdiv style=\"font-size: 14px; font-weight: 600; color: #4a1f3f; position: relative; z-index: 1;\"\u003e0.031 mm\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 130px; min-width: 130px; background: #faf8f9; border: 1px solid #ece3e8; border-radius: 10px; padding: 12px 10px; text-align: center; animation: bounceIn 0.8s ease-out 0.5s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"font-size: 22px; animation: float 3s ease-in-out infinite; position: relative; z-index: 1;\"\u003e🧳\u003c\/div\u003e\n\u003cdiv style=\"font-size: 12px; color: #8a7a83; text-transform: uppercase; letter-spacing: 0.5px; margin-top: 4px; position: relative; z-index: 1;\"\u003eUse\u003c\/div\u003e\n\u003cdiv style=\"font-size: 14px; font-weight: 600; color: #4a1f3f; position: relative; z-index: 1;\"\u003eHome + Travel\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ===== GRIND RANGE BAR ===== --\u003e\n\u003cdiv style=\"background: #faf8f9; border: 1px solid #ece3e8; border-radius: 10px; padding: 14px 18px; margin: 0 0 28px 0; animation: fadeInUp 0.8s ease-out 0.6s both; position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent); animation: shimmerWave 2s ease-in-out infinite 1s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; position: relative; z-index: 1;\"\u003e\n\u003cspan style=\"font-size: 14px; font-weight: 600; color: #4a1f3f; animation: glowPulse 2s ease-in-out infinite;\"\u003eBREW METHOD RANGE\u003c\/span\u003e \u003cspan style=\"font-size: 13px; color: #666; animation: fadeInDown 0.8s ease-out 0.3s both;\"\u003eFine Espresso to Coarse Cold Brew\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"position: relative; margin-top: 12px;\"\u003e\n\u003cdiv style=\"display: flex; gap: 4px; position: relative; z-index: 1;\"\u003e\n\u003cdiv style=\"flex: 1; height: 10px; border-radius: 5px; background: linear-gradient(90deg, #4A1F3F, #6b3059, #4A1F3F); animation: fadeInUp 0.6s ease-out 0.2s both, gradientShift 3s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"flex: 1; height: 10px; border-radius: 5px; background: linear-gradient(90deg, #4A1F3F, #6b3059, #4A1F3F); animation: fadeInUp 0.6s ease-out 0.3s both, gradientShift 3s ease-in-out infinite 0.2s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"flex: 1; height: 10px; border-radius: 5px; background: linear-gradient(90deg, #4A1F3F, #6b3059, #4A1F3F); animation: fadeInUp 0.6s ease-out 0.4s both, gradientShift 3s ease-in-out infinite 0.4s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"flex: 1; height: 10px; border-radius: 5px; background: linear-gradient(90deg, #4A1F3F, #6b3059, #4A1F3F); animation: fadeInUp 0.6s ease-out 0.5s both, gradientShift 3s ease-in-out infinite 0.6s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"flex: 1; height: 10px; border-radius: 5px; background: linear-gradient(90deg, #4A1F3F, #6b3059, #4A1F3F); animation: fadeInUp 0.6s ease-out 0.6s both, gradientShift 3s ease-in-out infinite 0.8s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 8px; left: 0; width: 100%; height: 10px; pointer-events: none; z-index: 2;\"\u003e\n\u003cdiv style=\"position: absolute; background: linear-gradient(135deg, #c9a96a, #ffd700, #c9a96a); color: #4a1f3f; font-size: 10px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; padding: 3px 10px; border-radius: 12px; white-space: nowrap; box-shadow: 0 2px 8px rgba(201,169,106,0.5); animation: moveUpgrade 6s ease-in-out infinite, upgradeGlow 2s ease-in-out infinite 0.5s;\"\u003eC5 PRO\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 6px; left: 0; width: 100%; height: 10px; pointer-events: none; z-index: 2;\"\u003e\n\u003cdiv style=\"position: absolute; color: #c9a96a; font-size: 16px; line-height: 1; animation: moveArrow 6s ease-in-out infinite, arrowPulse 2s ease-in-out infinite 0.5s;\"\u003e▼\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"display: flex; justify-content: space-between; margin-top: 14px; position: relative; z-index: 1;\"\u003e\n\u003cspan style=\"font-size: 11px; color: #999;\"\u003eFine Espresso\u003c\/span\u003e \u003cspan style=\"font-size: 11px; color: #999;\"\u003eTurkish • Filter • French Press • Cold Brew\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp style=\"margin: 8px 0 0 0; font-size: 12.5px; color: #8a7a83; position: relative; z-index: 1;\"\u003eWith 48 adjustment positions and a fine 0.031 mm step size, the C5 PRO gives you enough range to experiment across a broad selection of brewing methods in one compact hand grinder.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ===== FEATURE CARDS ===== --\u003e\n\u003ch3 style=\"font-size: 20px; color: #4a1f3f; margin: 0 0 14px 0; animation: slideInLeft 0.6s ease-out; position: relative; display: inline-block;\"\u003eWhy Choose the TIMEMORE C5 PRO \u003cspan style=\"position: absolute; bottom: -4px; left: 0; width: 40px; height: 2px; background: linear-gradient(90deg, #4A1F3F, #c9a96a); animation: slideUpReveal 0.8s ease-out 0.5s both;\"\u003e\u003c\/span\u003e\n\u003c\/h3\u003e\n\u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 14px; margin: 0 0 28px 0;\"\u003e\n\u003cdiv style=\"flex: 1 1 270px; background: #ffffff; border: 1px solid #ece3e8; border-top: 4px solid #4A1F3F; padding: 16px 18px; border-radius: 10px; animation: fadeInUp 0.8s ease-out 0.4s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.08), transparent); animation: shimmerWave 3s ease-in-out infinite 1s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"font-size: 13px; color: #b39aa9; font-weight: bold; letter-spacing: 1px; animation: rotateGlow 8s linear infinite; display: inline-block; padding: 4px 10px; background: linear-gradient(135deg, #f7f3f6, #ffffff); border-radius: 20px; border: 1px solid #ece3e8;\"\u003e01\u003c\/div\u003e\n\u003cp style=\"margin: 6px 0;\"\u003e\u003cstrong\u003eS2C 042-III 42 mm Burrs\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"margin: 0; font-size: 14.5px; color: #555;\"\u003eThe 42 mm stainless-steel Spike-to-Cut burr set is built for faster grinding and a tighter particle profile, supporting cleaner cups, brighter flavour definition, and more predictable extraction.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 270px; background: #ffffff; border: 1px solid #ece3e8; border-top: 4px solid #4A1F3F; padding: 16px 18px; border-radius: 10px; animation: fadeInUp 0.8s ease-out 0.5s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.08), transparent); animation: shimmerWave 3.2s ease-in-out infinite 1.2s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"font-size: 13px; color: #b39aa9; font-weight: bold; letter-spacing: 1px; animation: heartbeat 2s ease-in-out infinite; display: inline-block; padding: 4px 10px; background: linear-gradient(135deg, #f7f3f6, #ffffff); border-radius: 20px; border: 1px solid #ece3e8;\"\u003e02\u003c\/div\u003e\n\u003cp style=\"margin: 6px 0;\"\u003e\u003cstrong\u003e48 Settings with Fine Adjustment\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"margin: 0; font-size: 14.5px; color: #555;\"\u003eEach click changes burr spacing by approximately 0.031 mm, giving you detailed control for dialing in espresso or adapting your grind for pour-over, immersion, and cold-brew recipes.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 270px; background: #ffffff; border: 1px solid #ece3e8; border-top: 4px solid #4A1F3F; padding: 16px 18px; border-radius: 10px; animation: fadeInUp 0.8s ease-out 0.6s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.08), transparent); animation: shimmerWave 3.4s ease-in-out infinite 1.4s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"font-size: 13px; color: #b39aa9; font-weight: bold; letter-spacing: 1px; animation: bounce 2s ease-in-out infinite; display: inline-block; padding: 4px 10px; background: linear-gradient(135deg, #f7f3f6, #ffffff); border-radius: 20px; border: 1px solid #ece3e8;\"\u003e03\u003c\/div\u003e\n\u003cp style=\"margin: 6px 0;\"\u003e\u003cstrong\u003eAll-Metal Unibody Construction\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"margin: 0; font-size: 14.5px; color: #555;\"\u003eThe sturdy all-metal body gives the grinder a stable, premium feel in the hand, while the double-bearing central axis is designed to keep grinding smooth and low effort over repeated use.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 270px; background: #ffffff; border: 1px solid #ece3e8; border-top: 4px solid #4A1F3F; padding: 16px 18px; border-radius: 10px; animation: fadeInUp 0.8s ease-out 0.7s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.08), transparent); animation: shimmerWave 3.6s ease-in-out infinite 1.6s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"font-size: 13px; color: #b39aa9; font-weight: bold; letter-spacing: 1px; animation: rotateGlow 8s linear infinite reverse; display: inline-block; padding: 4px 10px; background: linear-gradient(135deg, #f7f3f6, #ffffff); border-radius: 20px; border: 1px solid #ece3e8;\"\u003e04\u003c\/div\u003e\n\u003cp style=\"margin: 6px 0;\"\u003e\u003cstrong\u003eCompact and Travel Ready\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"margin: 0; font-size: 14.5px; color: #555;\"\u003eA compact 53 mm diameter body, flared XL funnel, comfortable grip, and silicone base make the C5 PRO easy to use in a daily home routine and easy to bring along for travel or a second coffee station.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ===== FIT CHECK ===== --\u003e\n\u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 14px; margin: 0 0 28px 0;\"\u003e\n\u003cdiv style=\"flex: 1 1 270px; background: #f3faf5; border: 1px solid #d7ecd0; border-radius: 10px; padding: 16px 18px; animation: slideInLeft 0.8s ease-out 0.8s both; position: relative; overflow: hidden;\"\u003e\n\u003cspan style=\"position: absolute; top: 10px; right: 15px; font-size: 16px; color: #6e9877; animation: sparkle 2s ease-in-out infinite; display: inline-block;\"\u003e✨\u003c\/span\u003e \u003cspan style=\"position: absolute; top: 20px; right: 35px; font-size: 12px; color: #6e9877; animation: sparkle 2s ease-in-out infinite 0.5s; display: inline-block;\"\u003e✨\u003c\/span\u003e\n\u003cp style=\"margin: 0 0 8px 0;\"\u003e\u003cstrong style=\"animation: pulse 2s ease-in-out infinite; display: inline-block;\"\u003e✓ Perfect for you if…\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul style=\"margin: 0; padding-left: 18px; font-size: 14.5px; color: #444;\"\u003e\n\u003cli style=\"animation: fadeInUp 0.6s ease-out 0.2s both; animation-delay: 0.9s;\"\u003eYou want one hand grinder for espresso, filter coffee, and travel.\u003c\/li\u003e\n\u003cli style=\"animation: fadeInUp 0.6s ease-out 0.2s both; animation-delay: 1s;\"\u003eYou value grind precision and cleaner flavour in your cup.\u003c\/li\u003e\n\u003cli style=\"animation: fadeInUp 0.6s ease-out 0.2s both; animation-delay: 1.1s;\"\u003eYou want a more refined step up from an entry-level hand grinder.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 270px; background: #f7f4fb; border: 1px solid #e2dcef; border-radius: 10px; padding: 16px 18px; animation: slideInRight 0.8s ease-out 0.9s both; position: relative; overflow: hidden;\"\u003e\n\u003cspan style=\"position: absolute; top: 8px; right: 12px; font-size: 18px; animation: float 3s ease-in-out infinite; display: inline-block;\"\u003e☕\u003c\/span\u003e\n\u003cdiv style=\"position: absolute; top: 0; right: 20px; width: 3px; height: 10px; background: linear-gradient(to top, rgba(74,31,63,0.2), transparent); border-radius: 50%; filter: blur(2px); animation: steamRise 2s ease-in-out infinite 0.2s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cp style=\"margin: 0 0 8px 0;\"\u003e\u003cstrong style=\"animation: wobble 3s ease-in-out infinite; display: inline-block;\"\u003e☕ Hand grinding, upgraded\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"margin: 0; font-size: 14.5px; color: #444;\"\u003eThe C5 PRO is a manual grinder, so it rewards people who enjoy a more hands-on coffee ritual. Its larger burrs, more detailed adjustment system, and stable construction help make that ritual smoother and more precise.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ===== TECH \/ BURR BLOCK ===== --\u003e\n\u003ch3 style=\"font-size: 20px; color: #4a1f3f; margin: 28px 0 14px 0; animation: slideInLeft 0.6s ease-out; position: relative; display: inline-block;\"\u003ePrecision Meets Portability \u003cspan style=\"position: absolute; bottom: -4px; left: 0; width: 40px; height: 2px; background: linear-gradient(90deg, #4A1F3F, #c9a96a); animation: slideUpReveal 0.8s ease-out 0.5s both;\"\u003e\u003c\/span\u003e\n\u003c\/h3\u003e\n\u003cdiv style=\"background: linear-gradient(135deg, #1a0f1a 0%, #2d1f2d 50%, #1a0f1a 100%); border: 2px solid #4A1F3F; border-radius: 16px; padding: 28px; margin: 0 0 28px 0; animation: fadeInUp 0.8s ease-out 1s both; position: relative; overflow: hidden; box-shadow: 0 8px 32px rgba(74,31,63,0.3);\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: 0; right: 0; bottom: 0; opacity: 0.1; background-image: linear-gradient(rgba(201,169,106,0.3) 1px, transparent 1px), linear-gradient(90deg, rgba(201,169,106,0.3) 1px, transparent 1px); background-size: 30px 30px; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 20%; left: 15%; width: 6px; height: 6px; background: rgba(201,169,106,0.6); border-radius: 50%; filter: blur(2px); animation: particleFloat 4s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 60%; left: 80%; width: 8px; height: 8px; background: rgba(201,169,106,0.5); border-radius: 50%; filter: blur(2px); animation: particleFloat 5s ease-in-out infinite 1s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 40%; left: 90%; width: 5px; height: 5px; background: rgba(201,169,106,0.4); border-radius: 50%; filter: blur(2px); animation: particleFloat 4.5s ease-in-out infinite 0.5s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 80%; left: 25%; width: 7px; height: 7px; background: rgba(201,169,106,0.5); border-radius: 50%; filter: blur(2px); animation: particleFloat 5.5s ease-in-out infinite 1.5s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 280px; height: 280px; border: 2px solid rgba(201,169,106,0.15); border-radius: 50%; animation: techRotate 20s linear infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 320px; height: 320px; border: 1px dashed rgba(201,169,106,0.1); border-radius: 50%; animation: techRotate 30s linear infinite reverse;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.6), transparent); animation: scanline 3s ease-in-out infinite; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: relative; z-index: 1; text-align: center;\"\u003e\n\u003cdiv style=\"margin: 0 auto 20px auto; width: 110px; height: 110px; position: relative;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(circle, rgba(201,169,106,0.3), transparent 70%); border-radius: 50%; animation: arGlow 3s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 29px; left: 29px; width: 52px; height: 52px; border-radius: 50%; border: 4px solid #c9a96a; box-shadow: inset 0 0 0 8px rgba(74,31,63,0.75), 0 0 18px rgba(201,169,106,0.7); animation: grindRotate 2.8s linear infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 20px; left: 51px; width: 6px; height: 25px; background: #c9a96a; border-radius: 6px; transform-origin: bottom center; animation: grindHandle 2.8s linear infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 12px; left: 50px; width: 8px; height: 8px; background: #f4d493; border-radius: 50%; animation: grindHandle 2.8s linear infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background: rgba(74,31,63,0.3); border: 1px solid rgba(201,169,106,0.3); border-radius: 12px; padding: 18px; margin: 0 auto 24px auto; max-width: 440px; backdrop-filter: blur(10px);\"\u003e\n\u003cdiv style=\"display: flex; justify-content: space-around; margin-bottom: 16px; flex-wrap: wrap; gap: 12px;\"\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cdiv style=\"font-size: 24px; font-weight: bold; color: #c9a96a; animation: dataPulse 2s ease-in-out infinite;\"\u003e42 mm\u003c\/div\u003e\n\u003cdiv style=\"font-size: 11px; color: #b39aa9; text-transform: uppercase; letter-spacing: 1px; margin-top: 4px;\"\u003eSteel Burrs\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cdiv style=\"font-size: 24px; font-weight: bold; color: #c9a96a; animation: dataPulse 2s ease-in-out infinite 0.3s;\"\u003e48\u003c\/div\u003e\n\u003cdiv style=\"font-size: 11px; color: #b39aa9; text-transform: uppercase; letter-spacing: 1px; margin-top: 4px;\"\u003eSettings\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cdiv style=\"font-size: 24px; font-weight: bold; color: #c9a96a; animation: dataPulse 2s ease-in-out infinite 0.6s;\"\u003e53 mm\u003c\/div\u003e\n\u003cdiv style=\"font-size: 11px; color: #b39aa9; text-transform: uppercase; letter-spacing: 1px; margin-top: 4px;\"\u003eBody Diameter\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"height: 2px; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.5), transparent); margin: 12px 0;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"font-size: 11px; color: #b39aa9; letter-spacing: 2px; text-transform: uppercase;\"\u003eHand Grinder Performance System\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; background: linear-gradient(135deg, #4A1F3F 0%, #6b3059 50%, #4A1F3F 100%); background-size: 200% 100%; color: #ffffff; padding: 20px 40px; border-radius: 20px; font-size: 16px; font-weight: bold; box-shadow: 0 8px 32px rgba(74,31,63,0.4), inset 0 2px 8px rgba(255,255,255,0.1); position: relative; overflow: hidden; animation: arHover 4s ease-in-out infinite;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.3), transparent); animation: shimmerWave 3s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan style=\"font-size: 28px; animation: grindRotate 2.8s linear infinite; position: relative; z-index: 1;\"\u003e⚙️\u003c\/span\u003e \u003cspan style=\"position: relative; z-index: 1; letter-spacing: 1px;\"\u003eGRIND YOUR WAY\u003c\/span\u003e \u003cspan style=\"font-size: 10px; color: #c9a96a; text-transform: uppercase; letter-spacing: 2px; position: relative; z-index: 1;\"\u003eEspresso to Cold Brew\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp style=\"margin: 20px 0 0 0; font-size: 13px; color: #b39aa9; line-height: 1.6; max-width: 520px; margin-left: auto; margin-right: auto;\"\u003eGrind freshness matters. A quality hand grinder gives you the flexibility to buy whole beans, change brewing methods, and adjust your recipe until your coffee tastes exactly how you like it.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ===== PROUDLY CANADIAN \/ ANTHONY'S BANNER ===== --\u003e\n\u003cdiv style=\"margin: 32px 0; animation: fadeInUp 0.9s ease-out 1.2s both; position: relative;\"\u003e\n\u003cdiv style=\"position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 360px; height: 360px; background: radial-gradient(circle, rgba(201,169,106,0.18), transparent 65%); border-radius: 50%; pointer-events: none; animation: pulseGlow 3s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"display: flex; align-items: center; justify-content: center; gap: 22px; background: linear-gradient(135deg, #4A1F3F 0%, #6b3059 50%, #4A1F3F 100%); background-size: 200% 100%; color: #ffffff; padding: 26px 38px; border-radius: 22px; box-shadow: 0 10px 36px rgba(74,31,63,0.35); position: relative; overflow: hidden; animation: gradientShift 5s ease-in-out infinite, arFloat 5s ease-in-out infinite; max-width: 660px; margin: 0 auto; border: 1px solid rgba(201,169,106,0.4);\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 22px; box-shadow: inset 0 0 24px rgba(201,169,106,0.25); animation: holoFade 3s ease-in-out infinite; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.18), transparent); animation: shimmerWave 3s ease-in-out infinite 1s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: 0; right: 0; bottom: 0; opacity: 0.12; background-image: linear-gradient(rgba(201,169,106,0.4) 1px, transparent 1px), linear-gradient(90deg, rgba(201,169,106,0.4) 1px, transparent 1px); background-size: 28px 28px; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"font-size: 44px; animation: mapleFloat 3.5s ease-in-out infinite, mapleRotate 7s ease-in-out infinite; position: relative; z-index: 1; filter: drop-shadow(0 4px 8px rgba(0,0,0,0.4));\"\u003e🍁\u003c\/div\u003e\n\u003cdiv style=\"display: flex; flex-direction: column; align-items: center; position: relative; z-index: 1;\"\u003e\n\u003cspan style=\"font-size: 14px; font-weight: bold; letter-spacing: 4px; text-transform: uppercase; color: #c9a96a; animation: textShimmer 2.5s ease-in-out infinite;\"\u003eProudly\u003c\/span\u003e \u003cspan style=\"font-size: 30px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; margin-top: 2px; text-shadow: 0 2px 12px rgba(201,169,106,0.5); animation: glowPulse 2.5s ease-in-out infinite;\"\u003eCanadian\u003c\/span\u003e \u003cspan style=\"display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: #e8d4c0;\"\u003e \u003cspan style=\"width: 30px; height: 1px; background: linear-gradient(90deg, transparent, #c9a96a);\"\u003e\u003c\/span\u003e Anthony’s Espresso \u003cspan style=\"width: 30px; height: 1px; background: linear-gradient(90deg, #c9a96a, transparent);\"\u003e\u003c\/span\u003e \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"font-size: 44px; animation: mapleFloat 3.5s ease-in-out infinite 0.6s, mapleRotate 7s ease-in-out infinite reverse; position: relative; z-index: 1; filter: drop-shadow(0 4px 8px rgba(0,0,0,0.4));\"\u003e🍁\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp style=\"margin: 16px 0 0 0; font-size: 13px; color: #8a7a83; text-align: center; line-height: 1.6; animation: fadeInUp 0.6s ease-out 0.4s both;\"\u003eVisit Anthony’s Espresso in Vaughan or Toronto for coffee grinders, espresso machines, whole beans, brewing tools, accessories, parts, and local coffee advice.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ===== FULL SPEC TABLE ===== --\u003e\n\u003ch3 style=\"font-size: 20px; color: #4a1f3f; margin: 0 0 14px 0; animation: slideInLeft 0.6s ease-out; position: relative; display: inline-block;\"\u003eFull Specifications \u003cspan style=\"position: absolute; bottom: -4px; left: 0; width: 40px; height: 2px; background: linear-gradient(90deg, #4A1F3F, #c9a96a); animation: slideUpReveal 0.8s ease-out 0.5s both;\"\u003e\u003c\/span\u003e\n\u003c\/h3\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 14px; margin: 0 0 28px 0; animation: scaleIn 0.8s ease-out 1.1s both; border: 1px solid #ece3e8; border-radius: 10px; overflow: hidden; position: relative;\"\u003e\n\u003ctbody style=\"position: relative; z-index: 1;\"\u003e\n\u003ctr style=\"background: #4A1F3F; color: #ffffff;\"\u003e\n\u003ctd colspan=\"2\" style=\"padding: 10px 12px; border: 1px solid #4A1F3F;\"\u003e\u003cstrong\u003eProduct Information\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9; width: 45%;\"\u003e\u003cstrong\u003eRetail Name\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eTIMEMORE Chestnut C5 PRO Grinder\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eManufacturer\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eTIMEMORE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eProduct Code\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eTIME-70TGD030AA101\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eGrinder Type\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eManual hand coffee grinder\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eColour Options\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eBlack or White\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background: #4A1F3F; color: #ffffff;\"\u003e\n\u003ctd colspan=\"2\" style=\"padding: 10px 12px; border: 1px solid #4A1F3F;\"\u003e\u003cstrong\u003eBurrs and Adjustment\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eBurr Type\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eS2C 042-III Spike-to-Cut burrs\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eBurr Material\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eStainless steel\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eBurr Diameter\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003e42 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eGrind Settings\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003e48 settings\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eAdjustment Precision\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eApprox. 0.031 mm per click\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eBrew Range\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eTurkish coffee through cold brew; suitable for espresso and filter methods\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background: #4A1F3F; color: #ffffff;\"\u003e\n\u003ctd colspan=\"2\" style=\"padding: 10px 12px; border: 1px solid #4A1F3F;\"\u003e\u003cstrong\u003eConstruction and Handling\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eBody Construction\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eAll-metal unibody\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eCentral Axis\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eDouble-bearing central axis\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eBody Diameter\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eApprox. 53 mm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eFunnel\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eFlared XL funnel for easier dosing\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eBase\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eGrippy silicone base for stability\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003ePortability\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eCompact manual format for home or travel use\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c!-- ===== ANTHONY'S VALUE STRIP ===== --\u003e\n\u003cdiv style=\"background: linear-gradient(135deg, #4A1F3F 0%, #6b3059 100%); color: #ffffff; padding: 22px 24px; border-radius: 12px; margin: 0 0 20px 0; animation: fadeInUp 0.8s ease-out 1.3s both; box-shadow: 0 4px 16px rgba(74,31,63,0.2); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 200%; height: 200%; background: radial-gradient(circle, rgba(255,255,255,0.05) 0%, transparent 70%); animation: ripple 3s ease-out infinite; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.15), transparent); animation: shimmerWave 3s ease-in-out infinite 1s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cp style=\"margin: 0 0 12px 0; font-size: 17px; position: relative; z-index: 1;\"\u003e\u003cstrong style=\"animation: colorPop 3s ease-in-out infinite; display: inline-block; padding: 4px 12px; background: linear-gradient(135deg, #4A1F3F, #6b3059, #4A1F3F); background-size: 200% 100%; border-radius: 20px;\"\u003eThe Anthony’s Difference\u003c\/strong\u003e\u003c\/p\u003e\n\u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 10px 24px; font-size: 14px; position: relative; z-index: 1;\"\u003e\n\u003cspan style=\"animation: float 3s ease-in-out infinite; display: inline-flex; align-items: center; gap: 6px;\"\u003e\u003cspan style=\"animation: heartbeat 2s ease-in-out infinite;\"\u003e⚙️\u003c\/span\u003e Grinders for home and professional setups\u003c\/span\u003e \u003cspan style=\"animation: float 3s ease-in-out infinite 0.3s; display: inline-flex; align-items: center; gap: 6px;\"\u003e\u003cspan style=\"animation: wobble 3s ease-in-out infinite;\"\u003e🏪\u003c\/span\u003e Vaughan and Toronto showrooms\u003c\/span\u003e \u003cspan style=\"animation: float 3s ease-in-out infinite 0.6s; display: inline-flex; align-items: center; gap: 6px;\"\u003e\u003cspan style=\"animation: bounce 2s ease-in-out infinite;\"\u003e☕\u003c\/span\u003e Fresh beans, espresso machines and gear\u003c\/span\u003e \u003cspan style=\"animation: float 3s ease-in-out infinite 0.9s; display: inline-flex; align-items: center; gap: 6px;\"\u003e\u003cspan style=\"animation: sparkle 2s ease-in-out infinite;\"\u003e🇨🇦\u003c\/span\u003e Local espresso specialists\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ===== ANTHONY'S-ONLY CTA ===== --\u003e\n\u003cdiv style=\"background: linear-gradient(135deg, #faf8f9 0%, #f7f3f6 100%); border: 1px solid #ece3e8; border-radius: 12px; padding: 20px; animation: fadeInUp 0.8s ease-out 1.4s both; position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; right: 0; width: 160px; height: 160px; background: radial-gradient(circle, rgba(201,169,106,0.13), transparent 70%); animation: pulse 4s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cp style=\"font-size: 16px; color: #4a1f3f; margin: 0 0 10px 0; position: relative; z-index: 1;\"\u003e\u003cstrong\u003eLooking for the right grinder for your coffee routine?\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"font-size: 14px; color: #555; margin: 0 0 16px 0; position: relative; z-index: 1;\"\u003eVisit Anthony’s Espresso in Vaughan or Toronto to compare hand grinders, electric grinders, espresso machines, coffee beans, and brewing gear. We can help match your grinder to your brew method and budget.\u003c\/p\u003e\n\u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 10px; position: relative; z-index: 1;\"\u003e\n\u003ca href=\"https:\/\/anthonysespresso.com\/collections\/espresso-coffee-bean-grinders\" rel=\"noopener noreferrer\" style=\"flex: 1 1 220px; text-align: center; display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: linear-gradient(135deg, #4A1F3F, #6b3059); color: #ffffff; padding: 11px 18px; border-radius: 24px; font-size: 14px; font-weight: bold; text-decoration: none; box-shadow: 0 4px 12px rgba(74,31,63,0.25);\" target=\"_blank\"\u003e \u003cspan\u003eShop Coffee Grinders\u003c\/span\u003e \u003cspan style=\"font-size: 18px;\"\u003e➜\u003c\/span\u003e \u003c\/a\u003e \u003ca href=\"https:\/\/anthonysespresso.com\/pages\/contact\" rel=\"noopener noreferrer\" style=\"flex: 1 1 220px; text-align: center; display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: #ffffff; color: #4a1f3f; padding: 11px 18px; border-radius: 24px; font-size: 14px; font-weight: bold; text-decoration: none; border: 1px solid #4A1F3F; box-shadow: 0 4px 12px rgba(0,0,0,0.08);\" target=\"_blank\"\u003e \u003cspan\u003eVisit Our Showrooms\u003c\/span\u003e \u003cspan style=\"font-size: 18px;\"\u003e📍\u003c\/span\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003cp style=\"font-size: 13px; color: #8a7a83; margin: 14px 0 0 0; text-align: center; position: relative; z-index: 1;\"\u003eOr call Anthony’s Espresso at \u003ca href=\"tel:19052640433\" style=\"color: #4a1f3f; font-weight: bold; text-decoration: underline;\"\u003e905-264-0433\u003c\/a\u003e for help choosing the right grinder, coffee, and brewing gear.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e```\u003c\/p\u003e","brand":"TIMEMORE","offers":[{"title":"Default Title","offer_id":51256980930812,"sku":null,"price":149.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/8529\/4588\/files\/cb00ce6f-ce76-407c-afd1-37c00a2557af.webp?v=1789232446"},{"product_id":"timemore-chestnut-s3-grinder","title":"TIMEMORE Chestnut S3 Grinder","description":"\u003cdiv style=\"max-width: 920px; margin: 0 auto; color: #2b2b2b; line-height: 1.65; font-size: 16px; font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\"\u003e\u003c!-- ===== ADVANCED ANIMATION STYLES ===== --\u003e\u003c\/div\u003e\n\u003cstyle\u003e\n  @keyframes fadeInUp {\n    from { opacity: 0; transform: translateY(20px); }\n    to { opacity: 1; transform: translateY(0); }\n  }\n  @keyframes fadeInDown {\n    from { opacity: 0; transform: translateY(-20px); }\n    to { opacity: 1; transform: translateY(0); }\n  }\n  @keyframes pulse {\n    0%, 100% { transform: scale(1); }\n    50% { transform: scale(1.03); }\n  }\n  @keyframes float {\n    0%, 100% { transform: translateY(0); }\n    50% { transform: translateY(-6px); }\n  }\n  @keyframes grindRotate {\n    0% { transform: rotate(0deg); }\n    100% { transform: rotate(360deg); }\n  }\n  @keyframes grindHandle {\n    0%, 100% { transform: rotate(0deg); }\n    25% { transform: rotate(90deg); }\n    50% { transform: rotate(180deg); }\n    75% { transform: rotate(270deg); }\n  }\n  @keyframes dialTurn {\n    0%, 100% { transform: rotate(0deg); }\n    35% { transform: rotate(22deg); }\n    50% { transform: rotate(22deg); }\n    85% { transform: rotate(0deg); }\n  }\n  @keyframes dialTick {\n    0%, 100% { opacity: 0.35; transform: scale(0.85); }\n    50% { opacity: 1; transform: scale(1.15); }\n  }\n  @keyframes beanDrop {\n    0% { opacity: 0; transform: translateY(-8px) rotate(0deg); }\n    20% { opacity: 1; }\n    80% { opacity: 1; transform: translateY(16px) rotate(180deg); }\n    100% { opacity: 0; transform: translateY(22px) rotate(240deg); }\n  }\n  @keyframes particleScatter {\n    0%, 100% { opacity: 0.25; transform: translateY(0) translateX(0) scale(0.8); }\n    50% { opacity: 1; transform: translateY(-14px) translateX(8px) scale(1.1); }\n  }\n  @keyframes bounce {\n    0%, 100% { transform: translateY(0); }\n    50% { transform: translateY(-4px); }\n  }\n  @keyframes slideInLeft {\n    from { opacity: 0; transform: translateX(-25px); }\n    to { opacity: 1; transform: translateX(0); }\n  }\n  @keyframes slideInRight {\n    from { opacity: 0; transform: translateX(25px); }\n    to { opacity: 1; transform: translateX(0); }\n  }\n  @keyframes scaleIn {\n    from { opacity: 0; transform: scale(0.85); }\n    to { opacity: 1; transform: scale(1); }\n  }\n  @keyframes gradientShift {\n    0% { background-position: 0% 50%; }\n    50% { background-position: 100% 50%; }\n    100% { background-position: 0% 50%; }\n  }\n  @keyframes ripple {\n    0% { box-shadow: 0 0 0 0 rgba(74,31,63,0.4); }\n    70% { box-shadow: 0 0 0 12px rgba(74,31,63,0); }\n    100% { box-shadow: 0 0 0 0 rgba(74,31,63,0); }\n  }\n  @keyframes sparkle {\n    0%, 100% { opacity: 0; transform: scale(0) rotate(0deg); }\n    50% { opacity: 1; transform: scale(1) rotate(180deg); }\n  }\n  @keyframes wobble {\n    0%, 100% { transform: rotate(0deg); }\n    25% { transform: rotate(-3deg); }\n    75% { transform: rotate(3deg); }\n  }\n  @keyframes slideUpReveal {\n    0% { clip-path: inset(100% 0 0 0); }\n    100% { clip-path: inset(0 0 0 0); }\n  }\n  @keyframes heartbeat {\n    0%, 100% { transform: scale(1); }\n    10%, 30% { transform: scale(1.08); }\n    20%, 40% { transform: scale(1); }\n  }\n  @keyframes colorPop {\n    0%, 100% { background: #4A1F3F; }\n    50% { background: #6b3059; }\n  }\n  @keyframes shimmerWave {\n    0% { transform: translateX(-100%); }\n    100% { transform: translateX(100%); }\n  }\n  @keyframes glowPulse {\n    0%, 100% { text-shadow: 0 0 5px rgba(74,31,63,0.3); }\n    50% { text-shadow: 0 0 15px rgba(74,31,63,0.6), 0 0 5px rgba(201,169,106,0.4); }\n  }\n  @keyframes bounceIn {\n    0% { opacity: 0; transform: scale(0.3); }\n    50% { opacity: 1; transform: scale(1.05); }\n    70% { transform: scale(0.9); }\n    100% { transform: scale(1); }\n  }\n  @keyframes rotateGlow {\n    0% { transform: rotate(0deg); filter: brightness(1); }\n    50% { transform: rotate(180deg); filter: brightness(1.2); }\n    100% { transform: rotate(360deg); filter: brightness(1); }\n  }\n  @keyframes moveUpgrade {\n    0% { left: 0%; opacity: 0; transform: translateX(0) scale(0.8); }\n    10% { opacity: 1; transform: translateX(0) scale(1); }\n    45% { opacity: 1; transform: translateX(0) scale(1); }\n    50% { opacity: 0; transform: translateX(0) scale(0.8); }\n    51% { left: 100%; opacity: 0; transform: translateX(-100%) scale(0.8); }\n    60% { opacity: 1; transform: translateX(-100%) scale(1); }\n    95% { opacity: 1; transform: translateX(-100%) scale(1); }\n    100% { opacity: 0; transform: translateX(-100%) scale(0.8); }\n  }\n  @keyframes moveArrow {\n    0% { left: 0%; opacity: 0; transform: translateX(0) translateY(-10px); }\n    10% { opacity: 1; transform: translateX(0) translateY(0); }\n    45% { opacity: 1; transform: translateX(0) translateY(0); }\n    50% { opacity: 0; transform: translateX(0) translateY(10px); }\n    51% { left: 100%; opacity: 0; transform: translateX(-100%) translateY(10px); }\n    60% { opacity: 1; transform: translateX(-100%) translateY(0); }\n    95% { opacity: 1; transform: translateX(-100%) translateY(0); }\n    100% { opacity: 0; transform: translateX(-100%) translateY(-10px); }\n  }\n  @keyframes upgradeGlow {\n    0%, 100% { box-shadow: 0 2px 12px rgba(201,169,106,0.6), 0 0 0 rgba(255,215,0,0); }\n    50% { box-shadow: 0 4px 20px rgba(201,169,106,0.9), 0 0 15px rgba(255,215,0,0.5); }\n  }\n  @keyframes arrowPulse {\n    0%, 100% { transform: translateX(0) translateY(0) scale(1); filter: brightness(1); }\n    50% { transform: translateX(0) translateY(0) scale(1.2); filter: brightness(1.3); }\n  }\n  @keyframes arFloat {\n    0%, 100% { transform: translateY(0) rotateX(0deg); }\n    50% { transform: translateY(-12px) rotateX(5deg); }\n  }\n  @keyframes arHover {\n    0%, 100% { transform: translateY(0) scale(1); }\n    50% { transform: translateY(-8px) scale(1.02); }\n  }\n  @keyframes scanline {\n    0% { top: 0%; opacity: 0; }\n    10% { opacity: 1; }\n    90% { opacity: 1; }\n    100% { top: 100%; opacity: 0; }\n  }\n  @keyframes particleFloat {\n    0%, 100% { transform: translateY(0) translateX(0); opacity: 0.6; }\n    50% { transform: translateY(-20px) translateX(10px); opacity: 1; }\n  }\n  @keyframes arGlow {\n    0%, 100% { box-shadow: 0 0 20px rgba(74,31,63,0.3), 0 0 40px rgba(201,169,106,0.2); }\n    50% { box-shadow: 0 0 40px rgba(74,31,63,0.5), 0 0 80px rgba(201,169,106,0.4); }\n  }\n  @keyframes techRotate {\n    0% { transform: rotate(0deg); opacity: 0.3; }\n    50% { transform: rotate(180deg); opacity: 0.8; }\n    100% { transform: rotate(360deg); opacity: 0.3; }\n  }\n  @keyframes dataPulse {\n    0%, 100% { opacity: 0.4; transform: scale(1); }\n    50% { opacity: 1; transform: scale(1.05); }\n  }\n  @keyframes holoFade {\n    0%, 100% { opacity: 0.3; }\n    50% { opacity: 0.8; }\n  }\n  @keyframes mapleFloat {\n    0%, 100% { transform: translateY(0) rotate(0deg); }\n    50% { transform: translateY(-6px) rotate(6deg); }\n  }\n  @keyframes mapleRotate {\n    0%, 100% { transform: rotate(0deg); }\n    25% { transform: rotate(-6deg); }\n    75% { transform: rotate(6deg); }\n  }\n  @keyframes pulseGlow {\n    0%, 100% { opacity: 0.5; transform: translate(-50%, -50%) scale(1); }\n    50% { opacity: 0.9; transform: translate(-50%, -50%) scale(1.08); }\n  }\n  @keyframes textShimmer {\n    0%, 100% { opacity: 1; }\n    50% { opacity: 0.75; }\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"max-width: 920px; margin: 0 auto; color: #2b2b2b; line-height: 1.65; font-size: 16px; font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\"\u003e\n\u003c!-- ===== INTRO ===== --\u003e\n\u003cdiv style=\"animation: fadeInUp 0.8s ease-out; position: relative;\"\u003e\n\u003cp style=\"font-size: 18px; margin: 0 0 6px 0; animation: fadeInUp 0.8s ease-out 0.2s both; position: relative; z-index: 1;\"\u003eThe \u003cspan style=\"color: #4a1f3f; text-decoration: underline; display: inline-block;\"\u003eTIMEMORE Chestnut S3 Grinder\u003c\/span\u003e is a high-precision hand grinder designed for coffee drinkers who want more control, more grind consistency, and a more refined daily coffee ritual.\u003c\/p\u003e\n\u003cp style=\"font-size: 15px; color: #666; margin: 0 0 20px 0; animation: fadeInUp 0.8s ease-out 0.3s both; position: relative;\"\u003eIts patented S2C 890 burrs, ultra-fine 0.015 mm-per-click adjustment, external camera-lens-style grind ring, full-metal unibody, and high-precision bearings give you a compact hand grinder capable of producing cleaner, sweeter coffee from espresso through pour-over and French press.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ===== QUICK FACTS STRIP ===== --\u003e\n\u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 28px 0;\"\u003e\n\u003cdiv style=\"flex: 1 1 130px; min-width: 130px; background: #faf8f9; border: 1px solid #ece3e8; border-radius: 10px; padding: 12px 10px; text-align: center; animation: bounceIn 0.8s ease-out 0.2s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"font-size: 22px; animation: grindRotate 2.8s linear infinite; position: relative; z-index: 1;\"\u003e⚙️\u003c\/div\u003e\n\u003cdiv style=\"font-size: 12px; color: #8a7a83; text-transform: uppercase; letter-spacing: 0.5px; margin-top: 4px; position: relative; z-index: 1;\"\u003eBurrs\u003c\/div\u003e\n\u003cdiv style=\"font-size: 14px; font-weight: 600; color: #4a1f3f; position: relative; z-index: 1;\"\u003eS2C 890\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 130px; min-width: 130px; background: #faf8f9; border: 1px solid #ece3e8; border-radius: 10px; padding: 12px 10px; text-align: center; animation: bounceIn 0.8s ease-out 0.3s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"font-size: 22px; animation: dialTurn 2.6s ease-in-out infinite; position: relative; z-index: 1;\"\u003e🎚️\u003c\/div\u003e\n\u003cdiv style=\"font-size: 12px; color: #8a7a83; text-transform: uppercase; letter-spacing: 0.5px; margin-top: 4px; position: relative; z-index: 1;\"\u003ePrecision\u003c\/div\u003e\n\u003cdiv style=\"font-size: 14px; font-weight: 600; color: #4a1f3f; position: relative; z-index: 1;\"\u003e0.015 mm\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 130px; min-width: 130px; background: #faf8f9; border: 1px solid #ece3e8; border-radius: 10px; padding: 12px 10px; text-align: center; animation: bounceIn 0.8s ease-out 0.4s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"font-size: 22px; animation: pulse 2s ease-in-out infinite; position: relative; z-index: 1;\"\u003e🔬\u003c\/div\u003e\n\u003cdiv style=\"font-size: 12px; color: #8a7a83; text-transform: uppercase; letter-spacing: 0.5px; margin-top: 4px; position: relative; z-index: 1;\"\u003eTolerance\u003c\/div\u003e\n\u003cdiv style=\"font-size: 14px; font-weight: 600; color: #4a1f3f; position: relative; z-index: 1;\"\u003e5 µm\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 130px; min-width: 130px; background: #faf8f9; border: 1px solid #ece3e8; border-radius: 10px; padding: 12px 10px; text-align: center; animation: bounceIn 0.8s ease-out 0.5s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"font-size: 22px; animation: float 3s ease-in-out infinite; position: relative; z-index: 1;\"\u003e🧳\u003c\/div\u003e\n\u003cdiv style=\"font-size: 12px; color: #8a7a83; text-transform: uppercase; letter-spacing: 0.5px; margin-top: 4px; position: relative; z-index: 1;\"\u003eHandle\u003c\/div\u003e\n\u003cdiv style=\"font-size: 14px; font-weight: 600; color: #4a1f3f; position: relative; z-index: 1;\"\u003eFoldable\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ===== PRECISION BAR ===== --\u003e\n\u003cdiv style=\"background: #faf8f9; border: 1px solid #ece3e8; border-radius: 10px; padding: 14px 18px; margin: 0 0 28px 0; animation: fadeInUp 0.8s ease-out 0.6s both; position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent); animation: shimmerWave 2s ease-in-out infinite 1s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; position: relative; z-index: 1;\"\u003e\n\u003cspan style=\"font-size: 14px; font-weight: 600; color: #4a1f3f; animation: glowPulse 2s ease-in-out infinite;\"\u003eGRIND PRECISION LEVEL\u003c\/span\u003e \u003cspan style=\"font-size: 13px; color: #666; animation: fadeInDown 0.8s ease-out 0.3s both;\"\u003eUltra-Fine External Adjustment\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"position: relative; margin-top: 12px;\"\u003e\n\u003cdiv style=\"display: flex; gap: 4px; position: relative; z-index: 1;\"\u003e\n\u003cdiv style=\"flex: 1; height: 10px; border-radius: 5px; background: linear-gradient(90deg, #4A1F3F, #6b3059, #4A1F3F); animation: fadeInUp 0.6s ease-out 0.2s both, gradientShift 3s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"flex: 1; height: 10px; border-radius: 5px; background: linear-gradient(90deg, #4A1F3F, #6b3059, #4A1F3F); animation: fadeInUp 0.6s ease-out 0.3s both, gradientShift 3s ease-in-out infinite 0.2s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"flex: 1; height: 10px; border-radius: 5px; background: linear-gradient(90deg, #4A1F3F, #6b3059, #4A1F3F); animation: fadeInUp 0.6s ease-out 0.4s both, gradientShift 3s ease-in-out infinite 0.4s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"flex: 1; height: 10px; border-radius: 5px; background: linear-gradient(90deg, #4A1F3F, #6b3059, #4A1F3F); animation: fadeInUp 0.6s ease-out 0.5s both, gradientShift 3s ease-in-out infinite 0.6s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"flex: 1; height: 10px; border-radius: 5px; background: linear-gradient(90deg, #4A1F3F, #6b3059, #4A1F3F); animation: fadeInUp 0.6s ease-out 0.6s both, gradientShift 3s ease-in-out infinite 0.8s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 8px; left: 0; width: 100%; height: 10px; pointer-events: none; z-index: 2;\"\u003e\n\u003cdiv style=\"position: absolute; background: linear-gradient(135deg, #c9a96a, #ffd700, #c9a96a); color: #4a1f3f; font-size: 10px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; padding: 3px 10px; border-radius: 12px; white-space: nowrap; box-shadow: 0 2px 8px rgba(201,169,106,0.5); animation: moveUpgrade 6s ease-in-out infinite, upgradeGlow 2s ease-in-out infinite 0.5s;\"\u003eS3\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 6px; left: 0; width: 100%; height: 10px; pointer-events: none; z-index: 2;\"\u003e\n\u003cdiv style=\"position: absolute; color: #c9a96a; font-size: 16px; line-height: 1; animation: moveArrow 6s ease-in-out infinite, arrowPulse 2s ease-in-out infinite 0.5s;\"\u003e▼\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"display: flex; justify-content: space-between; margin-top: 14px; position: relative; z-index: 1;\"\u003e\n\u003cspan style=\"font-size: 11px; color: #999;\"\u003eEasy Everyday Grinding\u003c\/span\u003e \u003cspan style=\"font-size: 11px; color: #999;\"\u003eDetailed Espresso Dial-In\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp style=\"margin: 8px 0 0 0; font-size: 12.5px; color: #8a7a83; position: relative; z-index: 1;\"\u003eThe S3 is designed for coffee drinkers who care about small adjustments. Its external numbered dial and 0.015 mm-per-click movement make recipe changes easier to repeat across espresso, pour-over, and French press.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ===== FEATURE CARDS ===== --\u003e\n\u003ch3 style=\"font-size: 20px; color: #4a1f3f; margin: 0 0 14px 0; animation: slideInLeft 0.6s ease-out; position: relative; display: inline-block;\"\u003eWhy Choose the TIMEMORE Chestnut S3 \u003cspan style=\"position: absolute; bottom: -4px; left: 0; width: 40px; height: 2px; background: linear-gradient(90deg, #4A1F3F, #c9a96a); animation: slideUpReveal 0.8s ease-out 0.5s both;\"\u003e\u003c\/span\u003e\n\u003c\/h3\u003e\n\u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 14px; margin: 0 0 28px 0;\"\u003e\n\u003cdiv style=\"flex: 1 1 270px; background: #ffffff; border: 1px solid #ece3e8; border-top: 4px solid #4A1F3F; padding: 16px 18px; border-radius: 10px; animation: fadeInUp 0.8s ease-out 0.4s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.08), transparent); animation: shimmerWave 3s ease-in-out infinite 1s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"font-size: 13px; color: #b39aa9; font-weight: bold; letter-spacing: 1px; animation: rotateGlow 8s linear infinite; display: inline-block; padding: 4px 10px; background: linear-gradient(135deg, #f7f3f6, #ffffff); border-radius: 20px; border: 1px solid #ece3e8;\"\u003e01\u003c\/div\u003e\n\u003cp style=\"margin: 6px 0;\"\u003e\u003cstrong\u003ePatented S2C 890 Burrs\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"margin: 0; font-size: 14.5px; color: #555;\"\u003eTIMEMORE’s Spike-to-Cut burr design is engineered to improve grind uniformity, helping bring out cleaner, sweeter cups and allowing more of a coffee’s subtle flavour notes to come through.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 270px; background: #ffffff; border: 1px solid #ece3e8; border-top: 4px solid #4A1F3F; padding: 16px 18px; border-radius: 10px; animation: fadeInUp 0.8s ease-out 0.5s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.08), transparent); animation: shimmerWave 3.2s ease-in-out infinite 1.2s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"font-size: 13px; color: #b39aa9; font-weight: bold; letter-spacing: 1px; animation: heartbeat 2s ease-in-out infinite; display: inline-block; padding: 4px 10px; background: linear-gradient(135deg, #f7f3f6, #ffffff); border-radius: 20px; border: 1px solid #ece3e8;\"\u003e02\u003c\/div\u003e\n\u003cp style=\"margin: 6px 0;\"\u003e\u003cstrong\u003e0.015 mm Ultra-Fine Tuning\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"margin: 0; font-size: 14.5px; color: #555;\"\u003eEach adjustment click moves the burrs by approximately 0.015 mm, allowing you to make very small and repeatable recipe changes when dialing in espresso, pour-over, or French press.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 270px; background: #ffffff; border: 1px solid #ece3e8; border-top: 4px solid #4A1F3F; padding: 16px 18px; border-radius: 10px; animation: fadeInUp 0.8s ease-out 0.6s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.08), transparent); animation: shimmerWave 3.4s ease-in-out infinite 1.4s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"font-size: 13px; color: #b39aa9; font-weight: bold; letter-spacing: 1px; animation: bounce 2s ease-in-out infinite; display: inline-block; padding: 4px 10px; background: linear-gradient(135deg, #f7f3f6, #ffffff); border-radius: 20px; border: 1px solid #ece3e8;\"\u003e03\u003c\/div\u003e\n\u003cp style=\"margin: 6px 0;\"\u003e\u003cstrong\u003eExternal Adjustment Ring\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"margin: 0; font-size: 14.5px; color: #555;\"\u003eThe external camera-lens-style adjustment ring lets you change settings without opening the grinder or removing the catch cup, keeping the workflow fast, visible, and easy to repeat.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 270px; background: #ffffff; border: 1px solid #ece3e8; border-top: 4px solid #4A1F3F; padding: 16px 18px; border-radius: 10px; animation: fadeInUp 0.8s ease-out 0.7s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.08), transparent); animation: shimmerWave 3.6s ease-in-out infinite 1.6s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"font-size: 13px; color: #b39aa9; font-weight: bold; letter-spacing: 1px; animation: rotateGlow 8s linear infinite reverse; display: inline-block; padding: 4px 10px; background: linear-gradient(135deg, #f7f3f6, #ffffff); border-radius: 20px; border: 1px solid #ece3e8;\"\u003e04\u003c\/div\u003e\n\u003cp style=\"margin: 6px 0;\"\u003e\u003cstrong\u003eFull-Metal Build + Foldable Handle\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"margin: 0; font-size: 14.5px; color: #555;\"\u003eA full-metal unibody, precision bearings, and spring-assisted foldable handle give the S3 a solid premium feel while keeping it practical for smaller counters, storage, and travel.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ===== FIT CHECK ===== --\u003e\n\u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 14px; margin: 0 0 28px 0;\"\u003e\n\u003cdiv style=\"flex: 1 1 270px; background: #f3faf5; border: 1px solid #d7ecd0; border-radius: 10px; padding: 16px 18px; animation: slideInLeft 0.8s ease-out 0.8s both; position: relative; overflow: hidden;\"\u003e\n\u003cspan style=\"position: absolute; top: 10px; right: 15px; font-size: 16px; color: #6e9877; animation: sparkle 2s ease-in-out infinite; display: inline-block;\"\u003e✨\u003c\/span\u003e \u003cspan style=\"position: absolute; top: 20px; right: 35px; font-size: 12px; color: #6e9877; animation: sparkle 2s ease-in-out infinite 0.5s; display: inline-block;\"\u003e✨\u003c\/span\u003e\n\u003cp style=\"margin: 0 0 8px 0;\"\u003e\u003cstrong style=\"animation: pulse 2s ease-in-out infinite; display: inline-block;\"\u003e✓ Perfect for you if…\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul style=\"margin: 0; padding-left: 18px; font-size: 14.5px; color: #444;\"\u003e\n\u003cli style=\"animation: fadeInUp 0.6s ease-out 0.2s both; animation-delay: 0.9s;\"\u003eYou value precise, repeatable grind changes.\u003c\/li\u003e\n\u003cli style=\"animation: fadeInUp 0.6s ease-out 0.2s both; animation-delay: 1s;\"\u003eYou brew espresso, pour-over, AeroPress, or French press.\u003c\/li\u003e\n\u003cli style=\"animation: fadeInUp 0.6s ease-out 0.2s both; animation-delay: 1.1s;\"\u003eYou want a premium hand grinder that is compact enough to travel.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 270px; background: #f7f4fb; border: 1px solid #e2dcef; border-radius: 10px; padding: 16px 18px; animation: slideInRight 0.8s ease-out 0.9s both; position: relative; overflow: hidden;\"\u003e\n\u003cspan style=\"position: absolute; top: 8px; right: 12px; font-size: 18px; animation: float 3s ease-in-out infinite; display: inline-block;\"\u003e☕\u003c\/span\u003e\n\u003cdiv style=\"position: absolute; top: 0; right: 20px; width: 3px; height: 10px; background: linear-gradient(to top, rgba(74,31,63,0.2), transparent); border-radius: 50%; filter: blur(2px); animation: particleFloat 2s ease-in-out infinite 0.2s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cp style=\"margin: 0 0 8px 0;\"\u003e\u003cstrong style=\"animation: wobble 3s ease-in-out infinite; display: inline-block;\"\u003e☕ Small changes, big flavour difference\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"margin: 0; font-size: 14.5px; color: #444;\"\u003eThe S3 gives you the adjustment resolution to make small recipe corrections instead of large jumps. That is especially useful when a coffee tastes almost right but needs a slight change in flow, extraction, or clarity.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ===== TECH \/ BURR BLOCK ===== --\u003e\n\u003ch3 style=\"font-size: 20px; color: #4a1f3f; margin: 28px 0 14px 0; animation: slideInLeft 0.6s ease-out; position: relative; display: inline-block;\"\u003eEngineered for Precision \u003cspan style=\"position: absolute; bottom: -4px; left: 0; width: 40px; height: 2px; background: linear-gradient(90deg, #4A1F3F, #c9a96a); animation: slideUpReveal 0.8s ease-out 0.5s both;\"\u003e\u003c\/span\u003e\n\u003c\/h3\u003e\n\u003cdiv style=\"background: linear-gradient(135deg, #1a0f1a 0%, #2d1f2d 50%, #1a0f1a 100%); border: 2px solid #4A1F3F; border-radius: 16px; padding: 28px; margin: 0 0 28px 0; animation: fadeInUp 0.8s ease-out 1s both; position: relative; overflow: hidden; box-shadow: 0 8px 32px rgba(74,31,63,0.3);\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: 0; right: 0; bottom: 0; opacity: 0.1; background-image: linear-gradient(rgba(201,169,106,0.3) 1px, transparent 1px), linear-gradient(90deg, rgba(201,169,106,0.3) 1px, transparent 1px); background-size: 30px 30px; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 20%; left: 15%; width: 6px; height: 6px; background: rgba(201,169,106,0.6); border-radius: 50%; filter: blur(2px); animation: particleFloat 4s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 60%; left: 80%; width: 8px; height: 8px; background: rgba(201,169,106,0.5); border-radius: 50%; filter: blur(2px); animation: particleFloat 5s ease-in-out infinite 1s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 40%; left: 90%; width: 5px; height: 5px; background: rgba(201,169,106,0.4); border-radius: 50%; filter: blur(2px); animation: particleFloat 4.5s ease-in-out infinite 0.5s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 80%; left: 25%; width: 7px; height: 7px; background: rgba(201,169,106,0.5); border-radius: 50%; filter: blur(2px); animation: particleFloat 5.5s ease-in-out infinite 1.5s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 280px; height: 280px; border: 2px solid rgba(201,169,106,0.15); border-radius: 50%; animation: techRotate 20s linear infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 320px; height: 320px; border: 1px dashed rgba(201,169,106,0.1); border-radius: 50%; animation: techRotate 30s linear infinite reverse;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.6), transparent); animation: scanline 3s ease-in-out infinite; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: relative; z-index: 1; text-align: center;\"\u003e\n\u003cdiv style=\"margin: 0 auto 20px auto; width: 110px; height: 110px; position: relative;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(circle, rgba(201,169,106,0.3), transparent 70%); border-radius: 50%; animation: arGlow 3s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 28px; left: 28px; width: 54px; height: 54px; border: 4px solid #c9a96a; border-radius: 50%; box-shadow: inset 0 0 0 7px rgba(74,31,63,0.8), 0 0 18px rgba(201,169,106,0.6); animation: grindRotate 3s linear infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 12px; left: 43px; width: 24px; height: 24px; border-radius: 50%; border: 3px dotted rgba(244,212,147,0.9); animation: dialTurn 2.6s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 53px; left: 52px; width: 8px; height: 8px; background: #f4d493; border-radius: 50%; animation: dialTick 1.3s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background: rgba(74,31,63,0.3); border: 1px solid rgba(201,169,106,0.3); border-radius: 12px; padding: 18px; margin: 0 auto 24px auto; max-width: 440px; backdrop-filter: blur(10px);\"\u003e\n\u003cdiv style=\"display: flex; justify-content: space-around; margin-bottom: 16px; flex-wrap: wrap; gap: 12px;\"\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cdiv style=\"font-size: 24px; font-weight: bold; color: #c9a96a; animation: dataPulse 2s ease-in-out infinite;\"\u003e0.015 mm\u003c\/div\u003e\n\u003cdiv style=\"font-size: 11px; color: #b39aa9; text-transform: uppercase; letter-spacing: 1px; margin-top: 4px;\"\u003ePer Click\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cdiv style=\"font-size: 24px; font-weight: bold; color: #c9a96a; animation: dataPulse 2s ease-in-out infinite 0.3s;\"\u003e5 µm\u003c\/div\u003e\n\u003cdiv style=\"font-size: 11px; color: #b39aa9; text-transform: uppercase; letter-spacing: 1px; margin-top: 4px;\"\u003eBearing Tolerance\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cdiv style=\"font-size: 24px; font-weight: bold; color: #c9a96a; animation: dataPulse 2s ease-in-out infinite 0.6s;\"\u003eS2C\u003c\/div\u003e\n\u003cdiv style=\"font-size: 11px; color: #b39aa9; text-transform: uppercase; letter-spacing: 1px; margin-top: 4px;\"\u003eBurr Geometry\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"height: 2px; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.5), transparent); margin: 12px 0;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"font-size: 11px; color: #b39aa9; letter-spacing: 2px; text-transform: uppercase;\"\u003eExternal Dial Precision System\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; background: linear-gradient(135deg, #4A1F3F 0%, #6b3059 50%, #4A1F3F 100%); background-size: 200% 100%; color: #ffffff; padding: 20px 40px; border-radius: 20px; font-size: 16px; font-weight: bold; box-shadow: 0 8px 32px rgba(74,31,63,0.4), inset 0 2px 8px rgba(255,255,255,0.1); position: relative; overflow: hidden; animation: arHover 4s ease-in-out infinite;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.3), transparent); animation: shimmerWave 3s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan style=\"font-size: 28px; animation: dialTurn 2.6s ease-in-out infinite; position: relative; z-index: 1;\"\u003e🎚️\u003c\/span\u003e \u003cspan style=\"position: relative; z-index: 1; letter-spacing: 1px;\"\u003eDIAL IN THE DETAILS\u003c\/span\u003e \u003cspan style=\"font-size: 10px; color: #c9a96a; text-transform: uppercase; letter-spacing: 2px; position: relative; z-index: 1;\"\u003ePrecision Hand Grinding\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp style=\"margin: 20px 0 0 0; font-size: 13px; color: #b39aa9; line-height: 1.6; max-width: 520px; margin-left: auto; margin-right: auto;\"\u003eConsistent grinding starts with a stable burr set and meaningful adjustment control. The Chestnut S3 is built to help you make small, measured changes until your coffee tastes balanced, sweet, and clear.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ===== PROUDLY CANADIAN \/ ANTHONY'S BANNER ===== --\u003e\n\u003cdiv style=\"margin: 32px 0; animation: fadeInUp 0.9s ease-out 1.2s both; position: relative;\"\u003e\n\u003cdiv style=\"position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 360px; height: 360px; background: radial-gradient(circle, rgba(201,169,106,0.18), transparent 65%); border-radius: 50%; pointer-events: none; animation: pulseGlow 3s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"display: flex; align-items: center; justify-content: center; gap: 22px; background: linear-gradient(135deg, #4A1F3F 0%, #6b3059 50%, #4A1F3F 100%); background-size: 200% 100%; color: #ffffff; padding: 26px 38px; border-radius: 22px; box-shadow: 0 10px 36px rgba(74,31,63,0.35); position: relative; overflow: hidden; animation: gradientShift 5s ease-in-out infinite, arFloat 5s ease-in-out infinite; max-width: 660px; margin: 0 auto; border: 1px solid rgba(201,169,106,0.4);\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 22px; box-shadow: inset 0 0 24px rgba(201,169,106,0.25); animation: holoFade 3s ease-in-out infinite; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.18), transparent); animation: shimmerWave 3s ease-in-out infinite 1s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: 0; right: 0; bottom: 0; opacity: 0.12; background-image: linear-gradient(rgba(201,169,106,0.4) 1px, transparent 1px), linear-gradient(90deg, rgba(201,169,106,0.4) 1px, transparent 1px); background-size: 28px 28px; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"font-size: 44px; animation: mapleFloat 3.5s ease-in-out infinite, mapleRotate 7s ease-in-out infinite; position: relative; z-index: 1; filter: drop-shadow(0 4px 8px rgba(0,0,0,0.4));\"\u003e🍁\u003c\/div\u003e\n\u003cdiv style=\"display: flex; flex-direction: column; align-items: center; position: relative; z-index: 1;\"\u003e\n\u003cspan style=\"font-size: 14px; font-weight: bold; letter-spacing: 4px; text-transform: uppercase; color: #c9a96a; animation: textShimmer 2.5s ease-in-out infinite;\"\u003eProudly\u003c\/span\u003e \u003cspan style=\"font-size: 30px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; margin-top: 2px; text-shadow: 0 2px 12px rgba(201,169,106,0.5); animation: glowPulse 2.5s ease-in-out infinite;\"\u003eCanadian\u003c\/span\u003e \u003cspan style=\"display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: #e8d4c0;\"\u003e \u003cspan style=\"width: 30px; height: 1px; background: linear-gradient(90deg, transparent, #c9a96a);\"\u003e\u003c\/span\u003e Anthony’s Espresso \u003cspan style=\"width: 30px; height: 1px; background: linear-gradient(90deg, #c9a96a, transparent);\"\u003e\u003c\/span\u003e \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"font-size: 44px; animation: mapleFloat 3.5s ease-in-out infinite 0.6s, mapleRotate 7s ease-in-out infinite reverse; position: relative; z-index: 1; filter: drop-shadow(0 4px 8px rgba(0,0,0,0.4));\"\u003e🍁\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp style=\"margin: 16px 0 0 0; font-size: 13px; color: #8a7a83; text-align: center; line-height: 1.6; animation: fadeInUp 0.6s ease-out 0.4s both;\"\u003eVisit Anthony’s Espresso in Vaughan or Toronto for coffee grinders, espresso machines, fresh beans, accessories, parts, and practical local coffee advice.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ===== FULL SPEC TABLE ===== --\u003e\n\u003ch3 style=\"font-size: 20px; color: #4a1f3f; margin: 0 0 14px 0; animation: slideInLeft 0.6s ease-out; position: relative; display: inline-block;\"\u003eFull Specifications \u003cspan style=\"position: absolute; bottom: -4px; left: 0; width: 40px; height: 2px; background: linear-gradient(90deg, #4A1F3F, #c9a96a); animation: slideUpReveal 0.8s ease-out 0.5s both;\"\u003e\u003c\/span\u003e\n\u003c\/h3\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 14px; margin: 0 0 28px 0; animation: scaleIn 0.8s ease-out 1.1s both; border: 1px solid #ece3e8; border-radius: 10px; overflow: hidden; position: relative;\"\u003e\n\u003ctbody style=\"position: relative; z-index: 1;\"\u003e\n\u003ctr style=\"background: #4A1F3F; color: #ffffff;\"\u003e\n\u003ctd colspan=\"2\" style=\"padding: 10px 12px; border: 1px solid #4A1F3F;\"\u003e\u003cstrong\u003eProduct Information\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9; width: 45%;\"\u003e\u003cstrong\u003eRetail Name\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eTIMEMORE Chestnut S3 Grinder\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eManufacturer\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eTIMEMORE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eProduct Code\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eTIME-70TGD026AA001\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eGrinder Type\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003ePremium manual hand coffee grinder\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eColour Options\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eBlack, Olive Green, Festival Red\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background: #4A1F3F; color: #ffffff;\"\u003e\n\u003ctd colspan=\"2\" style=\"padding: 10px 12px; border: 1px solid #4A1F3F;\"\u003e\u003cstrong\u003eBurrs and Adjustment\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eBurr Type\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003ePatented Spike-to-Cut (S2C) 890 burrs\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eGrind Adjustment\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eExternal camera-lens-style adjustment ring\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eAdjustment Precision\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eApprox. 0.015 mm per click\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eAdjustment Feedback\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eAudible click feedback\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eBearing Tolerance\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003e5 µm\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eBrew Compatibility\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eEspresso, pour-over, AeroPress, and French press\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background: #4A1F3F; color: #ffffff;\"\u003e\n\u003ctd colspan=\"2\" style=\"padding: 10px 12px; border: 1px solid #4A1F3F;\"\u003e\u003cstrong\u003eConstruction and Handling\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eBody Construction\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eFull-metal unibody\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eCentral Bearing System\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eHigh-precision customized bearing system\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eHandle\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eSpring-assisted foldable handle\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003ePortability\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eCompact design for countertop, storage, or travel use\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c!-- ===== ANTHONY'S VALUE STRIP ===== --\u003e\n\u003cdiv style=\"background: linear-gradient(135deg, #4A1F3F 0%, #6b3059 100%); color: #ffffff; padding: 22px 24px; border-radius: 12px; margin: 0 0 20px 0; animation: fadeInUp 0.8s ease-out 1.3s both; box-shadow: 0 4px 16px rgba(74,31,63,0.2); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 200%; height: 200%; background: radial-gradient(circle, rgba(255,255,255,0.05) 0%, transparent 70%); animation: ripple 3s ease-out infinite; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.15), transparent); animation: shimmerWave 3s ease-in-out infinite 1s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cp style=\"margin: 0 0 12px 0; font-size: 17px; position: relative; z-index: 1;\"\u003e\u003cstrong style=\"animation: colorPop 3s ease-in-out infinite; display: inline-block; padding: 4px 12px; background: linear-gradient(135deg, #4A1F3F, #6b3059, #4A1F3F); background-size: 200% 100%; border-radius: 20px;\"\u003eThe Anthony’s Difference\u003c\/strong\u003e\u003c\/p\u003e\n\u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 10px 24px; font-size: 14px; position: relative; z-index: 1;\"\u003e\n\u003cspan style=\"animation: float 3s ease-in-out infinite; display: inline-flex; align-items: center; gap: 6px;\"\u003e\u003cspan style=\"animation: heartbeat 2s ease-in-out infinite;\"\u003e⚙️\u003c\/span\u003e Grinders for home and professional setups\u003c\/span\u003e \u003cspan style=\"animation: float 3s ease-in-out infinite 0.3s; display: inline-flex; align-items: center; gap: 6px;\"\u003e\u003cspan style=\"animation: wobble 3s ease-in-out infinite;\"\u003e🏪\u003c\/span\u003e Vaughan and Toronto showrooms\u003c\/span\u003e \u003cspan style=\"animation: float 3s ease-in-out infinite 0.6s; display: inline-flex; align-items: center; gap: 6px;\"\u003e\u003cspan style=\"animation: bounce 2s ease-in-out infinite;\"\u003e☕\u003c\/span\u003e Fresh beans, machines and accessories\u003c\/span\u003e \u003cspan style=\"animation: float 3s ease-in-out infinite 0.9s; display: inline-flex; align-items: center; gap: 6px;\"\u003e\u003cspan style=\"animation: sparkle 2s ease-in-out infinite;\"\u003e🇨🇦\u003c\/span\u003e Real local espresso specialists\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ===== ANTHONY'S-ONLY CTA ===== --\u003e\n\u003cdiv style=\"background: linear-gradient(135deg, #faf8f9 0%, #f7f3f6 100%); border: 1px solid #ece3e8; border-radius: 12px; padding: 20px; animation: fadeInUp 0.8s ease-out 1.4s both; position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; right: 0; width: 160px; height: 160px; background: radial-gradient(circle, rgba(201,169,106,0.13), transparent 70%); animation: pulse 4s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cp style=\"font-size: 16px; color: #4a1f3f; margin: 0 0 10px 0; position: relative; z-index: 1;\"\u003e\u003cstrong\u003eNeed help matching a grinder to your brew method?\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"font-size: 14px; color: #555; margin: 0 0 16px 0; position: relative; z-index: 1;\"\u003eVisit Anthony’s Espresso in Vaughan or Toronto to compare hand grinders, electric grinders, coffee machines, accessories, and beans. Our team can help you choose the right grinder for espresso, pour-over, French press, or travel brewing.\u003c\/p\u003e\n\u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 10px; position: relative; z-index: 1;\"\u003e\n\u003ca href=\"https:\/\/anthonysespresso.com\/collections\/espresso-coffee-bean-grinders\" rel=\"noopener noreferrer\" style=\"flex: 1 1 220px; text-align: center; display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: linear-gradient(135deg, #4A1F3F, #6b3059); color: #ffffff; padding: 11px 18px; border-radius: 24px; font-size: 14px; font-weight: bold; text-decoration: none; box-shadow: 0 4px 12px rgba(74,31,63,0.25);\" target=\"_blank\"\u003e \u003cspan\u003eShop Coffee Grinders\u003c\/span\u003e \u003cspan style=\"font-size: 18px;\"\u003e➜\u003c\/span\u003e \u003c\/a\u003e \u003ca href=\"https:\/\/anthonysespresso.com\/pages\/contact\" rel=\"noopener noreferrer\" style=\"flex: 1 1 220px; text-align: center; display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: #ffffff; color: #4a1f3f; padding: 11px 18px; border-radius: 24px; font-size: 14px; font-weight: bold; text-decoration: none; border: 1px solid #4A1F3F; box-shadow: 0 4px 12px rgba(0,0,0,0.08);\" target=\"_blank\"\u003e \u003cspan\u003eVisit Our Showrooms\u003c\/span\u003e \u003cspan style=\"font-size: 18px;\"\u003e📍\u003c\/span\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003cp style=\"font-size: 13px; color: #8a7a83; margin: 14px 0 0 0; text-align: center; position: relative; z-index: 1;\"\u003eOr call Anthony’s Espresso at \u003ca href=\"tel:19052640433\" style=\"color: #4a1f3f; font-weight: bold; text-decoration: underline;\"\u003e905-264-0433\u003c\/a\u003e for help choosing the right grinder, coffee, and brewing gear.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e```\u003c\/p\u003e","brand":"TIMEMORE","offers":[{"title":"Default Title","offer_id":51256989745404,"sku":null,"price":189.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/8529\/4588\/files\/cb00ce6f-ce76-407c-afd1-37c00a2557af_d3913c0b-0ae0-40bf-a57e-fa782926224c.webp?v=1789232632"},{"product_id":"timemore-chestnut-nano-3-grinder","title":"TIMEMORE Chestnut Nano 3 Grinder","description":"\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003cdiv style=\"max-width: 920px; margin: 0 auto; color: #2b2b2b; line-height: 1.65; font-size: 16px; font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\"\u003e\u003c!-- ===== ADVANCED ANIMATION STYLES ===== --\u003e\u003c\/div\u003e\n\u003cstyle\u003e\n  @keyframes fadeInUp {\n    from { opacity: 0; transform: translateY(20px); }\n    to { opacity: 1; transform: translateY(0); }\n  }\n  @keyframes fadeInDown {\n    from { opacity: 0; transform: translateY(-20px); }\n    to { opacity: 1; transform: translateY(0); }\n  }\n  @keyframes pulse {\n    0%, 100% { transform: scale(1); }\n    50% { transform: scale(1.03); }\n  }\n  @keyframes float {\n    0%, 100% { transform: translateY(0); }\n    50% { transform: translateY(-6px); }\n  }\n  @keyframes grindRotate {\n    0% { transform: rotate(0deg); }\n    100% { transform: rotate(360deg); }\n  }\n  @keyframes grindHandle {\n    0%, 100% { transform: rotate(0deg); }\n    25% { transform: rotate(90deg); }\n    50% { transform: rotate(180deg); }\n    75% { transform: rotate(270deg); }\n  }\n  @keyframes foldHandle {\n    0%, 100% { transform: rotate(0deg) translateX(0); }\n    50% { transform: rotate(-70deg) translateX(-4px); }\n  }\n  @keyframes beanDrop {\n    0% { opacity: 0; transform: translateY(-8px) rotate(0deg); }\n    20% { opacity: 1; }\n    80% { opacity: 1; transform: translateY(16px) rotate(180deg); }\n    100% { opacity: 0; transform: translateY(22px) rotate(240deg); }\n  }\n  @keyframes particleScatter {\n    0%, 100% { opacity: 0.25; transform: translateY(0) translateX(0) scale(0.8); }\n    50% { opacity: 1; transform: translateY(-14px) translateX(8px) scale(1.1); }\n  }\n  @keyframes bounce {\n    0%, 100% { transform: translateY(0); }\n    50% { transform: translateY(-4px); }\n  }\n  @keyframes slideInLeft {\n    from { opacity: 0; transform: translateX(-25px); }\n    to { opacity: 1; transform: translateX(0); }\n  }\n  @keyframes slideInRight {\n    from { opacity: 0; transform: translateX(25px); }\n    to { opacity: 1; transform: translateX(0); }\n  }\n  @keyframes scaleIn {\n    from { opacity: 0; transform: scale(0.85); }\n    to { opacity: 1; transform: scale(1); }\n  }\n  @keyframes gradientShift {\n    0% { background-position: 0% 50%; }\n    50% { background-position: 100% 50%; }\n    100% { background-position: 0% 50%; }\n  }\n  @keyframes ripple {\n    0% { box-shadow: 0 0 0 0 rgba(74,31,63,0.4); }\n    70% { box-shadow: 0 0 0 12px rgba(74,31,63,0); }\n    100% { box-shadow: 0 0 0 0 rgba(74,31,63,0); }\n  }\n  @keyframes sparkle {\n    0%, 100% { opacity: 0; transform: scale(0) rotate(0deg); }\n    50% { opacity: 1; transform: scale(1) rotate(180deg); }\n  }\n  @keyframes wobble {\n    0%, 100% { transform: rotate(0deg); }\n    25% { transform: rotate(-3deg); }\n    75% { transform: rotate(3deg); }\n  }\n  @keyframes slideUpReveal {\n    0% { clip-path: inset(100% 0 0 0); }\n    100% { clip-path: inset(0 0 0 0); }\n  }\n  @keyframes heartbeat {\n    0%, 100% { transform: scale(1); }\n    10%, 30% { transform: scale(1.08); }\n    20%, 40% { transform: scale(1); }\n  }\n  @keyframes colorPop {\n    0%, 100% { background: #4A1F3F; }\n    50% { background: #6b3059; }\n  }\n  @keyframes shimmerWave {\n    0% { transform: translateX(-100%); }\n    100% { transform: translateX(100%); }\n  }\n  @keyframes glowPulse {\n    0%, 100% { text-shadow: 0 0 5px rgba(74,31,63,0.3); }\n    50% { text-shadow: 0 0 15px rgba(74,31,63,0.6), 0 0 5px rgba(201,169,106,0.4); }\n  }\n  @keyframes bounceIn {\n    0% { opacity: 0; transform: scale(0.3); }\n    50% { opacity: 1; transform: scale(1.05); }\n    70% { transform: scale(0.9); }\n    100% { transform: scale(1); }\n  }\n  @keyframes rotateGlow {\n    0% { transform: rotate(0deg); filter: brightness(1); }\n    50% { transform: rotate(180deg); filter: brightness(1.2); }\n    100% { transform: rotate(360deg); filter: brightness(1); }\n  }\n  @keyframes moveUpgrade {\n    0% { left: 0%; opacity: 0; transform: translateX(0) scale(0.8); }\n    10% { opacity: 1; transform: translateX(0) scale(1); }\n    45% { opacity: 1; transform: translateX(0) scale(1); }\n    50% { opacity: 0; transform: translateX(0) scale(0.8); }\n    51% { left: 100%; opacity: 0; transform: translateX(-100%) scale(0.8); }\n    60% { opacity: 1; transform: translateX(-100%) scale(1); }\n    95% { opacity: 1; transform: translateX(-100%) scale(1); }\n    100% { opacity: 0; transform: translateX(-100%) scale(0.8); }\n  }\n  @keyframes moveArrow {\n    0% { left: 0%; opacity: 0; transform: translateX(0) translateY(-10px); }\n    10% { opacity: 1; transform: translateX(0) translateY(0); }\n    45% { opacity: 1; transform: translateX(0) translateY(0); }\n    50% { opacity: 0; transform: translateX(0) translateY(10px); }\n    51% { left: 100%; opacity: 0; transform: translateX(-100%) translateY(10px); }\n    60% { opacity: 1; transform: translateX(-100%) translateY(0); }\n    95% { opacity: 1; transform: translateX(-100%) translateY(0); }\n    100% { opacity: 0; transform: translateX(-100%) translateY(-10px); }\n  }\n  @keyframes upgradeGlow {\n    0%, 100% { box-shadow: 0 2px 12px rgba(201,169,106,0.6), 0 0 0 rgba(255,215,0,0); }\n    50% { box-shadow: 0 4px 20px rgba(201,169,106,0.9), 0 0 15px rgba(255,215,0,0.5); }\n  }\n  @keyframes arrowPulse {\n    0%, 100% { transform: translateX(0) translateY(0) scale(1); filter: brightness(1); }\n    50% { transform: translateX(0) translateY(0) scale(1.2); filter: brightness(1.3); }\n  }\n  @keyframes arFloat {\n    0%, 100% { transform: translateY(0) rotateX(0deg); }\n    50% { transform: translateY(-12px) rotateX(5deg); }\n  }\n  @keyframes arHover {\n    0%, 100% { transform: translateY(0) scale(1); }\n    50% { transform: translateY(-8px) scale(1.02); }\n  }\n  @keyframes scanline {\n    0% { top: 0%; opacity: 0; }\n    10% { opacity: 1; }\n    90% { opacity: 1; }\n    100% { top: 100%; opacity: 0; }\n  }\n  @keyframes particleFloat {\n    0%, 100% { transform: translateY(0) translateX(0); opacity: 0.6; }\n    50% { transform: translateY(-20px) translateX(10px); opacity: 1; }\n  }\n  @keyframes arGlow {\n    0%, 100% { box-shadow: 0 0 20px rgba(74,31,63,0.3), 0 0 40px rgba(201,169,106,0.2); }\n    50% { box-shadow: 0 0 40px rgba(74,31,63,0.5), 0 0 80px rgba(201,169,106,0.4); }\n  }\n  @keyframes techRotate {\n    0% { transform: rotate(0deg); opacity: 0.3; }\n    50% { transform: rotate(180deg); opacity: 0.8; }\n    100% { transform: rotate(360deg); opacity: 0.3; }\n  }\n  @keyframes dataPulse {\n    0%, 100% { opacity: 0.4; transform: scale(1); }\n    50% { opacity: 1; transform: scale(1.05); }\n  }\n  @keyframes holoFade {\n    0%, 100% { opacity: 0.3; }\n    50% { opacity: 0.8; }\n  }\n  @keyframes mapleFloat {\n    0%, 100% { transform: translateY(0) rotate(0deg); }\n    50% { transform: translateY(-6px) rotate(6deg); }\n  }\n  @keyframes mapleRotate {\n    0%, 100% { transform: rotate(0deg); }\n    25% { transform: rotate(-6deg); }\n    75% { transform: rotate(6deg); }\n  }\n  @keyframes pulseGlow {\n    0%, 100% { opacity: 0.5; transform: translate(-50%, -50%) scale(1); }\n    50% { opacity: 0.9; transform: translate(-50%, -50%) scale(1.08); }\n  }\n  @keyframes textShimmer {\n    0%, 100% { opacity: 1; }\n    50% { opacity: 0.75; }\n  }\n\u003c\/style\u003e\n\u003cdiv style=\"max-width: 920px; margin: 0 auto; color: #2b2b2b; line-height: 1.65; font-size: 16px; font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\"\u003e\n\u003c!-- ===== INTRO ===== --\u003e\n\u003cdiv style=\"animation: fadeInUp 0.8s ease-out; position: relative;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.4), transparent); animation: shimmerWave 2s ease-in-out infinite 1s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cp style=\"font-size: 18px; margin: 0 0 6px 0; animation: fadeInUp 0.8s ease-out 0.2s both; position: relative; z-index: 1;\"\u003eThe \u003cspan style=\"color: #4a1f3f; text-decoration: underline; display: inline-block;\"\u003eTIMEMORE Chestnut Nano 3 Grinder\u003c\/span\u003e is a compact premium hand grinder made for coffee drinkers who want reliable grind quality without giving up portability.\u003c\/p\u003e\n\u003cp style=\"font-size: 15px; color: #666; margin: 0 0 20px 0; animation: fadeInUp 0.8s ease-out 0.3s both; position: relative;\"\u003eWith upgraded S2C 660 burrs, a smooth dual-bearing grind shaft, spring-supported inner burr positioning, a foldable magnetic handle, and a 15 g capacity, the Nano 3 is designed for a single fresh cup wherever you go—from a hotel room or campsite to an AeroPress, pour-over, or compact home brewing station.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ===== QUICK FACTS STRIP ===== --\u003e\n\u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 28px 0;\"\u003e\n\u003cdiv style=\"flex: 1 1 130px; min-width: 130px; background: #faf8f9; border: 1px solid #ece3e8; border-radius: 10px; padding: 12px 10px; text-align: center; animation: bounceIn 0.8s ease-out 0.2s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"font-size: 22px; animation: grindRotate 2.8s linear infinite; position: relative; z-index: 1;\"\u003e⚙️\u003c\/div\u003e\n\u003cdiv style=\"font-size: 12px; color: #8a7a83; text-transform: uppercase; letter-spacing: 0.5px; margin-top: 4px; position: relative; z-index: 1;\"\u003eBurrs\u003c\/div\u003e\n\u003cdiv style=\"font-size: 14px; font-weight: 600; color: #4a1f3f; position: relative; z-index: 1;\"\u003eS2C 660\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 130px; min-width: 130px; background: #faf8f9; border: 1px solid #ece3e8; border-radius: 10px; padding: 12px 10px; text-align: center; animation: bounceIn 0.8s ease-out 0.3s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"font-size: 22px; animation: float 3s ease-in-out infinite; position: relative; z-index: 1;\"\u003e⚖️\u003c\/div\u003e\n\u003cdiv style=\"font-size: 12px; color: #8a7a83; text-transform: uppercase; letter-spacing: 0.5px; margin-top: 4px; position: relative; z-index: 1;\"\u003eWeight\u003c\/div\u003e\n\u003cdiv style=\"font-size: 14px; font-weight: 600; color: #4a1f3f; position: relative; z-index: 1;\"\u003e360 g\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 130px; min-width: 130px; background: #faf8f9; border: 1px solid #ece3e8; border-radius: 10px; padding: 12px 10px; text-align: center; animation: bounceIn 0.8s ease-out 0.4s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"font-size: 22px; animation: pulse 2s ease-in-out infinite; position: relative; z-index: 1;\"\u003e☕\u003c\/div\u003e\n\u003cdiv style=\"font-size: 12px; color: #8a7a83; text-transform: uppercase; letter-spacing: 0.5px; margin-top: 4px; position: relative; z-index: 1;\"\u003eCapacity\u003c\/div\u003e\n\u003cdiv style=\"font-size: 14px; font-weight: 600; color: #4a1f3f; position: relative; z-index: 1;\"\u003e15 g\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 130px; min-width: 130px; background: #faf8f9; border: 1px solid #ece3e8; border-radius: 10px; padding: 12px 10px; text-align: center; animation: bounceIn 0.8s ease-out 0.5s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"font-size: 22px; animation: foldHandle 2.5s ease-in-out infinite; position: relative; z-index: 1;\"\u003e🧳\u003c\/div\u003e\n\u003cdiv style=\"font-size: 12px; color: #8a7a83; text-transform: uppercase; letter-spacing: 0.5px; margin-top: 4px; position: relative; z-index: 1;\"\u003eHandle\u003c\/div\u003e\n\u003cdiv style=\"font-size: 14px; font-weight: 600; color: #4a1f3f; position: relative; z-index: 1;\"\u003eFoldable\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ===== PORTABILITY BAR ===== --\u003e\n\u003cdiv style=\"background: #faf8f9; border: 1px solid #ece3e8; border-radius: 10px; padding: 14px 18px; margin: 0 0 28px 0; animation: fadeInUp 0.8s ease-out 0.6s both; position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent); animation: shimmerWave 2s ease-in-out infinite 1s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; position: relative; z-index: 1;\"\u003e\n\u003cspan style=\"font-size: 14px; font-weight: 600; color: #4a1f3f; animation: glowPulse 2s ease-in-out infinite;\"\u003ePORTABILITY LEVEL\u003c\/span\u003e \u003cspan style=\"font-size: 13px; color: #666; animation: fadeInDown 0.8s ease-out 0.3s both;\"\u003eCompact Daily Coffee + Travel Brewing\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"position: relative; margin-top: 12px;\"\u003e\n\u003cdiv style=\"display: flex; gap: 4px; position: relative; z-index: 1;\"\u003e\n\u003cdiv style=\"flex: 1; height: 10px; border-radius: 5px; background: linear-gradient(90deg, #e2d8de, #f0e8ec, #e2d8de); animation: fadeInUp 0.6s ease-out 0.2s both;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"flex: 1; height: 10px; border-radius: 5px; background: linear-gradient(90deg, #4A1F3F, #6b3059, #4A1F3F); animation: fadeInUp 0.6s ease-out 0.3s both, gradientShift 3s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"flex: 1; height: 10px; border-radius: 5px; background: linear-gradient(90deg, #4A1F3F, #6b3059, #4A1F3F); animation: fadeInUp 0.6s ease-out 0.4s both, gradientShift 3s ease-in-out infinite 0.2s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"flex: 1; height: 10px; border-radius: 5px; background: linear-gradient(90deg, #4A1F3F, #6b3059, #4A1F3F); animation: fadeInUp 0.6s ease-out 0.5s both, gradientShift 3s ease-in-out infinite 0.4s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"flex: 1; height: 10px; border-radius: 5px; background: linear-gradient(90deg, #4A1F3F, #6b3059, #4A1F3F); animation: fadeInUp 0.6s ease-out 0.6s both, gradientShift 3s ease-in-out infinite 0.6s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 8px; left: 0; width: 100%; height: 10px; pointer-events: none; z-index: 2;\"\u003e\n\u003cdiv style=\"position: absolute; background: linear-gradient(135deg, #c9a96a, #ffd700, #c9a96a); color: #4a1f3f; font-size: 10px; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; padding: 3px 10px; border-radius: 12px; white-space: nowrap; box-shadow: 0 2px 8px rgba(201,169,106,0.5); animation: moveUpgrade 6s ease-in-out infinite, upgradeGlow 2s ease-in-out infinite 0.5s;\"\u003eNANO 3\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 6px; left: 0; width: 100%; height: 10px; pointer-events: none; z-index: 2;\"\u003e\n\u003cdiv style=\"position: absolute; color: #c9a96a; font-size: 16px; line-height: 1; animation: moveArrow 6s ease-in-out infinite, arrowPulse 2s ease-in-out infinite 0.5s;\"\u003e▼\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"display: flex; justify-content: space-between; margin-top: 14px; position: relative; z-index: 1;\"\u003e\n\u003cspan style=\"font-size: 11px; color: #999;\"\u003eHome Counter\u003c\/span\u003e \u003cspan style=\"font-size: 11px; color: #999;\"\u003eAeroPress • Pour-Over • Travel\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp style=\"margin: 8px 0 0 0; font-size: 12.5px; color: #8a7a83; position: relative; z-index: 1;\"\u003eAt only 45 mm wide and 360 g, the Nano 3 is designed for one-cup grinding with a footprint small enough for travel bags, compact brew kits, and everyday single-dose coffee.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ===== FEATURE CARDS ===== --\u003e\n\u003ch3 style=\"font-size: 20px; color: #4a1f3f; margin: 0 0 14px 0; animation: slideInLeft 0.6s ease-out; position: relative; display: inline-block;\"\u003eWhy Choose the TIMEMORE Chestnut Nano 3 \u003cspan style=\"position: absolute; bottom: -4px; left: 0; width: 40px; height: 2px; background: linear-gradient(90deg, #4A1F3F, #c9a96a); animation: slideUpReveal 0.8s ease-out 0.5s both;\"\u003e\u003c\/span\u003e\n\u003c\/h3\u003e\n\u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 14px; margin: 0 0 28px 0;\"\u003e\n\u003cdiv style=\"flex: 1 1 270px; background: #ffffff; border: 1px solid #ece3e8; border-top: 4px solid #4A1F3F; padding: 16px 18px; border-radius: 10px; animation: fadeInUp 0.8s ease-out 0.4s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.08), transparent); animation: shimmerWave 3s ease-in-out infinite 1s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"font-size: 13px; color: #b39aa9; font-weight: bold; letter-spacing: 1px; animation: rotateGlow 8s linear infinite; display: inline-block; padding: 4px 10px; background: linear-gradient(135deg, #f7f3f6, #ffffff); border-radius: 20px; border: 1px solid #ece3e8;\"\u003e01\u003c\/div\u003e\n\u003cp style=\"margin: 6px 0;\"\u003e\u003cstrong\u003eUpgraded S2C 660 Burr Set\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"margin: 0; font-size: 14.5px; color: #555;\"\u003eThe S2C 660 burr set is designed for fast, consistent cutting that helps preserve coffee flavour and gives your beans the grind quality needed for a clean, balanced brew.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 270px; background: #ffffff; border: 1px solid #ece3e8; border-top: 4px solid #4A1F3F; padding: 16px 18px; border-radius: 10px; animation: fadeInUp 0.8s ease-out 0.5s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.08), transparent); animation: shimmerWave 3.2s ease-in-out infinite 1.2s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"font-size: 13px; color: #b39aa9; font-weight: bold; letter-spacing: 1px; animation: heartbeat 2s ease-in-out infinite; display: inline-block; padding: 4px 10px; background: linear-gradient(135deg, #f7f3f6, #ffffff); border-radius: 20px; border: 1px solid #ece3e8;\"\u003e02\u003c\/div\u003e\n\u003cp style=\"margin: 6px 0;\"\u003e\u003cstrong\u003eDesigned for Travel\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"margin: 0; font-size: 14.5px; color: #555;\"\u003eThe compact 45 mm body, 360 g weight, and foldable handle make the Nano 3 easy to pack for trips, offices, cabins, camping, or any brewing setup where countertop space is limited.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 270px; background: #ffffff; border: 1px solid #ece3e8; border-top: 4px solid #4A1F3F; padding: 16px 18px; border-radius: 10px; animation: fadeInUp 0.8s ease-out 0.6s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.08), transparent); animation: shimmerWave 3.4s ease-in-out infinite 1.4s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"font-size: 13px; color: #b39aa9; font-weight: bold; letter-spacing: 1px; animation: bounce 2s ease-in-out infinite; display: inline-block; padding: 4px 10px; background: linear-gradient(135deg, #f7f3f6, #ffffff); border-radius: 20px; border: 1px solid #ece3e8;\"\u003e03\u003c\/div\u003e\n\u003cp style=\"margin: 6px 0;\"\u003e\u003cstrong\u003eSmooth Dual-Bearing Grind Shaft\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"margin: 0; font-size: 14.5px; color: #555;\"\u003eTwo ball bearings stabilize the grind shaft while the spring mechanism keeps the inner burr securely positioned, supporting smooth turning and a more precise manual-grinding experience.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 270px; background: #ffffff; border: 1px solid #ece3e8; border-top: 4px solid #4A1F3F; padding: 16px 18px; border-radius: 10px; animation: fadeInUp 0.8s ease-out 0.7s both; box-shadow: 0 2px 8px rgba(0,0,0,0.04); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.08), transparent); animation: shimmerWave 3.6s ease-in-out infinite 1.6s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"font-size: 13px; color: #b39aa9; font-weight: bold; letter-spacing: 1px; animation: rotateGlow 8s linear infinite reverse; display: inline-block; padding: 4px 10px; background: linear-gradient(135deg, #f7f3f6, #ffffff); border-radius: 20px; border: 1px solid #ece3e8;\"\u003e04\u003c\/div\u003e\n\u003cp style=\"margin: 6px 0;\"\u003e\u003cstrong\u003eThoughtful Folding Handle\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"margin: 0; font-size: 14.5px; color: #555;\"\u003eThe spring-based foldable handle stores neatly against the grinder body, while the magnetic wooden handle knob snaps back into place for an intentionally designed, practical travel workflow.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ===== FIT CHECK ===== --\u003e\n\u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 14px; margin: 0 0 28px 0;\"\u003e\n\u003cdiv style=\"flex: 1 1 270px; background: #f3faf5; border: 1px solid #d7ecd0; border-radius: 10px; padding: 16px 18px; animation: slideInLeft 0.8s ease-out 0.8s both; position: relative; overflow: hidden;\"\u003e\n\u003cspan style=\"position: absolute; top: 10px; right: 15px; font-size: 16px; color: #6e9877; animation: sparkle 2s ease-in-out infinite; display: inline-block;\"\u003e✨\u003c\/span\u003e \u003cspan style=\"position: absolute; top: 20px; right: 35px; font-size: 12px; color: #6e9877; animation: sparkle 2s ease-in-out infinite 0.5s; display: inline-block;\"\u003e✨\u003c\/span\u003e\n\u003cp style=\"margin: 0 0 8px 0;\"\u003e\u003cstrong style=\"animation: pulse 2s ease-in-out infinite; display: inline-block;\"\u003e✓ Perfect for you if…\u003c\/strong\u003e\u003c\/p\u003e\n\u003cul style=\"margin: 0; padding-left: 18px; font-size: 14.5px; color: #444;\"\u003e\n\u003cli style=\"animation: fadeInUp 0.6s ease-out 0.2s both; animation-delay: 0.9s;\"\u003eYou want fresh-ground coffee while travelling.\u003c\/li\u003e\n\u003cli style=\"animation: fadeInUp 0.6s ease-out 0.2s both; animation-delay: 1s;\"\u003eYou brew one cup at a time with an AeroPress or pour-over brewer.\u003c\/li\u003e\n\u003cli style=\"animation: fadeInUp 0.6s ease-out 0.2s both; animation-delay: 1.1s;\"\u003eYou value compact design without settling for a basic blade grinder.\u003c\/li\u003e\n\u003c\/ul\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"flex: 1 1 270px; background: #f7f4fb; border: 1px solid #e2dcef; border-radius: 10px; padding: 16px 18px; animation: slideInRight 0.8s ease-out 0.9s both; position: relative; overflow: hidden;\"\u003e\n\u003cspan style=\"position: absolute; top: 8px; right: 12px; font-size: 18px; animation: float 3s ease-in-out infinite; display: inline-block;\"\u003e☕\u003c\/span\u003e\n\u003cdiv style=\"position: absolute; top: 0; right: 20px; width: 3px; height: 10px; background: linear-gradient(to top, rgba(74,31,63,0.2), transparent); border-radius: 50%; filter: blur(2px); animation: particleFloat 2s ease-in-out infinite 0.2s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cp style=\"margin: 0 0 8px 0;\"\u003e\u003cstrong style=\"animation: wobble 3s ease-in-out infinite; display: inline-block;\"\u003e☕ A compact grinder for fresh coffee anywhere\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"margin: 0; font-size: 14.5px; color: #444;\"\u003eThe 15 g capacity is designed around a single fresh serving. For a portable kit, pair it with a compact brewer, scale, kettle, and freshly roasted whole beans from Anthony’s Espresso.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ===== TECH \/ PORTABILITY BLOCK ===== --\u003e\n\u003ch3 style=\"font-size: 20px; color: #4a1f3f; margin: 28px 0 14px 0; animation: slideInLeft 0.6s ease-out; position: relative; display: inline-block;\"\u003eGrind On the Go \u003cspan style=\"position: absolute; bottom: -4px; left: 0; width: 40px; height: 2px; background: linear-gradient(90deg, #4A1F3F, #c9a96a); animation: slideUpReveal 0.8s ease-out 0.5s both;\"\u003e\u003c\/span\u003e\n\u003c\/h3\u003e\n\u003cdiv style=\"background: linear-gradient(135deg, #1a0f1a 0%, #2d1f2d 50%, #1a0f1a 100%); border: 2px solid #4A1F3F; border-radius: 16px; padding: 28px; margin: 0 0 28px 0; animation: fadeInUp 0.8s ease-out 1s both; position: relative; overflow: hidden; box-shadow: 0 8px 32px rgba(74,31,63,0.3);\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: 0; right: 0; bottom: 0; opacity: 0.1; background-image: linear-gradient(rgba(201,169,106,0.3) 1px, transparent 1px), linear-gradient(90deg, rgba(201,169,106,0.3) 1px, transparent 1px); background-size: 30px 30px; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 20%; left: 15%; width: 6px; height: 6px; background: rgba(201,169,106,0.6); border-radius: 50%; filter: blur(2px); animation: particleFloat 4s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 60%; left: 80%; width: 8px; height: 8px; background: rgba(201,169,106,0.5); border-radius: 50%; filter: blur(2px); animation: particleFloat 5s ease-in-out infinite 1s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 40%; left: 90%; width: 5px; height: 5px; background: rgba(201,169,106,0.4); border-radius: 50%; filter: blur(2px); animation: particleFloat 4.5s ease-in-out infinite 0.5s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 80%; left: 25%; width: 7px; height: 7px; background: rgba(201,169,106,0.5); border-radius: 50%; filter: blur(2px); animation: particleFloat 5.5s ease-in-out infinite 1.5s;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 280px; height: 280px; border: 2px solid rgba(201,169,106,0.15); border-radius: 50%; animation: techRotate 20s linear infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 320px; height: 320px; border: 1px dashed rgba(201,169,106,0.1); border-radius: 50%; animation: techRotate 30s linear infinite reverse;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.6), transparent); animation: scanline 3s ease-in-out infinite; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: relative; z-index: 1; text-align: center;\"\u003e\n\u003cdiv style=\"margin: 0 auto 20px auto; width: 110px; height: 110px; position: relative;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(circle, rgba(201,169,106,0.3), transparent 70%); border-radius: 50%; animation: arGlow 3s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 36px; left: 41px; width: 28px; height: 46px; border-radius: 14px; background: linear-gradient(145deg, #c9a96a, #f4d493, #8d6632); border: 3px solid rgba(255,255,255,0.28); box-shadow: 0 8px 14px rgba(0,0,0,0.35);\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 21px; left: 54px; width: 7px; height: 30px; background: #c9a96a; border-radius: 7px; transform-origin: bottom center; animation: foldHandle 2.5s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 14px; left: 49px; width: 16px; height: 16px; background: #8d6632; border-radius: 50%; box-shadow: inset 0 0 0 3px rgba(244,212,147,0.45); animation: foldHandle 2.5s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 75px; left: 28px; width: 56px; height: 8px; border-radius: 50%; background: rgba(201,169,106,0.35); filter: blur(2px); animation: pulse 2s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"background: rgba(74,31,63,0.3); border: 1px solid rgba(201,169,106,0.3); border-radius: 12px; padding: 18px; margin: 0 auto 24px auto; max-width: 440px; backdrop-filter: blur(10px);\"\u003e\n\u003cdiv style=\"display: flex; justify-content: space-around; margin-bottom: 16px; flex-wrap: wrap; gap: 12px;\"\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cdiv style=\"font-size: 24px; font-weight: bold; color: #c9a96a; animation: dataPulse 2s ease-in-out infinite;\"\u003e45 mm\u003c\/div\u003e\n\u003cdiv style=\"font-size: 11px; color: #b39aa9; text-transform: uppercase; letter-spacing: 1px; margin-top: 4px;\"\u003eDiameter\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cdiv style=\"font-size: 24px; font-weight: bold; color: #c9a96a; animation: dataPulse 2s ease-in-out infinite 0.3s;\"\u003e360 g\u003c\/div\u003e\n\u003cdiv style=\"font-size: 11px; color: #b39aa9; text-transform: uppercase; letter-spacing: 1px; margin-top: 4px;\"\u003eWeight\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"text-align: center;\"\u003e\n\u003cdiv style=\"font-size: 24px; font-weight: bold; color: #c9a96a; animation: dataPulse 2s ease-in-out infinite 0.6s;\"\u003e15 g\u003c\/div\u003e\n\u003cdiv style=\"font-size: 11px; color: #b39aa9; text-transform: uppercase; letter-spacing: 1px; margin-top: 4px;\"\u003eCapacity\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"height: 2px; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.5), transparent); margin: 12px 0;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"font-size: 11px; color: #b39aa9; letter-spacing: 2px; text-transform: uppercase;\"\u003eSingle-Cup Travel Grinder\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; background: linear-gradient(135deg, #4A1F3F 0%, #6b3059 50%, #4A1F3F 100%); background-size: 200% 100%; color: #ffffff; padding: 20px 40px; border-radius: 20px; font-size: 16px; font-weight: bold; box-shadow: 0 8px 32px rgba(74,31,63,0.4), inset 0 2px 8px rgba(255,255,255,0.1); position: relative; overflow: hidden; animation: arHover 4s ease-in-out infinite;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.3), transparent); animation: shimmerWave 3s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cspan style=\"font-size: 28px; animation: foldHandle 2.5s ease-in-out infinite; position: relative; z-index: 1;\"\u003e🧳\u003c\/span\u003e \u003cspan style=\"position: relative; z-index: 1; letter-spacing: 1px;\"\u003ePACK. GRIND. BREW.\u003c\/span\u003e \u003cspan style=\"font-size: 10px; color: #c9a96a; text-transform: uppercase; letter-spacing: 2px; position: relative; z-index: 1;\"\u003eFresh Coffee Anywhere\u003c\/span\u003e\n\u003c\/div\u003e\n\u003cp style=\"margin: 20px 0 0 0; font-size: 13px; color: #b39aa9; line-height: 1.6; max-width: 520px; margin-left: auto; margin-right: auto;\"\u003eA compact grinder makes fresh coffee possible beyond the kitchen. Pack the Nano 3 with your preferred portable brewer and whole beans to keep your daily coffee ritual consistent wherever you are.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ===== PROUDLY CANADIAN \/ ANTHONY'S BANNER ===== --\u003e\n\u003cdiv style=\"margin: 32px 0; animation: fadeInUp 0.9s ease-out 1.2s both; position: relative;\"\u003e\n\u003cdiv style=\"position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 360px; height: 360px; background: radial-gradient(circle, rgba(201,169,106,0.18), transparent 65%); border-radius: 50%; pointer-events: none; animation: pulseGlow 3s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"display: flex; align-items: center; justify-content: center; gap: 22px; background: linear-gradient(135deg, #4A1F3F 0%, #6b3059 50%, #4A1F3F 100%); background-size: 200% 100%; color: #ffffff; padding: 26px 38px; border-radius: 22px; box-shadow: 0 10px 36px rgba(74,31,63,0.35); position: relative; overflow: hidden; animation: gradientShift 5s ease-in-out infinite, arFloat 5s ease-in-out infinite; max-width: 660px; margin: 0 auto; border: 1px solid rgba(201,169,106,0.4);\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 22px; box-shadow: inset 0 0 24px rgba(201,169,106,0.25); animation: holoFade 3s ease-in-out infinite; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.18), transparent); animation: shimmerWave 3s ease-in-out infinite 1s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: 0; right: 0; bottom: 0; opacity: 0.12; background-image: linear-gradient(rgba(201,169,106,0.4) 1px, transparent 1px), linear-gradient(90deg, rgba(201,169,106,0.4) 1px, transparent 1px); background-size: 28px 28px; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"font-size: 44px; animation: mapleFloat 3.5s ease-in-out infinite, mapleRotate 7s ease-in-out infinite; position: relative; z-index: 1; filter: drop-shadow(0 4px 8px rgba(0,0,0,0.4));\"\u003e🍁\u003c\/div\u003e\n\u003cdiv style=\"display: flex; flex-direction: column; align-items: center; position: relative; z-index: 1;\"\u003e\n\u003cspan style=\"font-size: 14px; font-weight: bold; letter-spacing: 4px; text-transform: uppercase; color: #c9a96a; animation: textShimmer 2.5s ease-in-out infinite;\"\u003eProudly\u003c\/span\u003e \u003cspan style=\"font-size: 30px; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; margin-top: 2px; text-shadow: 0 2px 12px rgba(201,169,106,0.5); animation: glowPulse 2.5s ease-in-out infinite;\"\u003eCanadian\u003c\/span\u003e \u003cspan style=\"display: flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: #e8d4c0;\"\u003e \u003cspan style=\"width: 30px; height: 1px; background: linear-gradient(90deg, transparent, #c9a96a);\"\u003e\u003c\/span\u003e Anthony’s Espresso \u003cspan style=\"width: 30px; height: 1px; background: linear-gradient(90deg, #c9a96a, transparent);\"\u003e\u003c\/span\u003e \u003c\/span\u003e\n\u003c\/div\u003e\n\u003cdiv style=\"font-size: 44px; animation: mapleFloat 3.5s ease-in-out infinite 0.6s, mapleRotate 7s ease-in-out infinite reverse; position: relative; z-index: 1; filter: drop-shadow(0 4px 8px rgba(0,0,0,0.4));\"\u003e🍁\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp style=\"margin: 16px 0 0 0; font-size: 13px; color: #8a7a83; text-align: center; line-height: 1.6; animation: fadeInUp 0.6s ease-out 0.4s both;\"\u003eVisit Anthony’s Espresso in Vaughan or Toronto for hand grinders, espresso machines, brewing gear, whole beans, accessories, and practical coffee advice.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c!-- ===== FULL SPEC TABLE ===== --\u003e\n\u003ch3 style=\"font-size: 20px; color: #4a1f3f; margin: 0 0 14px 0; animation: slideInLeft 0.6s ease-out; position: relative; display: inline-block;\"\u003eFull Specifications \u003cspan style=\"position: absolute; bottom: -4px; left: 0; width: 40px; height: 2px; background: linear-gradient(90deg, #4A1F3F, #c9a96a); animation: slideUpReveal 0.8s ease-out 0.5s both;\"\u003e\u003c\/span\u003e\n\u003c\/h3\u003e\n\u003ctable style=\"width: 100%; border-collapse: collapse; font-size: 14px; margin: 0 0 28px 0; animation: scaleIn 0.8s ease-out 1.1s both; border: 1px solid #ece3e8; border-radius: 10px; overflow: hidden; position: relative;\"\u003e\n\u003ctbody style=\"position: relative; z-index: 1;\"\u003e\n\u003ctr style=\"background: #4A1F3F; color: #ffffff;\"\u003e\n\u003ctd colspan=\"2\" style=\"padding: 10px 12px; border: 1px solid #4A1F3F;\"\u003e\u003cstrong\u003eProduct Information\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9; width: 45%;\"\u003e\u003cstrong\u003eRetail Name\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eTIMEMORE Chestnut Nano 3 Grinder\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eManufacturer\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eTIMEMORE\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eProduct Code\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eTIME-NANO3-BK\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eGrinder Type\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003ePortable manual hand coffee grinder\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eColour\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eBlack\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background: #4A1F3F; color: #ffffff;\"\u003e\n\u003ctd colspan=\"2\" style=\"padding: 10px 12px; border: 1px solid #4A1F3F;\"\u003e\u003cstrong\u003eBurrs and Grinding System\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eBurr Type\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eSpike-to-Cut (S2C) 660 burr set\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eGrinding Focus\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eConsistent, fast manual grinding designed to preserve coffee flavour\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eGrind Shaft Support\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eDual ball bearings\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eInner Burr Positioning\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eSpring mechanism holds inner burr securely in position\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eRecommended Brewing Uses\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eAeroPress, pour-over, single-cup travel brewing, and other manual brew methods\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr style=\"background: #4A1F3F; color: #ffffff;\"\u003e\n\u003ctd colspan=\"2\" style=\"padding: 10px 12px; border: 1px solid #4A1F3F;\"\u003e\u003cstrong\u003eSize and Portability\u003c\/strong\u003e\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eBody Diameter\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003e45 mm \/ 1.8 in\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eWeight\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003e360 g \/ 12.7 oz\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eBean Capacity\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003e15 g \/ 0.53 oz\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eHandle\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eSpring-based foldable handle with magnetic wooden handle knob\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003ctr\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8; background: #faf8f9;\"\u003e\u003cstrong\u003eTravel Use\u003c\/strong\u003e\u003c\/td\u003e\n\u003ctd style=\"padding: 9px 12px; border: 1px solid #ece3e8;\"\u003eCompact format designed for portable coffee brewing kits\u003c\/td\u003e\n\u003c\/tr\u003e\n\u003c\/tbody\u003e\n\u003c\/table\u003e\n\u003c!-- ===== ANTHONY'S VALUE STRIP ===== --\u003e\n\u003cdiv style=\"background: linear-gradient(135deg, #4A1F3F 0%, #6b3059 100%); color: #ffffff; padding: 22px 24px; border-radius: 12px; margin: 0 0 20px 0; animation: fadeInUp 0.8s ease-out 1.3s both; box-shadow: 0 4px 16px rgba(74,31,63,0.2); position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 200%; height: 200%; background: radial-gradient(circle, rgba(255,255,255,0.05) 0%, transparent 70%); animation: ripple 3s ease-out infinite; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cdiv style=\"position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(201,169,106,0.15), transparent); animation: shimmerWave 3s ease-in-out infinite 1s; pointer-events: none;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cp style=\"margin: 0 0 12px 0; font-size: 17px; position: relative; z-index: 1;\"\u003e\u003cstrong style=\"animation: colorPop 3s ease-in-out infinite; display: inline-block; padding: 4px 12px; background: linear-gradient(135deg, #4A1F3F, #6b3059, #4A1F3F); background-size: 200% 100%; border-radius: 20px;\"\u003eThe Anthony’s Difference\u003c\/strong\u003e\u003c\/p\u003e\n\u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 10px 24px; font-size: 14px; position: relative; z-index: 1;\"\u003e\n\u003cspan style=\"animation: float 3s ease-in-out infinite; display: inline-flex; align-items: center; gap: 6px;\"\u003e\u003cspan style=\"animation: heartbeat 2s ease-in-out infinite;\"\u003e⚙️\u003c\/span\u003e Grinders for home and travel brewing\u003c\/span\u003e \u003cspan style=\"animation: float 3s ease-in-out infinite 0.3s; display: inline-flex; align-items: center; gap: 6px;\"\u003e\u003cspan style=\"animation: wobble 3s ease-in-out infinite;\"\u003e🏪\u003c\/span\u003e Vaughan and Toronto showrooms\u003c\/span\u003e \u003cspan style=\"animation: float 3s ease-in-out infinite 0.6s; display: inline-flex; align-items: center; gap: 6px;\"\u003e\u003cspan style=\"animation: bounce 2s ease-in-out infinite;\"\u003e☕\u003c\/span\u003e Whole beans, machines and accessories\u003c\/span\u003e \u003cspan style=\"animation: float 3s ease-in-out infinite 0.9s; display: inline-flex; align-items: center; gap: 6px;\"\u003e\u003cspan style=\"animation: sparkle 2s ease-in-out infinite;\"\u003e🇨🇦\u003c\/span\u003e Practical local coffee advice\u003c\/span\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003c!-- ===== ANTHONY'S-ONLY CTA ===== --\u003e\n\u003cdiv style=\"background: linear-gradient(135deg, #faf8f9 0%, #f7f3f6 100%); border: 1px solid #ece3e8; border-radius: 12px; padding: 20px; animation: fadeInUp 0.8s ease-out 1.4s both; position: relative; overflow: hidden;\"\u003e\n\u003cdiv style=\"position: absolute; top: 0; right: 0; width: 160px; height: 160px; background: radial-gradient(circle, rgba(201,169,106,0.13), transparent 70%); animation: pulse 4s ease-in-out infinite;\"\u003e\u003cbr\u003e\u003c\/div\u003e\n\u003cp style=\"font-size: 16px; color: #4a1f3f; margin: 0 0 10px 0; position: relative; z-index: 1;\"\u003e\u003cstrong\u003eBuilding a portable coffee setup?\u003c\/strong\u003e\u003c\/p\u003e\n\u003cp style=\"font-size: 14px; color: #555; margin: 0 0 16px 0; position: relative; z-index: 1;\"\u003eVisit Anthony’s Espresso in Vaughan or Toronto for hand grinders, whole coffee beans, portable brewers, filters, scales, and travel-friendly accessories. Our team can help you put together a compact kit that matches the way you brew.\u003c\/p\u003e\n\u003cdiv style=\"display: flex; flex-wrap: wrap; gap: 10px; position: relative; z-index: 1;\"\u003e\n\u003ca href=\"https:\/\/anthonysespresso.com\/collections\/espresso-coffee-bean-grinders\" rel=\"noopener noreferrer\" style=\"flex: 1 1 220px; text-align: center; display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: linear-gradient(135deg, #4A1F3F, #6b3059); color: #ffffff; padding: 11px 18px; border-radius: 24px; font-size: 14px; font-weight: bold; text-decoration: none; box-shadow: 0 4px 12px rgba(74,31,63,0.25);\" target=\"_blank\"\u003e \u003cspan\u003eShop Coffee Grinders\u003c\/span\u003e \u003cspan style=\"font-size: 18px;\"\u003e➜\u003c\/span\u003e \u003c\/a\u003e \u003ca href=\"https:\/\/anthonysespresso.com\/collections\/anthonys-espresso-beans\" rel=\"noopener noreferrer\" style=\"flex: 1 1 220px; text-align: center; display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: #ffffff; color: #4a1f3f; padding: 11px 18px; border-radius: 24px; font-size: 14px; font-weight: bold; text-decoration: none; border: 1px solid #4A1F3F; box-shadow: 0 4px 12px rgba(0,0,0,0.08);\" target=\"_blank\"\u003e \u003cspan\u003eBrowse Anthony’s Espresso Beans\u003c\/span\u003e \u003cspan style=\"font-size: 18px;\"\u003e☕\u003c\/span\u003e \u003c\/a\u003e \u003ca href=\"https:\/\/anthonysespresso.com\/pages\/contact\" rel=\"noopener noreferrer\" style=\"flex: 1 1 220px; text-align: center; display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: #ffffff; color: #4a1f3f; padding: 11px 18px; border-radius: 24px; font-size: 14px; font-weight: bold; text-decoration: none; border: 1px solid #4A1F3F; box-shadow: 0 4px 12px rgba(0,0,0,0.08);\" target=\"_blank\"\u003e \u003cspan\u003eVisit Our Showrooms\u003c\/span\u003e \u003cspan style=\"font-size: 18px;\"\u003e📍\u003c\/span\u003e \u003c\/a\u003e\n\u003c\/div\u003e\n\u003cp style=\"font-size: 13px; color: #8a7a83; margin: 14px 0 0 0; text-align: center; position: relative; z-index: 1;\"\u003eOr call Anthony’s Espresso at \u003ca href=\"tel:19052640433\" style=\"color: #4a1f3f; font-weight: bold; text-decoration: underline;\"\u003e905-264-0433\u003c\/a\u003e for help choosing the right grinder, coffee, and travel brewing gear.\u003c\/p\u003e\n\u003c\/div\u003e\n\u003c\/div\u003e\n\u003cp\u003e```\u003c\/p\u003e","brand":"TIMEMORE","offers":[{"title":"Default Title","offer_id":51256995741948,"sku":null,"price":159.0,"currency_code":"CAD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0611\/8529\/4588\/files\/88ac0bbd-198d-420a-a75d-c0b6781f3b5f_25f481e6-9efd-456e-b030-cf3e811ef599.webp?v=1789232913"}],"url":"https:\/\/anthonysespresso.com\/collections\/coffee-grinders-sale.oembed","provider":"Anthony's Espresso","version":"1.0","type":"link"}