:root{--green:#173129;--cream:#f4efe5;--orange:#ba6a4d;--ink:#253329}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.6 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3{line-height:1.14;font-family:'Playfair Display',Georgia,serif}h1{font-size:clamp(2.8rem,7vw,5.5rem)}h2{font-size:clamp(2rem,4vw,3.4rem)}em{color:var(--orange)}.shell{width:min(1200px,90%);margin:auto}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:20px;top:20px;background:white;z-index:99}.topline{background:var(--green);color:white;padding:8px 5%;display:flex;justify-content:space-between;gap:12px;font-size:.8rem}.site-header{background:#fffcf6;position:sticky;top:0;z-index:10;border-bottom:1px solid #e4dfd2}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:85px}.brand,.admin-brand{display:flex;gap:12px;align-items:center}.brand-mark{background:var(--green);color:white;border-radius:50%;width:52px;height:52px;display:grid;place-items:center;font:36px Georgia}.brand-dot,.dot-orange{color:var(--orange)}.brand-type,.admin-brand span:last-child{display:grid;line-height:1.3;letter-spacing:.09em}.brand-type small,.admin-brand small{font-size:.65rem}.site-nav{display:flex;align-items:center;gap:24px;font-weight:600}.site-nav a.active{color:var(--orange)}.nav-call,.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;border-radius:5px;padding:14px 22px;border:1px solid transparent;font-weight:700}.nav-call,.button-primary{background:var(--orange);color:white}.button-secondary{background:var(--cream);color:var(--green);border-color:#d6d4cd}.button-outline-light{border-color:white;color:white}.nav-toggle{display:none}.hero{background:var(--green);color:white;padding:7vw 0;overflow:hidden;position:relative}.hero-layout{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.hero-copy p{max-width:500px;color:#d8e0d9;font-size:1.1rem}.eyebrow,.section-kicker{font-size:.82rem;font-weight:700;letter-spacing:.17em;color:var(--orange)}.hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin:36px 0}.text-link{font-weight:700;border-bottom:1px solid currentColor;padding-bottom:5px}.hero-facts{display:flex;align-items:center;gap:25px;margin-top:45px}.hero-facts div{display:grid}.hero-facts small{opacity:.65}.hero-visual{position:relative}.hero-photo img{width:100%;height:490px;object-fit:cover;border-radius:200px 200px 8px 8px}.hero-badge{position:absolute;z-index:2;top:10px;right:-10px;background:#f0d59a;color:var(--green);padding:20px;border-radius:50%;transform:rotate(12deg);font-weight:800}.hero-visual-note{text-align:right}.hero-edge-word{display:none}.section{padding:90px 0}.section-light{background:#f8f5ef}.section-dark{background:var(--green);color:white}.intro-grid,.section-top,.visit-row{display:flex;justify-content:space-between;align-items:center;gap:40px}.intro-aside{max-width:380px}.photo-strip{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:32px}.image-placeholder{min-height:250px;padding:36px;background:#e7dac5;display:flex;flex-direction:column;justify-content:space-between}.image-placeholder.alt{background:#dae4d7}.image-placeholder strong{font:2rem Georgia}.photo-gallery-card{margin:0}.photo-gallery-card img{width:100%;height:300px;object-fit:cover}.image-caption{font-size:.85rem;padding:8px}.card-grid,.food-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px}.food-card{background:white;color:var(--green);border-radius:8px;overflow:hidden;box-shadow:0 5px 30px #15201710}.food-card-visual{position:relative;background:#ece5d8;min-height:170px}.food-card-visual img{height:210px;width:100%;object-fit:cover}.food-card-placeholder{height:210px;display:grid;place-items:center;color:#8d806f;font:2rem Georgia}.food-card-tag{position:absolute;bottom:10px;left:12px;background:var(--green);color:white;padding:4px 10px;border-radius:4px;font-size:.75rem}.food-card-body{padding:22px}.food-card-title-row{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.food-card-title-row h3{margin:0;font-size:1.3rem}.food-card-price{font-weight:bold;white-space:nowrap}.empty-state{padding:32px;border:1px dashed #c5c5b9;border-radius:8px}.visit-banner{padding:70px 0;background:#ede2d0}.site-footer{background:#112921;color:#f8f3e8;padding:65px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:45px}.footer-grid>div{display:flex;flex-direction:column;gap:12px}.footer-brand{font:2rem Georgia}.footer-bottom{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid #63766a;margin-top:45px;padding-top:20px;font-size:.8rem}.page-hero{padding:65px 0;background:var(--green);color:white}.page-hero h1{margin:15px 0}.menu-filters,.filter-bar{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 30px}.filter-button{background:white;border:1px solid #d6d0c4;border-radius:30px;padding:10px 18px}.filter-button.active{background:var(--green);color:white}.admin-body{background:#ecefe9}.admin-header{background:var(--green);color:white;padding:15px 5%;display:flex;justify-content:space-between;align-items:center}.admin-header-right{display:flex;align-items:center;gap:15px}.admin-shell{width:min(1050px,94%);margin:auto}.admin-main{padding:50px 0}.admin-login-card{background:white;padding:32px;border-radius:12px;max-width:500px;margin:auto}.admin-form{display:grid;gap:16px}.admin-form label{display:grid;gap:5px;font-weight:600}.admin-form input,.admin-form select,.admin-form textarea,.admin-tools select{width:100%;padding:12px;border:1px solid #c8cec7;border-radius:7px;background:white}.admin-form input[type=checkbox]{width:auto}.checkline{display:flex!important;align-items:center}.admin-form button,.admin-tools button{justify-self:start}.dashboard-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.admin-tabs{display:flex;gap:8px;margin:25px 0}.admin-tabs button,.action-btn{border:1px solid #c5cec8;background:white;border-radius:7px;padding:10px 14px}.admin-tabs button.active{background:var(--green);color:white}.admin-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.admin-tools select{max-width:320px}.admin-list{display:grid;gap:10px}.admin-list-entry{background:white;display:flex;align-items:center;gap:16px;padding:12px;border-radius:8px}.admin-thumb{width:80px;height:70px;background:#e7ded0;flex-shrink:0}.admin-thumb img{width:100%;height:100%;object-fit:cover}.admin-entry-main{display:grid;flex:1}.admin-entry-main small{color:#657468}.admin-entry-actions{display:flex;gap:8px}.danger{color:#ae3434}.editor-dialog{width:min(650px,95vw);max-height:92vh;border:0;border-radius:12px;padding:25px}.editor-dialog::backdrop{background:#07170caa}.dialog-title{display:flex;align-items:center;justify-content:space-between}.close-dialog{background:none;border:none;font-size:2rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px}.edit-image-preview{max-width:220px;max-height:170px;object-fit:cover}.alert{padding:14px;background:#dcedd8;border-radius:6px;margin-bottom:20px}.alert.error{background:#f9d1c8}.help-text{color:#67746e;font-size:.85rem}.visually-hidden{position:absolute;left:-9999px}[hidden]{display:none!important}@media(max-width:800px){.topline{font-size:.7rem}.nav-toggle{display:block;background:transparent;border:0;width:42px;height:40px}.nav-toggle span{display:block;background:var(--green);height:3px;margin:6px 0}.site-nav{display:none;position:absolute;top:85px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:24px}.site-nav.open{display:flex}.hero-layout{grid-template-columns:1fr}.hero-photo img{height:350px}.intro-grid,.section-top,.visit-row,.dashboard-heading,.admin-tools{flex-direction:column;align-items:flex-start}.photo-strip,.footer-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.admin-list-entry{flex-wrap:wrap}.admin-entry-actions{width:100%}.section{padding:50px 0}}