*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body,h1,h2,h3,h4,p,ul,ol,dl,dd,figure,fieldset{margin:0}ul,ol{padding:0}ul[role=list],ol[role=list]{list-style:none}fieldset{border:0;padding:0;min-width:0}img,picture,video,svg{display:block;max-width:100%}img,video{height:auto}button,input,textarea,select{font:inherit;color:inherit}a{color:inherit}[hidden]{display:none!important}:root{--color-forest: #174A35;--color-forest-dark: #0f3626;--color-gold: #E3B341;--color-terracotta: #C65D3A;--color-terracotta-dark: #A8482A;--color-ivory: #FFF9EF;--color-charcoal: #242820;--color-muted: #5E685F;--color-white: #FFFFFF;--color-border: #e3dccb;--color-focus: #1a5fb4;--font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--space-8: 4.5rem;--radius: .75rem;--radius-small: .4rem;--shadow: 0 1px 2px rgb(36 40 32 / .08), 0 4px 14px rgb(36 40 32 / .06);--container: 72rem;--header-height: 4rem;--touch-target: 2.75rem}body{font-family:var(--font-body);font-size:1rem;line-height:1.6;color:var(--color-charcoal);background:var(--color-ivory);min-width:320px;overflow-x:hidden}h1,h2,h3{line-height:1.2;color:var(--color-forest);text-wrap:balance}h1{font-size:clamp(1.75rem,5vw,2.75rem)}h2{font-size:clamp(1.4rem,3.5vw,2rem)}h3{font-size:1.15rem}p+p,p+ul,ul+p,h2+p,h3+p,address+p,p+address{margin-top:var(--space-3)}.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--space-4)}.container--narrow{max-width:46rem}.section{padding-block:var(--space-7)}.section--tint{background:#f6efdc}.section__intro{color:var(--color-muted);margin-bottom:var(--space-5)}.section__more{margin-top:var(--space-5)}.grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:var(--space-5)}.grid--benefits,.grid--promos,.grid--photos{grid-template-columns:minmax(0,1fr)}.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--space-3);top:-4rem;z-index:100;background:var(--color-white);color:var(--color-forest);padding:var(--space-3) var(--space-4);border-radius:var(--radius-small);font-weight:700}.skip-link:focus{top:var(--space-3)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}main:focus{outline:none}.note{margin-top:var(--space-4);color:var(--color-muted);font-size:.9rem}.dev-note{background:#fff3cd;border:1px dashed #8a6d1f;color:#5b4500;padding:var(--space-2) var(--space-3);border-radius:var(--radius-small);font-size:.9rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--touch-target);padding:var(--space-2) var(--space-5);background:var(--color-forest);color:var(--color-white);border:2px solid var(--color-forest);border-radius:999px;font-weight:700;text-decoration:none;cursor:pointer;text-align:center}.button:hover{background:var(--color-forest-dark);border-color:var(--color-forest-dark)}.button--accent{background:var(--color-gold);border-color:var(--color-gold);color:var(--color-charcoal)}.button--accent:hover{background:#f0c35c;border-color:#f0c35c}.button--outline{background:transparent;color:var(--color-forest)}.button--outline:hover{background:var(--color-forest);color:var(--color-white)}.button--light{background:#ffffffeb;border-color:transparent;color:var(--color-forest)}.button--light:hover{background:var(--color-white);color:var(--color-forest)}.button--small{min-height:2.5rem;padding-inline:var(--space-4)}.text-link{font-weight:700;color:var(--color-forest)}.announcement{background:var(--color-forest);color:var(--color-white);font-size:.9rem}.announcement__inner{padding-block:var(--space-2);text-align:center}.announcement a{color:var(--color-gold);font-weight:700}.site-header{background:var(--color-white);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:50}.site-header__inner{display:flex;align-items:center;gap:var(--space-3);min-height:var(--header-height);flex-wrap:wrap}.brand{display:inline-flex;margin-right:auto;padding-block:var(--space-2)}.brand img{height:2.5rem;width:auto}.site-header__directions{min-height:2.5rem;padding-inline:var(--space-4);font-size:.9rem}.nav{order:5;width:100%}.nav__list{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-1) var(--space-2);padding-bottom:var(--space-2)}.nav__link{display:inline-flex;align-items:center;min-height:var(--touch-target);padding-inline:var(--space-3);text-decoration:none;font-weight:600;border-radius:var(--radius-small);color:var(--color-charcoal)}.nav__link:hover{background:#f3ecda}.nav__link[aria-current=page]{color:var(--color-forest);box-shadow:inset 0 -3px 0 var(--color-gold);border-radius:0}.nav-toggle{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--touch-target);padding:0 var(--space-3);background:transparent;border:2px solid var(--color-forest);color:var(--color-forest);border-radius:var(--radius-small);font-weight:700;cursor:pointer}.nav-toggle__bars,.nav-toggle__bars:before,.nav-toggle__bars:after{display:block;width:1.1rem;height:2px;background:currentColor;position:relative;content:""}.nav-toggle__bars:before{position:absolute;top:-6px}.nav-toggle__bars:after{position:absolute;top:6px}.js .nav{display:none}.js .nav.is-open{display:block}.js .nav__list{flex-direction:column}.card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column}.card__media{position:relative;background:#efe7d3}.card__media img{width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover}.product-card .card__media img{aspect-ratio:1 / 1}.card__body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1);flex:1}.card__eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-terracotta-dark);font-weight:700}.card__title{font-size:1.05rem}.card__text{color:var(--color-muted);font-size:.95rem}.card__meta{color:var(--color-muted);font-size:.9rem}.card__status{font-size:.85rem;font-weight:700;color:var(--color-forest)}.badge{position:absolute;top:var(--space-2);left:var(--space-2);background:var(--color-terracotta-dark);color:var(--color-white);font-size:.75rem;font-weight:700;padding:.15rem .6rem;border-radius:999px}.category-card{border-radius:var(--radius);overflow:hidden;background:var(--color-white);border:1px solid var(--color-border);box-shadow:var(--shadow)}.category-card__link{display:block;text-decoration:none}.category-card__media img{width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover}.category-card__name{display:block;padding:var(--space-3) var(--space-4);font-weight:700;color:var(--color-forest);min-height:var(--touch-target)}.category-card__link:hover .category-card__name{text-decoration:underline}.benefit{background:var(--color-white);border-left:5px solid var(--color-gold);padding:var(--space-4) var(--space-5);border-radius:var(--radius-small);box-shadow:var(--shadow)}.benefit p{color:var(--color-muted)}.field{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-4)}.field label,.chips legend{font-weight:700}.field input,.field textarea,.field select{min-height:var(--touch-target);padding:var(--space-2) var(--space-3);border:2px solid #9aa39b;border-radius:var(--radius-small);background:var(--color-white);width:100%}.field textarea{min-height:8rem}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.chips legend{width:100%;margin-bottom:var(--space-2);padding:0}.chip{min-height:var(--touch-target);padding:0 var(--space-4);border-radius:999px;border:2px solid var(--color-forest);background:var(--color-white);color:var(--color-forest);font-weight:600;cursor:pointer}.chip[aria-pressed=true]{background:var(--color-forest);color:var(--color-white)}.filters__status{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.filters{margin-bottom:var(--space-5)}.form__status{margin-top:var(--space-3);font-weight:700}.form__status.is-error{color:#a02020}.form__status.is-success{color:var(--color-forest)}.empty{text-align:center;padding:var(--space-7) var(--space-4);background:var(--color-white);border:1px dashed var(--color-border);border-radius:var(--radius)}.hours{max-width:24rem}.hours__row{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border)}.hours dt{font-weight:700}.address{font-style:normal;margin-top:var(--space-2)}.site-footer{background:var(--color-forest);color:var(--color-ivory);padding-top:var(--space-7)}.site-footer a{color:var(--color-ivory)}.site-footer a:hover{color:var(--color-gold)}.footer__grid{display:grid;gap:var(--space-6);grid-template-columns:minmax(0,1fr)}.footer__heading{font-size:1.1rem;color:var(--color-gold);margin-bottom:var(--space-3)}.footer__list,.social-list{list-style:none;display:grid;gap:var(--space-1)}.footer__list a,.social-list a{display:inline-block;padding-block:var(--space-2)}.footer__legal{border-top:1px solid rgb(255 255 255 / .2);margin-top:var(--space-6);padding-block:var(--space-4);font-size:.9rem}.site-footer :focus-visible{outline-color:var(--color-gold)}.carousel{position:relative;background:var(--color-forest-dark)}.carousel__viewport{position:relative;overflow:hidden;touch-action:pan-y}.carousel__slides{position:relative;height:calc(56.25vw + 5rem)}.slide{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--color-forest-dark)}.slide__media,.slide__media picture,.slide__media img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.slide__media{height:56.25vw}.slide__media img{object-fit:cover;object-position:var(--focus, 50% 50%)}.slide--image-only .slide__media img{object-fit:contain}.carousel:not(.is-ready) .slide:not(:first-child){display:none}.carousel.is-ready .slide{visibility:hidden;transform:translate(100%);transition:transform .6s ease,visibility 0s linear .6s;will-change:transform}.carousel.is-ready .slide.is-active{visibility:visible;transform:none;transition-delay:0s}.carousel.is-ready .slide.is-leaving-next{visibility:visible;transform:translate(-100%);transition-delay:0s}.carousel.is-ready .slide.is-leaving-prev{visibility:visible;transform:translate(100%);transition-delay:0s}.carousel__controls{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;gap:var(--space-2);padding:0 var(--space-4) var(--space-4);z-index:2;pointer-events:none}.carousel__controls>*{pointer-events:auto}.carousel__controls [data-prev],.carousel__controls [data-next]{position:absolute;top:50%;transform:translateY(-50%);width:3rem;height:3rem;padding:0;font-size:2rem;display:grid;place-items:center;background:#0f3626cc;box-shadow:0 2px 8px #00000059}.carousel__controls [data-prev]{left:var(--space-3)}.carousel__controls [data-next]{right:var(--space-3)}.carousel__button{min-width:var(--touch-target);min-height:var(--touch-target);border-radius:999px;border:2px solid var(--color-white);background:#0f3626e6;color:var(--color-white);font-size:1.5rem;line-height:1;cursor:pointer;padding:0 var(--space-3)}.carousel__button:hover{background:var(--color-forest-dark)}.carousel__pause{font-size:.9rem;font-weight:700}.carousel__dots{display:flex;gap:0}.carousel__dot{position:relative;width:var(--touch-target);height:var(--touch-target);background:transparent;border:0;cursor:pointer;padding:0}.carousel__dot:before{content:"";position:absolute;inset:50% auto auto 50%;width:.8rem;height:.8rem;transform:translate(-50%,-50%);border-radius:50%;border:2px solid var(--color-white);background:transparent}.carousel__dot[aria-current=true]:before{background:var(--color-gold);border-color:var(--color-gold)}.carousel :focus-visible{outline-color:var(--color-white)}@media(prefers-reduced-motion:reduce){.carousel.is-ready .slide{transition:none}html{scroll-behavior:auto}}.intro{background:var(--color-white);border-bottom:1px solid var(--color-border);padding-block:var(--space-6)}.intro__inner>p{max-width:46rem;margin-top:var(--space-3);color:var(--color-muted)}.intro__actions{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.page-hero{background:var(--color-forest);padding-block:var(--space-7)}.page-hero h1{color:var(--color-white)}.page-hero__intro{color:var(--color-ivory);max-width:46rem;margin-top:var(--space-3);font-size:1.1rem}.visit__grid,.contact__grid{display:grid;gap:var(--space-6);grid-template-columns:minmax(0,1fr)}.visit{background:var(--color-white);border-top:1px solid var(--color-border)}.visit__subheading{margin-bottom:var(--space-2)}.visit__phone{font-size:1.15rem}.visit .button{margin-top:var(--space-3)}.prose p{font-size:1.05rem}.prose .prose__action{margin-top:var(--space-4)}.photo img{width:100%;height:auto;border-radius:var(--radius);aspect-ratio:3 / 2;object-fit:cover}.photo figcaption{margin-top:var(--space-2);color:var(--color-muted);font-size:.9rem}.cta-band{background:var(--color-forest);color:var(--color-white);text-align:center}.cta-band h2{color:var(--color-white)}.cta-band p{margin-top:var(--space-3)}.promo__video,.promo__media img{width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;background:#000}.promo__media{background:#000}.section.contact-visit{padding-bottom:var(--space-5)}.storefront{background:var(--color-forest-dark)}.storefront__image{display:block;width:100%;height:clamp(20rem,48vw,44rem);object-fit:cover;object-position:20% 4%}.page-404 .section ul{margin-top:var(--space-3);padding-left:var(--space-5)}@media(min-width:600px){.grid--products,.grid--categories,.grid--benefits{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--photos,.grid--promos{grid-template-columns:repeat(2,minmax(0,1fr))}.footer__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.visit__grid,.contact__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.carousel__slides{height:clamp(30rem,55vw,36rem)}}@media(min-width:900px){.brand img{height:2.75rem}.nav{order:0;width:auto}.nav__list{padding-bottom:0}.site-header__directions{font-size:1rem}.js .nav{display:block}.js .nav__list{flex-direction:row}.nav-toggle{display:none!important}.grid--products,.grid--categories{grid-template-columns:repeat(4,minmax(0,1fr))}.section{padding-block:var(--space-8)}.carousel__slides{height:clamp(26rem,36vw,36rem)}.slide__media{height:100%}.slide--image-only .slide__media img{object-fit:cover}}@media(min-width:1440px){:root{--container: 78rem}}
