:root{--color-primary:#3d3228;--color-primary-dark:#2c2416;--color-secondary:#5b7b4a;--color-accent:#c8a45c;--color-background:#faf7f2;--color-card:#fff;--color-text:#2c2416;--color-text-muted:#6b5f52;--color-border:#e6dfd3;--color-success:#4a7c59;--color-error:#c44e3d;--font-heading:"Playfair Display",Georgia,"Times New Roman",serif;--font-body:"Source Sans 3",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;--radius-btn:6px;--radius-card:8px;--radius-img:4px;--radius-input:6px;--shadow-subtle:0 1px 3px rgba(61,50,40,.08);--shadow-medium:0 4px 12px rgba(61,50,40,.12);--shadow-raised:0 8px 24px rgba(61,50,40,.16);--ease-standard:cubic-bezier(0.4,0,0.2,1);--ease-in:cubic-bezier(0,0,0.2,1);--ease-out:cubic-bezier(0.4,0,1,1);--duration-micro:200ms;--duration-standard:400ms;--duration-slow:600ms;--max-width:1200px;--container-pad:24px}@media (max-width:640px){:root{--container-pad:16px}}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:1.125rem;line-height:1.75;color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--color-primary);line-height:1.25;font-weight:700}h1{font-size:clamp(2.5rem,5vw,3.5rem);line-height:1.15}h2{font-size:clamp(1.75rem,3vw,2.25rem);line-height:1.25;margin-bottom:var(--space-5)}h3{font-size:1.25rem;margin-bottom:var(--space-3)}p{margin-bottom:var(--space-4)}a{color:var(--color-secondary);text-decoration:none;transition:color var(--duration-micro) var(--ease-standard)}a:hover{color:var(--color-primary)}img{max-width:100%;height:auto;display:block}.container{max-width:var(--max-width);margin:0 auto;padding-inline:var(--container-pad)}.section{padding-block:var(--space-9)}@media (max-width:640px){.section{padding-block:var(--space-7)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:12px 28px;border-radius:var(--radius-btn);font-family:var(--font-body);font-weight:600;font-size:1rem;line-height:1;border:none;cursor:pointer;text-decoration:none;transition:background var(--duration-micro) var(--ease-standard),color var(--duration-micro) var(--ease-standard),transform var(--duration-micro) var(--ease-standard),box-shadow var(--duration-micro) var(--ease-standard)}.btn-primary{background:var(--color-primary);color:var(--color-background)}.btn-primary:hover{background:var(--color-primary-dark);color:var(--color-background);transform:translateY(-1px);box-shadow:var(--shadow-medium)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-secondary:hover{background:var(--color-primary);color:var(--color-background);transform:translateY(-1px)}.btn-tertiary{background:transparent;color:var(--color-secondary);padding:8px 16px;text-decoration:underline;text-underline-offset:3px}.btn-tertiary:hover{color:var(--color-primary)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;animation:focus-pulse 2s ease-in-out infinite}@keyframes focus-pulse{0%,to{outline-color:var(--color-accent)}50%{outline-color:rgba(200,164,92,.4)}}.section-reveal{opacity:0;transform:translateY(24px);transition:opacity var(--duration-slow) var(--ease-in),transform var(--duration-slow) var(--ease-in)}.section-reveal.visible{opacity:1;transform:translateY(0)}@keyframes mill-wheel{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.mill-icon{animation:mill-wheel 20s linear infinite;transform-origin:center center}@keyframes reveal-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.hero h1{animation:reveal-up var(--duration-slow) var(--ease-in) both}.hero p{animation:reveal-up var(--duration-slow) .15s var(--ease-in) both}.hero .btn{animation:reveal-up var(--duration-slow) .3s var(--ease-in) both}.card{background:var(--color-card);border-radius:var(--radius-card);box-shadow:var(--shadow-subtle);overflow:hidden;transition:transform var(--duration-standard) var(--ease-standard),box-shadow var(--duration-standard) var(--ease-standard)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-medium)}.card-image{overflow:hidden}.card-image img{width:100%;object-fit:cover;transition:transform var(--duration-standard) var(--ease-standard)}.card:hover .card-image img{transform:scale(1.03)}.card-body{padding:var(--space-5)}.form-group{margin-bottom:var(--space-5)}.form-group label{display:block;font-weight:600;margin-bottom:var(--space-2);color:var(--color-primary)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 16px;border:1px solid var(--color-border);border-radius:var(--radius-input);font-family:var(--font-body);font-size:1rem;background:var(--color-card);color:var(--color-text);transition:border-color var(--duration-micro) var(--ease-standard),box-shadow var(--duration-micro) var(--ease-standard)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-secondary);box-shadow:0 0 0 3px rgba(91,123,74,.15);outline:none}.form-group textarea{min-height:140px;resize:vertical}.info-box{background:var(--color-card);border-left:4px solid var(--color-accent);border-radius:var(--radius-card);padding:var(--space-5);margin-bottom:var(--space-5);box-shadow:var(--shadow-subtle)}.meta{color:var(--color-text-muted);font-size:.875rem;margin-bottom:var(--space-4)}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.7}}.skeleton{background:var(--color-border);border-radius:var(--radius-card);animation:skeleton-pulse 1.5s ease-in-out infinite}.btn.btn-hero-secondary{border-color:var(--color-background);color:var(--color-background);background:rgba(44,36,22,.45)}.btn.btn-hero-secondary:hover{background:var(--color-background);color:var(--color-primary)}.mobile-menu{display:none}@media (max-width:900px){.mobile-menu{display:block;position:fixed;top:72px;right:0;bottom:0;width:min(320px,85vw);background:var(--color-card);box-shadow:var(--shadow-raised);transform:translateX(100%);transition:transform .3s var(--ease-standard);padding:var(--space-6) var(--space-5);overflow-y:auto;z-index:99}.mobile-menu.open{transform:translateX(0)}.mobile-menu-link{display:block;padding:14px 8px;color:var(--color-text);font-weight:500;font-size:1.1rem;border-bottom:1px solid var(--color-border)}.mobile-menu-link:hover{color:var(--color-primary);background:var(--color-background)}.mobile-menu-hours{color:var(--color-secondary);font-weight:600;display:flex;align-items:center;gap:var(--space-2)}}.notfound{text-align:center;max-width:560px;padding-block:var(--space-9)}.notfound h1{margin-bottom:var(--space-5)}.notfound p{color:var(--color-text-muted);margin-bottom:var(--space-6)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.section-reveal{opacity:1;transform:none}.mill-icon{animation:none}}