:root{--green-primary:#495e57;--yellow-primary:#f4ce14;--white:#fff;--off-white:#edefee;--text-dark:#333;--text-muted:#6b6b6b;--accent-coral:#ee9972;--font-serif:"Markazi Text", Georgia, serif;--font-sans:"Karla", system-ui, sans-serif;--container-max:960px;--radius-md:12px;--radius-lg:16px}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-sans);color:var(--text-dark);background:var(--white);margin:0;line-height:1.5}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin:0}.container{width:min(100% - 2rem, var(--container-max));margin-inline:auto}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.site-header{background:var(--white);border-bottom:1px solid #e0e0e0;padding-block:1rem}.site-header__inner{flex-direction:column;align-items:center;gap:1rem;display:flex}@media (width>=1024px){.site-header__inner{flex-direction:row;justify-content:space-between;align-items:center}}.site-header__brand{align-items:center;display:flex}.site-header__logo{width:auto;height:40px}.site-header__list{flex-wrap:wrap;justify-content:center;gap:.75rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}.site-header__nav a{color:var(--text-dark);font-weight:700;text-decoration:none}.site-header__nav a:hover{color:var(--green-primary);text-decoration:none}.btn{font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;border:none;padding:.75rem 1.5rem;font-size:1rem;font-weight:700;transition:transform .15s,box-shadow .15s}.btn:focus-visible{outline:2px solid var(--green-primary);outline-offset:2px}.btn--primary{background:var(--yellow-primary);color:#000}.btn--primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001f}.btn--secondary{color:var(--text-dark);border:1px solid var(--text-dark);background:0 0}.btn--secondary:hover{background:var(--off-white)}.hero{background:var(--green-primary);padding:2.5rem 0 4rem;overflow:hidden}.hero__grid{flex-direction:column;gap:2rem;display:flex}@media (width>=1024px){.hero__grid{flex-direction:row;align-items:flex-start;gap:2.5rem}.hero__content{flex:1;padding-top:.5rem}.hero__figure{flex:0 0 42%;max-width:400px;margin-left:auto}}.hero__title{font-family:var(--font-serif);color:var(--yellow-primary);font-size:clamp(3rem,6vw,5rem);font-weight:600;line-height:1.1}.hero__subtitle{font-family:var(--font-sans);color:var(--white);margin-top:.25rem;margin-bottom:1rem;font-size:1.5rem;font-weight:400}.hero__text{color:var(--white);max-width:28rem;margin-bottom:1.5rem}.hero__figure{border-radius:var(--radius-lg);margin:0;overflow:hidden;box-shadow:0 12px 40px #00000040}.hero__image{object-fit:cover;aspect-ratio:400/260;width:100%;height:auto;display:block}.dish-card{background:var(--off-white);border-radius:var(--radius-lg) var(--radius-lg) 0 0;flex-direction:column;height:100%;display:flex;overflow:hidden}.dish-card__image{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%}.dish-card__body{flex-direction:column;flex:1;padding:1rem 1.25rem 1.25rem;display:flex}.dish-card__header{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;display:flex}.dish-card__name{font-size:1.125rem;font-weight:700}.dish-card__price{color:var(--accent-coral);margin:0;font-weight:700}.dish-card__desc{color:var(--text-dark);flex:1;font-size:.95rem}.dish-card__footer{margin-top:1rem}.dish-card__order{color:#000;align-items:center;gap:.5rem;font-weight:700;text-decoration:none;display:inline-flex}.dish-card__order:hover{text-decoration:underline}.dish-card__order .delivery-icon{flex-shrink:0}.specials{background:var(--white);padding:3rem 0 4rem}.specials__head{text-align:center;margin-bottom:2rem}.specials__title{font-family:var(--font-serif);color:var(--yellow-primary);text-shadow:0 1px 2px #495e5740;font-size:clamp(2.25rem,5vw,3rem);font-weight:600}.specials__footer{justify-content:center;margin-top:2rem;display:flex}.specials__grid{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=1024px){.specials__grid{grid-template-columns:repeat(3,1fr)}}.specials__item{min-width:0}.star-rating{color:var(--yellow-primary);gap:.15rem;font-size:1rem;line-height:1;display:flex}.star-rating__star{text-shadow:0 0 1px #0003}.testimonial-card{background:var(--white);border-radius:var(--radius-md);flex-direction:column;gap:.75rem;height:100%;padding:1.25rem;display:flex}.testimonial-card__user{flex-direction:row;align-items:flex-start;gap:.75rem;display:flex}.testimonial-card__meta{flex-direction:column;align-items:flex-start;gap:.35rem;min-width:0;display:flex}.testimonial-card__avatar{object-fit:cover;border-radius:8px;flex-shrink:0;width:48px;height:48px}.testimonial-card__name{margin:0;font-weight:700}.testimonial-card__quote{color:var(--text-dark);margin:0;font-size:.95rem}.testimonial-card__quote p{margin:0}.testimonials{background:var(--green-primary);padding:3rem 0 4rem}.testimonials__title{font-family:var(--font-serif);color:var(--yellow-primary);text-align:center;margin-bottom:2rem;font-size:clamp(2.25rem,5vw,3rem);font-weight:600}.testimonials__grid{grid-template-columns:1fr;gap:1.25rem;display:grid}@media (width>=1024px){.testimonials__grid{grid-template-columns:repeat(2,1fr)}}.testimonials__item{min-width:0}.about{background:var(--white);padding:3rem 0 4rem}.about__header{text-align:center;margin-bottom:2rem}.about__grid{flex-direction:column;align-items:flex-start;gap:2.5rem;display:flex}@media (width>=1024px){.about__grid{flex-direction:row;align-items:center;gap:3rem}.about__content{flex:1;max-width:28rem}.about__figure{flex:0 0 45%;max-width:420px;margin-left:auto}}.about__title{font-family:var(--font-serif);color:var(--yellow-primary);text-shadow:0 1px 2px #495e5740;font-size:clamp(2.25rem,5vw,3rem);font-weight:600}.about__text{color:var(--text-muted);line-height:1.65}.about__text+.about__text{margin-top:1.25rem}.about__figure{border-radius:var(--radius-md);width:100%;margin:0;overflow:hidden;box-shadow:0 8px 24px #00000026}.about__image{object-fit:cover;aspect-ratio:4/3;width:100%;height:auto;display:block}@media (width<=1023px){.about__figure{max-width:360px;margin-inline:auto}}.site-footer{background:var(--green-primary);color:var(--white);padding-top:2.5rem}.site-footer__grid{grid-template-columns:1fr;gap:2rem;padding-bottom:2rem;display:grid}@media (width>=1024px){.site-footer__grid{grid-template-columns:repeat(4,1fr);align-items:start;gap:1.5rem}}.site-footer__brand{justify-content:center;display:flex}@media (width>=1024px){.site-footer__brand{justify-content:flex-start}}.site-footer__logo{filter:brightness(0)invert();width:auto;max-height:120px}.site-footer__heading{letter-spacing:.06em;text-transform:uppercase;color:#fffffff2;margin:0 0 .75rem;font-size:.85rem;font-weight:700}.site-footer__list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.site-footer__list a,.site-footer__address a{color:#ffffffe6;text-decoration:none}.site-footer__list a:hover,.site-footer__address a:hover{text-decoration:underline}.site-footer__address{color:#ffffffe6;font-style:normal;line-height:1.6}.site-footer__bottom{border-top:1px solid #ffffff26;padding:1rem 0 1.5rem}.site-footer__copy{text-align:center;color:#ffffffbf;margin:0;font-size:.875rem}.menu-page{background:var(--off-white);flex:1;min-height:50vh;padding:2.5rem 0 4rem}.menu-page__inner{max-width:40rem}.menu-page__header{text-align:center;margin-bottom:2rem}.menu-page__title{font-family:var(--font-serif);color:var(--yellow-primary);text-shadow:0 1px 2px #495e5740;margin:0 0 .75rem;font-size:clamp(2.25rem,5vw,3rem);font-weight:600}.menu-page__intro{color:var(--text-muted);margin:0;line-height:1.55}.menu-page__toc{background:var(--white);border-radius:var(--radius-lg);margin-bottom:2.5rem;padding:1rem 1.25rem;box-shadow:0 2px 16px #0000000f}.menu-page__toc-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}@media (width>=1024px){.menu-page__toc-list{flex-flow:wrap;justify-content:center;gap:.75rem 1.25rem}}.menu-page__toc-link{color:var(--green-primary);text-underline-offset:.15em;font-weight:600;text-decoration:underline}.menu-page__toc-link:hover{color:var(--text-dark)}.menu-page__sections{flex-direction:column;gap:2.5rem;display:flex}.menu-section__title{font-family:var(--font-serif);color:var(--yellow-primary);text-shadow:0 1px 2px #495e5733;border-bottom:2px solid var(--green-primary);margin:0 0 1.25rem;padding-bottom:.5rem;font-size:clamp(1.75rem,4vw,2.25rem);font-weight:600}.menu-section__list{flex-direction:column;gap:1.25rem;margin:0;padding:0;list-style:none;display:flex}.menu-item{margin:0;padding:0}.menu-item__row{flex-flow:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;display:flex}.menu-item__name{font-family:var(--font-sans);color:var(--text-dark);flex:auto;min-width:0;font-size:1.125rem;font-weight:700}.menu-item__price{font-family:var(--font-sans);color:var(--accent-coral);flex-shrink:0;font-weight:600}.menu-item__desc{color:var(--text-muted);margin:.35rem 0 0;font-size:.9375rem;line-height:1.5}.menu-page__cta{text-align:center;margin:3rem 0 0}.booking-page{background:var(--off-white);flex:1;min-height:50vh;padding:2.5rem 0 4rem}.booking-page__inner{max-width:28rem;margin-inline:auto}.booking-page__header{text-align:center;margin-bottom:2rem}.booking-page__title{font-family:var(--font-serif);color:var(--yellow-primary);text-shadow:0 1px 2px #495e5740;margin:0 0 .75rem;font-size:clamp(2.25rem,5vw,3rem);font-weight:600}.booking-page__intro{color:var(--text-muted);margin:0;line-height:1.55}.booking-form{background:var(--white);border-radius:var(--radius-lg);flex-direction:column;gap:1.25rem;padding:1.5rem;display:flex;box-shadow:0 4px 24px #00000014}.booking-form__field{flex-direction:column;gap:.35rem;display:flex}.booking-form__field label{color:var(--text-dark);font-size:.9rem;font-weight:700}.booking-form__field input,.booking-form__field select{font-family:var(--font-sans);border-radius:var(--radius-md);background:var(--white);border:1px solid #ccc;padding:.65rem .75rem;font-size:1rem}.booking-form__field input:focus,.booking-form__field select:focus{outline:2px solid var(--green-primary);outline-offset:1px}.booking-form__field input[aria-invalid=true],.booking-form__field select[aria-invalid=true]{border-color:#c0392b}.booking-form__error{color:#c0392b;margin:0;font-size:.85rem;font-weight:600}.booking-form__actions{flex-direction:column;align-items:stretch;gap:.75rem;margin-top:.5rem;display:flex}@media (width>=1024px){.booking-form__actions{flex-direction:row;justify-content:flex-start;align-items:center}}.booking-form__cancel{text-align:center;color:var(--green-primary);font-weight:700;text-decoration:none}.booking-form__cancel:hover{text-decoration:underline}.booking-page__success-title{margin-bottom:.75rem}.booking-page__success-actions{flex-direction:column;align-items:center;gap:.75rem;margin-top:1.25rem;display:flex}@media (width>=1024px){.booking-page__success-actions{flex-direction:row;justify-content:center}}.not-found-page-layout{flex-direction:column;min-height:100vh;display:flex}.not-found-page{background:var(--off-white);flex:1;padding:2.5rem 0 4rem}.not-found-page__inner{text-align:center;max-width:40rem}.not-found-page__title{font-family:var(--font-serif);color:var(--yellow-primary);text-shadow:0 1px 2px #495e5740;margin:0 0 .75rem;font-size:clamp(2.25rem,5vw,3rem);font-weight:600}.not-found-page__text{color:var(--text-muted);margin:0 auto 2rem;line-height:1.6}.not-found-page__actions{flex-direction:column;align-items:center;gap:1rem;display:flex}@media (width>=1024px){.not-found-page__actions{flex-direction:row;justify-content:center}}
