@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&display=swap";:root{--color-cream: #f8f5f0;--color-dark: #2c2c2c;--color-gold: #d4b886;--color-gold-hover: #c2a573;--color-red: #841b1b;--color-red-hover: #6a1515;--color-white: #ffffff;--color-black: #000000;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-serif: "Playfair Display", ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--max-width: 1200px;--max-width-wide: 1600px;--transition-fast: .2s ease;--transition-base: .3s ease;--transition-slow: .5s ease}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);color:var(--color-dark);background-color:var(--color-cream);min-height:100vh;display:flex;flex-direction:column;line-height:1.6}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}ul,ol{list-style:none}input,textarea,select{font-family:inherit;font-size:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{display:inline-block;padding:.75rem 2rem;font-size:.875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:background-color var(--transition-fast),color var(--transition-fast);text-align:center}.btn--gold{background-color:var(--color-gold);color:var(--color-black)}.btn--gold:hover{background-color:var(--color-white)}.btn--red{background-color:var(--color-red);color:var(--color-white)}.btn--red:hover{background-color:var(--color-red-hover)}.btn--full{width:100%}.btn--outline{background:transparent;color:var(--color-white);border:1px solid var(--color-white);padding:.5rem 1.5rem}.btn--outline:hover{background:var(--color-white);color:var(--color-black)}.icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.icon svg{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.navbar{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;color:var(--color-white);max-width:var(--max-width-wide);margin:0 auto;width:100%}.navbar__brand{display:flex;flex-direction:column;cursor:pointer}.navbar__brand-name{font-family:var(--font-serif);font-size:1.5rem;font-weight:700;letter-spacing:.15em}.navbar__brand-tagline{font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;opacity:.8}.navbar__links{display:none;gap:2rem;font-size:.875rem;font-weight:500}.navbar__links a{border-bottom:1px solid transparent;padding-bottom:2px;transition:color var(--transition-fast),border-color var(--transition-fast)}.navbar__links a:hover{color:var(--color-gold);border-bottom-color:var(--color-gold)}.navbar__actions{display:flex;align-items:center;gap:1.5rem}.navbar__phone{display:none;align-items:center;gap:.5rem;font-size:.875rem}.navbar__cart{position:relative;cursor:pointer;transition:color var(--transition-fast);background:none;border:none;color:inherit;font-size:1.5rem}.navbar__cart:hover{color:var(--color-gold)}.navbar__cart-badge{position:absolute;top:-.5rem;right:-.5rem;background-color:var(--color-red);color:var(--color-white);font-size:.625rem;font-weight:700;width:1.25rem;height:1.25rem;display:none;align-items:center;justify-content:center;border-radius:50%}.navbar__cart-badge.is-visible{display:flex}.navbar__toggle{display:flex;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;color:var(--color-white)}.navbar__toggle span{display:block;width:24px;height:2px;background:currentColor;border-radius:1px;transition:transform var(--transition-fast),opacity var(--transition-fast)}.navbar__mobile-menu{display:none;position:absolute;top:100%;left:0;right:0;background:#000000e6;backdrop-filter:blur(12px);padding:2rem;flex-direction:column;gap:1.5rem;font-size:1rem;font-weight:500;z-index:50}.navbar__mobile-menu.is-open{display:flex}.navbar__mobile-menu a{padding:.5rem 0;transition:color var(--transition-fast)}.navbar__mobile-menu a:hover{color:var(--color-gold)}@media(min-width:768px){.navbar__links{display:flex}.navbar__toggle{display:none}}@media(min-width:1024px){.navbar__phone{display:flex}}.hero{position:relative;min-height:600px;height:85vh;display:flex;flex-direction:column}.hero__bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;background-repeat:no-repeat}.hero__overlay{position:absolute;inset:0;background:#00000080}.hero__content{position:relative;z-index:10;flex-grow:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1rem;color:var(--color-white)}.hero__eyebrow{font-size:.875rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1rem;font-weight:500}.hero__title{font-family:var(--font-serif);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:700;margin-bottom:1.5rem;max-width:56rem;line-height:1.15}.hero__description{max-width:42rem;font-size:clamp(1rem,2vw,1.25rem);opacity:.9;margin-bottom:2.5rem;font-weight:300;line-height:1.7}.ingredients{padding:5rem 2rem;max-width:var(--max-width);margin:0 auto;text-align:center}.ingredients__title{font-family:var(--font-serif);font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;margin-bottom:4rem}.ingredients__grid{display:grid;grid-template-columns:1fr;gap:3rem}.ingredients__item{display:flex;flex-direction:column;align-items:center}.ingredients__icon{width:6rem;height:6rem;margin-bottom:1.5rem;display:flex;align-items:center;justify-content:center}.ingredients__icon img{width:4rem;height:4rem;opacity:.8}.ingredients__item h3{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;margin-bottom:.75rem}.ingredients__item p{font-size:.875rem;color:var(--color-gray-600);line-height:1.7;font-weight:300}@media(min-width:768px){.ingredients__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.ingredients__grid{grid-template-columns:repeat(4,1fr)}}.menu{background-color:var(--color-red);color:var(--color-white);padding:6rem 2rem}.menu__inner{max-width:var(--max-width);margin:0 auto;text-align:center}.menu__quote{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.25rem,2.5vw,1.875rem);margin-bottom:3rem;color:#f8f5f0e6}.menu__title{font-family:var(--font-serif);font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;margin-bottom:3rem;letter-spacing:.1em}.menu__grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:3rem}.menu__card{display:flex;flex-direction:column;align-items:center;cursor:pointer}.menu__card-image-wrap{position:relative;width:100%;aspect-ratio:1;margin-bottom:1rem;overflow:hidden;border-radius:2px;box-shadow:0 10px 30px #0000004d}.menu__card-image-wrap img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.menu__card:hover .menu__card-image-wrap img{transform:scale(1.1)}.menu__card-overlay{position:absolute;inset:0;background:#0006;opacity:0;display:flex;align-items:center;justify-content:center;transition:opacity var(--transition-base)}.menu__card:hover .menu__card-overlay{opacity:1}.menu__card h3{font-family:var(--font-serif);font-size:1.125rem;font-weight:500}@media(min-width:640px){.menu__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.menu__grid{grid-template-columns:repeat(4,1fr)}}.modal-backdrop{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;padding:1rem;background:#0009;backdrop-filter:blur(4px)}.modal-backdrop.is-open{display:flex}.modal{background:var(--color-white);color:var(--color-dark);width:100%;max-width:56rem;border-radius:2px;box-shadow:0 25px 50px #0000004d;overflow:hidden;display:flex;flex-direction:column;animation:modalIn .2s ease-out}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.modal__image{width:100%;height:16rem;position:relative}.modal__image img{width:100%;height:100%;object-fit:cover}.modal__close{position:absolute;top:1rem;right:1rem;z-index:10;background:#fffc;border:none;padding:.5rem;border-radius:50%;cursor:pointer;transition:background var(--transition-fast);box-shadow:0 2px 8px #00000026;font-size:1.25rem;display:flex;align-items:center;justify-content:center}.modal__close:hover{background:var(--color-gray-200)}.modal__body{padding:2rem 2.5rem;max-height:85vh;overflow-y:auto}.modal__name{font-family:var(--font-serif);font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;margin-bottom:.5rem}.modal__price{font-size:1.5rem;color:var(--color-red);font-weight:500;margin-bottom:1.5rem}.modal__description{font-size:.875rem;color:var(--color-gray-600);font-weight:300;line-height:1.7;margin-bottom:2rem}.modal__section-label{font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem;color:var(--color-gray-400)}.modal__section-text{font-size:.875rem;font-weight:300;margin-bottom:1.5rem}.modal__allergens{color:var(--color-red)}.modal__customization{margin-bottom:2.5rem}.modal__checkbox-group{display:flex;flex-direction:column;gap:.75rem}.modal__checkbox-label{display:flex;align-items:center;gap:.75rem;font-size:.875rem;font-weight:300;cursor:pointer;transition:color var(--transition-fast)}.modal__checkbox-label:hover{color:var(--color-red)}.modal__checkbox-label input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--color-red);cursor:pointer}.modal__add-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:1rem 2rem;background:var(--color-red);color:var(--color-white);font-size:.875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border:none;cursor:pointer;transition:background var(--transition-fast);box-shadow:0 4px 12px #841b1b4d}.modal__add-btn:hover{background:var(--color-red-hover)}@media(min-width:768px){.modal{flex-direction:row}.modal__image{width:50%;height:auto}.modal__body{width:50%}}.story{padding:6rem 2rem;max-width:var(--max-width);margin:0 auto}.story__inner{display:flex;flex-direction:column;gap:4rem;align-items:center}.story__image-wrap{width:100%}.story__image-wrap img{width:100%;border-radius:2px;box-shadow:0 20px 40px #00000026}.story__content{width:100%}.story__title{font-family:var(--font-serif);font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;margin-bottom:2rem}.story__text{display:flex;flex-direction:column;gap:1.5rem;color:var(--color-gray-700);font-size:.875rem;line-height:1.7;font-weight:300}.story .btn{margin-top:2rem}@media(min-width:1024px){.story__inner{flex-direction:row}.story__image-wrap,.story__content{width:50%}}.community{padding:5rem 2rem;max-width:var(--max-width);margin:0 auto}.community__title{font-family:var(--font-serif);font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;margin-bottom:3rem;text-align:center}.community__layout{display:flex;flex-direction:column;gap:2rem;margin-bottom:4rem}.community__gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.community__gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:2px}.community__options{background:var(--color-gold);padding:2rem;border-radius:2px;display:flex;flex-direction:column}.community__options-title{font-family:var(--font-serif);font-size:1.5rem;font-weight:700;margin-bottom:2rem;text-align:center;color:var(--color-dark)}.community__options-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2.5rem;text-align:center;color:var(--color-dark)}.community__option{display:flex;flex-direction:column;align-items:center}.community__option-icon{font-size:1.5rem;margin-bottom:.75rem;color:var(--color-red)}.community__option h4{font-weight:700;font-size:.875rem;margin-bottom:.5rem}.community__option p{font-size:.75rem;line-height:1.4;opacity:.8;font-weight:300}.community__info{display:flex;flex-direction:column;gap:1.5rem;color:var(--color-dark)}.community__info-block h4{font-weight:700;font-size:.875rem;margin-bottom:.25rem}.community__info-block p{font-size:.875rem;opacity:.8;font-weight:300}.community__map-placeholder img{width:100%;height:6rem;object-fit:cover;border-radius:2px;opacity:.8;filter:grayscale(1)}@media(min-width:640px){.community__gallery{grid-template-columns:repeat(3,1fr)}.community__info{flex-direction:row}.community__info>*{flex:1}}@media(min-width:1024px){.community__layout{flex-direction:row}.community__gallery{width:60%}.community__options{width:40%}}.reviews{background:var(--color-white);padding:2rem;border-radius:2px;box-shadow:0 1px 3px #00000014;border:1px solid var(--color-gray-100)}.reviews__title{font-family:var(--font-serif);font-size:1.875rem;font-weight:700;margin-bottom:2rem;text-align:center}.reviews__layout{display:grid;grid-template-columns:1fr;gap:3rem}.reviews__list{display:flex;flex-direction:column;gap:1.5rem;max-height:25rem;overflow-y:auto;padding-right:1rem}.review-card{border-bottom:1px solid var(--color-gray-100);padding-bottom:1.5rem}.review-card:last-child{border-bottom:none}.review-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.review-card__name{font-weight:700;font-size:.875rem}.review-card__stars{display:flex;color:var(--color-gold);gap:1px}.review-card__stars svg{width:14px;height:14px}.review-card__comment{font-size:.875rem;font-weight:300;font-style:italic;color:var(--color-gray-600);line-height:1.7}.review-form{background:var(--color-cream);padding:2rem;border-radius:2px}.review-form__title{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}.review-form form{display:flex;flex-direction:column;gap:1.25rem}.review-form label{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--color-gray-500);margin-bottom:.5rem}.review-form input[type=text],.review-form textarea{width:100%;padding:.75rem;font-size:.875rem;border:1px solid var(--color-gray-200);border-radius:2px;outline:none;transition:border-color var(--transition-fast);background:var(--color-white)}.review-form input[type=text]:focus,.review-form textarea:focus{border-color:var(--color-gold)}.review-form textarea{height:7rem;resize:none}.review-form__stars{display:flex;gap:.5rem}.review-form__star-btn{color:var(--color-gold);font-size:1.5rem;background:none;border:none;cursor:pointer;transition:transform var(--transition-fast);padding:0}.review-form__star-btn:hover{transform:scale(1.1)}@media(min-width:1024px){.reviews__layout{grid-template-columns:1fr 1fr}}.footer{background:var(--color-dark);color:var(--color-white);padding:5rem 2rem 2rem;margin-top:auto}.footer__grid{max-width:var(--max-width);margin:0 auto;display:grid;grid-template-columns:1fr;gap:3rem;margin-bottom:4rem}.footer__brand-name{font-family:var(--font-serif);font-size:1.5rem;font-weight:700;letter-spacing:.15em;display:block;margin-bottom:1.5rem}.footer__brand-desc{font-size:.875rem;color:var(--color-gray-400);font-weight:300;line-height:1.7;margin-bottom:2rem}.footer__socials{display:flex;gap:1.25rem}.footer__socials a{color:var(--color-gray-400);transition:color var(--transition-fast);font-size:1.25rem}.footer__socials a:hover{color:var(--color-gold)}.footer__heading{font-family:var(--font-serif);font-size:1.25rem;font-weight:700;margin-bottom:1.5rem;color:var(--color-gold)}.footer__links{display:flex;flex-direction:column;gap:1rem;font-size:.875rem;color:var(--color-gray-400);font-weight:300}.footer__links a{transition:color var(--transition-fast)}.footer__links a:hover{color:var(--color-white)}.footer__contact-item{display:flex;align-items:flex-start;gap:.75rem;font-size:.875rem;color:var(--color-gray-400);font-weight:300}.footer__contact-item .icon{color:var(--color-gold);margin-top:2px;font-size:1.125rem}.footer__bottom{max-width:var(--max-width);margin:0 auto;padding-top:2rem;border-top:1px solid var(--color-gray-700);text-align:center;font-size:.75rem;color:var(--color-gray-500);font-weight:300}@media(min-width:768px){.footer__grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.footer__grid{grid-template-columns:repeat(4,1fr)}}.scroll-top{position:fixed;bottom:2rem;right:2rem;z-index:40;background:var(--color-gold);color:var(--color-black);padding:.75rem;border-radius:50%;border:none;cursor:pointer;box-shadow:0 4px 12px #0003;transition:background var(--transition-fast),transform var(--transition-base),opacity var(--transition-base);opacity:0;transform:translateY(2.5rem);pointer-events:none;font-size:1.5rem;display:flex;align-items:center;justify-content:center}.scroll-top.is-visible{opacity:1;transform:translateY(0);pointer-events:auto}.scroll-top:hover{background:var(--color-white);transform:scale(1.1)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .6s ease-out both}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}
