:root{
  --ivory:#ebe7e3;--cream:#faf9f6;--wheat:#a78c78;--brown:#795e46;--dark-brown:#5f4938;
  --ink:#211f1d;--muted:#6b625b;--border:#d8d0c7;--serif:Georgia,"Times New Roman",serif;
  --sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --content-width:1120px;--radius:3px;--shadow:0 16px 40px rgba(73,57,44,.10)
}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{background:var(--ivory);color:var(--ink);font-family:var(--sans);line-height:1.65}img,video{max-width:100%;display:block}
a{color:inherit}.site-header{width:min(var(--content-width),calc(100% - 48px));margin:auto;padding:28px 0 18px;display:flex;align-items:center;justify-content:space-between;gap:32px;border-bottom:1px solid var(--border)}
.logo-link{display:block;width:150px}.logo-link img{width:100%}.main-nav{display:flex;gap:28px;font-size:.76rem;text-transform:uppercase;letter-spacing:1.7px;font-weight:600}.main-nav a{text-decoration:none}.main-nav a:hover{opacity:.55}
.hero{position:relative;min-height:720px;width:min(var(--content-width),calc(100% - 48px));margin:32px auto 0;display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden;background:var(--cream);box-shadow:var(--shadow)}
.hero-image-wrap{min-height:720px}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center}
.hero-content{display:flex;flex-direction:column;justify-content:center;padding:70px 65px}.eyebrow{margin-bottom:15px;color:var(--brown);font-size:.7rem;letter-spacing:2.4px;line-height:1.4;font-weight:700;text-transform:uppercase}
.hero h1{font-family:var(--serif);font-size:clamp(3.4rem,6vw,6.1rem);line-height:.94;font-weight:400;letter-spacing:-3px}.hero h1 em{color:var(--brown);font-weight:400}
.hero-copy{max-width:590px;margin:28px 0 35px;color:var(--muted);font-size:1.02rem}.button-group{display:flex;gap:12px;flex-wrap:wrap}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 25px;border:1px solid transparent;border-radius:var(--radius);text-decoration:none;font-size:.76rem;text-transform:uppercase;letter-spacing:1.3px;font-weight:700;transition:.2s}
.button-primary{background:var(--brown);color:#fff;border-color:var(--brown)}.button-primary:hover{background:var(--dark-brown);border-color:var(--dark-brown);transform:translateY(-1px)}
.button-secondary{background:transparent;color:var(--ink);border-color:var(--border)}.button-secondary:hover{border-color:var(--ink)}.button-full{width:100%}
.hero-values{display:flex;gap:13px;align-items:center;margin-top:45px;color:var(--muted);font-size:.65rem;letter-spacing:1.4px;text-transform:uppercase;font-weight:700}.hero-values i{width:4px;height:4px;background:var(--wheat);border-radius:50%}
.service-bar{width:min(var(--content-width),calc(100% - 48px));margin:0 auto;padding:23px 15px;background:var(--cream);border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:grid;grid-template-columns:repeat(3,1fr);text-align:center}
.service-item{padding:0 15px;border-right:1px solid var(--border)}.service-item:last-child{border:0}.service-item strong{display:block;margin-bottom:3px;color:var(--brown);font-size:.66rem;letter-spacing:1.8px}.service-item span{font-size:.84rem}
.section{width:min(var(--content-width),calc(100% - 48px));margin:auto;padding:105px 0}.section-alt{width:100%;max-width:none;padding-left:max(24px,calc((100% - var(--content-width))/2));padding-right:max(24px,calc((100% - var(--content-width))/2));background:var(--cream);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.section-heading{max-width:690px;margin:0 auto 45px;text-align:center}.section-heading h2,.story-copy h2{font-family:var(--serif);font-size:clamp(2.25rem,4vw,3.4rem);line-height:1.05;font-weight:400}.section-heading>p:last-child{margin-top:17px;color:var(--muted)}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{min-height:510px;background:var(--cream);border:1px solid var(--border);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:.2s}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.card-featured{border-color:var(--wheat);box-shadow:var(--shadow)}
.card-image{width:100%;height:240px;object-fit:cover}.card-body{padding:25px 30px 10px}.card-kicker{margin-bottom:8px;color:var(--brown);font-size:.65rem;letter-spacing:1.8px;font-weight:700}.card h3{font-family:var(--serif);font-size:1.65rem;line-height:1.15;font-weight:400}.price{margin:13px 0 14px;color:var(--brown);font-size:1.25rem;font-weight:700}.price span{color:var(--muted);font-size:.76rem;font-weight:400}
.card-body>p:not(.card-kicker):not(.price){color:var(--muted);font-size:.91rem}.card ul{list-style:none;margin:22px 0;color:var(--muted);font-size:.84rem}.card li{position:relative;margin:7px 0;padding-left:16px}.card li::before{content:"—";position:absolute;left:0;color:var(--wheat)}.card>.button{margin:0 30px 30px;width:calc(100% - 60px)}
.product-feature{display:grid;grid-template-columns:1.35fr .65fr;min-height:530px;background:var(--ivory);border:1px solid var(--border);overflow:hidden;margin-bottom:25px}.product-photo img{width:100%;height:100%;object-fit:cover}.product-copy{padding:70px 55px;display:flex;flex-direction:column;justify-content:center}.product-copy h3{font-family:var(--serif);font-size:2.5rem;font-weight:400;line-height:1.08}.product-copy>p:not(.card-kicker):not(.price){color:var(--muted);margin-bottom:28px}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-tile{background:var(--ivory);border:1px solid var(--border);overflow:hidden}.product-tile img{width:100%;height:245px;object-fit:cover}.product-tile div{padding:20px 22px}.product-tile h3{font-family:var(--serif);font-size:1.35rem;font-weight:400}.product-tile div>p:last-child{margin-top:5px;color:var(--brown);font-weight:700}
.process-section{padding-bottom:85px}.video-feature{position:relative;background:#211f1d;min-height:520px;overflow:hidden}.video-feature video{width:100%;height:520px;object-fit:cover;opacity:.92}.video-caption{position:absolute;left:0;bottom:0;width:min(520px,100%);padding:45px;color:#fff;background:linear-gradient(90deg,rgba(33,31,29,.92),rgba(33,31,29,.55),transparent)}.video-caption .eyebrow{color:#eadfd5}.video-caption h3{font-family:var(--serif);font-size:2.2rem;font-weight:400}.video-caption p:last-child{margin-top:10px;color:#eee7e0}
.steps{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--border);border-bottom:1px solid var(--border)}.steps article{padding:32px;border-right:1px solid var(--border)}.steps span{color:var(--brown);font-size:.7rem;letter-spacing:2px;font-weight:700}.steps h3{font-family:var(--serif);font-size:1.5rem;font-weight:400;margin:10px 0 6px}.steps p{color:var(--muted);font-size:.84rem}
.gallery-section{width:min(var(--content-width),calc(100% - 48px));margin:0 auto;display:grid;grid-template-columns:1.4fr .6fr;grid-template-rows:670px;gap:18px;padding-bottom:105px;align-items:stretch}.gallery-main{height:100%;overflow:hidden}.gallery-main img{display:block;width:100%;height:100%;object-fit:cover}.gallery-side{height:100%;display:grid;grid-template-rows:1fr 1fr;gap:18px}.gallery-side img{display:block;width:100%;height:100%;min-height:0;object-fit:cover}
.story-section{display:grid;grid-template-columns:1fr .9fr;gap:80px;align-items:center}.story-copy{max-width:650px}.story-copy p:not(.eyebrow){margin-top:20px;color:var(--muted)}.story-copy .text-link{margin-top:24px}.story-image img{width:100%;height:560px;object-fit:cover}
.text-link{display:inline-block;color:var(--brown);text-decoration:none;font-size:.75rem;letter-spacing:1.2px;text-transform:uppercase;font-weight:700}.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.site-footer{width:min(var(--content-width),calc(100% - 48px));margin:auto;padding:50px 0 35px;border-top:1px solid var(--border);display:grid;grid-template-columns:1fr auto;gap:30px}.footer-logo{width:120px;margin-bottom:12px}.site-footer p{color:var(--muted);font-size:.78rem}.footer-links{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap;justify-content:flex-end}.footer-links a{font-size:.72rem;text-decoration:none;text-transform:uppercase;letter-spacing:1px;font-weight:700}.footer-links a:hover{text-decoration:underline;text-underline-offset:4px}.copyright{grid-column:1/-1;padding-top:25px;border-top:1px solid var(--border)}
/* Seasonal Specials */
.seasonal-section{padding-top:95px;padding-bottom:105px}
.seasonal-feature{display:grid;grid-template-columns:1.25fr .75fr;background:var(--cream);border:1px solid var(--border);overflow:hidden;box-shadow:var(--shadow)}
.seasonal-visual{min-height:620px;background:var(--ivory)}
.seasonal-visual img{width:100%;height:100%;object-fit:cover;object-position:center}
.seasonal-copy{padding:70px 58px;display:flex;flex-direction:column;justify-content:center}
.seasonal-copy h3{font-family:var(--serif);font-size:clamp(2.4rem,4vw,3.5rem);line-height:1.03;font-weight:400}
.seasonal-copy>p:not(.card-kicker){color:var(--muted);margin-top:18px}
.seasonal-copy .seasonal-lead{font-size:1.05rem;color:var(--ink)}
.seasonal-meta{display:flex;gap:12px;align-items:center;margin:28px 0;color:var(--brown);font-size:.66rem;letter-spacing:1.5px;text-transform:uppercase;font-weight:700}
.seasonal-meta i{width:4px;height:4px;background:var(--wheat);border-radius:50%}
.seasonal-copy .button{margin-top:5px;align-self:flex-start}
.seasonal-media-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr .75fr;gap:16px;margin-top:18px}
.seasonal-video,.seasonal-photo{position:relative;min-height:250px;overflow:hidden;background:var(--ivory);border:1px solid var(--border)}
.seasonal-video video,.seasonal-photo img{width:100%;height:100%;min-height:250px;object-fit:cover}
.media-label{position:absolute;left:14px;bottom:14px;padding:8px 11px;background:rgba(33,31,29,.78);color:#fff;font-size:.63rem;letter-spacing:1px;text-transform:uppercase}
.thanksgiving-teaser{margin-top:18px;padding:34px 38px;background:var(--ivory);border:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;gap:30px}
.thanksgiving-teaser h3{font-family:var(--serif);font-size:2rem;font-weight:400}
.thanksgiving-teaser p:last-child{max-width:720px;margin-top:8px;color:var(--muted);font-size:.9rem}
.seasonal-badge{white-space:nowrap;padding:9px 14px;border:1px solid var(--wheat);color:var(--brown);font-size:.64rem;letter-spacing:1.4px;text-transform:uppercase;font-weight:700}

@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-image-wrap{min-height:500px}.hero-content{padding:55px}.card-grid,.product-grid{grid-template-columns:repeat(2,1fr)}.product-feature,.story-section,.gallery-section,.seasonal-feature{grid-template-columns:1fr}.seasonal-media-grid{grid-template-columns:1fr 1fr}.seasonal-visual{min-height:520px}.seasonal-copy{padding:55px}.product-photo{min-height:480px}.steps{grid-template-columns:repeat(2,1fr)}.story-image img{height:500px}.gallery-main img{height:550px}.seasonal-media-grid{grid-template-columns:1fr 1fr}.gallery-side{grid-template-columns:1fr 1fr;grid-template-rows:none}.gallery-side img{height:350px;min-height:0}}
@media(max-width:650px){.site-header{align-items:flex-start;flex-direction:column}.main-nav{width:100%;justify-content:space-between;gap:12px}.hero,.service-bar,.section,.gallery-section,.site-footer{width:min(100% - 28px,var(--content-width))}.section-alt{padding-left:14px;padding-right:14px}.hero{margin-top:14px}.hero-image-wrap{min-height:400px}.hero-content{padding:42px 28px}.hero h1{letter-spacing:-1.5px}.button{width:100%}.hero-values{flex-wrap:wrap;margin-top:30px}.service-bar{grid-template-columns:1fr}.service-item{padding:12px 0;border-right:0;border-bottom:1px solid var(--border)}.service-item:last-child{border-bottom:0}.card-grid,.product-grid,.steps{grid-template-columns:1fr}.product-copy{padding:45px 30px}.product-photo{min-height:360px}.video-feature,.video-feature video{min-height:440px;height:440px}.video-caption{padding:28px}.gallery-section{padding-bottom:70px}.seasonal-media-grid{grid-template-columns:1fr}.seasonal-copy .button{width:100%}.thanksgiving-teaser{align-items:flex-start;flex-direction:column}.gallery-main img{height:470px}.gallery-side{grid-template-columns:1fr}.gallery-side img{height:300px}.story-section{gap:45px}.story-image img{height:430px}.site-footer{grid-template-columns:1fr}.footer-links{justify-content:flex-start}}

/* Contact Us */
.contact-section{padding-top:90px;padding-bottom:105px}
.contact-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:22px;align-items:stretch}
.contact-card,.contact-form{background:var(--cream);border:1px solid var(--border);padding:48px;box-shadow:var(--shadow)}
.contact-card h3{font-family:var(--serif);font-size:2.45rem;font-weight:400;line-height:1.08;margin-bottom:30px}
.contact-details{display:grid;gap:18px}
.contact-details a{text-decoration:none;padding-bottom:16px;border-bottom:1px solid var(--border)}
.contact-details a:last-child{border-bottom:0;padding-bottom:0}
.contact-details span{display:block;color:var(--brown);font-size:.65rem;letter-spacing:1.7px;text-transform:uppercase;font-weight:700;margin-bottom:3px}
.contact-details strong{font-size:1rem;font-weight:500}
.contact-routing{margin-top:34px;padding-top:28px;border-top:1px solid var(--border);color:var(--muted);font-size:.82rem}
.contact-routing p+p{margin-top:10px}
.contact-routing a{color:var(--brown);text-decoration:none}
.contact-routing a:hover{text-decoration:underline;text-underline-offset:3px}
.contact-form{display:grid;gap:18px;box-shadow:none}
.form-row{display:grid;gap:7px}
.form-row label{color:var(--brown);font-size:.66rem;letter-spacing:1.5px;text-transform:uppercase;font-weight:700}
.form-row input,.form-row select,.form-row textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius);background:#fff;color:var(--ink);font:inherit;padding:12px 14px;outline:none}
.form-row textarea{resize:vertical;min-height:145px}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--wheat);box-shadow:0 0 0 2px rgba(167,140,120,.12)}
.contact-form .button{margin-top:3px;align-self:flex-start}
.form-note{color:var(--muted);font-size:.76rem}
.hidden-field{position:absolute!important;left:-5000px!important;height:1px!important;width:1px!important;overflow:hidden}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}.contact-card,.contact-form{padding:40px}}
@media(max-width:650px){.contact-card,.contact-form{padding:32px 25px}.contact-form .button{width:100%}}


/* Order shortcuts */
.order-shortcut { margin-top: 22px; }
.menu-order-shortcut { display:flex; justify-content:center; margin-top: 30px; }
.coming-soon-label { display:inline-block; margin-top:14px; padding:7px 12px; border:1px solid var(--border); color:var(--brown); font-size:.65rem; letter-spacing:1.8px; font-weight:700; }

/* Quick return to the top */
html { scroll-behavior:smooth; }
.back-to-top { position:fixed; right:24px; bottom:24px; z-index:50; width:46px; height:46px; display:flex; align-items:center; justify-content:center; border-radius:50%; background:var(--brown); color:#fff; text-decoration:none; font-size:1.25rem; box-shadow:var(--shadow); opacity:.92; transition:.2s; }
.back-to-top:hover { background:var(--dark-brown); transform:translateY(-2px); }
@media(max-width:650px){ .back-to-top{right:16px;bottom:16px;width:42px;height:42px;} .menu-order-shortcut .button{width:100%;} }
