@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=DM+Serif+Display&display=swap');
:root{--paper:#f8f7f2;--white:#fffefa;--ink:#252d28;--muted:#677066;--line:#dedfd6;--accent:#ba4224;--accent-hover:#95351d;--soft:#f9ece3;--green:#34634b;--font:'DM Sans',sans-serif;--serif:'DM Serif Display',Georgia,serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:14px;line-height:1.55}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-underline-offset:4px}button,a{touch-action:manipulation}button{color:var(--ink)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}::selection{background:#f1c6ac;color:#252d28}input,textarea{caret-color:var(--accent)}*{scrollbar-width:thin;scrollbar-color:#b6b9ad transparent}.skip{position:fixed;top:-100px;left:15px;background:white;padding:12px;z-index:10000}.skip:focus{top:10px}.header{height:86px;display:flex;align-items:center;gap:42px;padding:0 4%;border-bottom:1px solid var(--line);background:var(--paper)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--accent)}.brand>span{font-family:var(--serif);font-size:29px;letter-spacing:-.7px;color:var(--ink)}.brand-dot{color:var(--accent)}nav{display:flex;gap:30px;margin-left:auto}nav a{text-decoration:none;color:var(--muted);font-weight:550;font-size:13px}nav a.active{color:var(--accent)}nav a:hover{color:var(--accent)}.pilot{font-size:11px;border:1px solid #cbd0c2;border-radius:4px;padding:4px 9px;letter-spacing:.03em;color:#54614e}.intro{padding:34px 4% 27px;display:flex;align-items:flex-end;justify-content:space-between;gap:25px}h1,h2,h3,p{margin:0}h1{font-family:var(--serif);font-size:48px;font-weight:400;line-height:1.12;letter-spacing:-1.2px;text-wrap:balance}.intro p{color:var(--muted);margin-top:11px;font-size:15px}.location{display:flex;align-items:center;gap:10px;flex-shrink:0;padding:10px 0 10px 18px;font-weight:550}.location svg{color:var(--accent)}.location small{display:block;font-size:11px;color:var(--muted);font-weight:400}.icon{width:19px;height:19px;vertical-align:middle;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.filters{padding:0 4% 25px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.search{position:relative;flex:1;min-width:190px;max-width:345px}.search .icon{position:absolute;left:14px;top:13px;color:var(--muted)}input,select,textarea{border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:7px;min-height:45px;padding:10px 12px;max-width:100%}input::placeholder,textarea::placeholder{color:#74796f}.search input{width:100%;padding-left:42px}.filters select{font-weight:500;min-width:135px}.check{display:flex;align-items:center;gap:8px;padding:0 8px;cursor:pointer;color:var(--muted);font-size:13px}.check input{min-height:0;width:16px;height:16px;accent-color:var(--accent)}.workspace{display:grid;grid-template-columns:minmax(400px,46%) 1fr;border-top:1px solid var(--line);min-height:600px}.listing{padding:0 30px 30px 8.7%;height:calc(100vh - 300px);min-height:510px;overflow-y:auto}.list-head{display:flex;justify-content:space-between;align-items:center;padding:22px 0 17px;gap:15px}.list-head h2{font-size:14px;font-weight:600}.list-head select{min-height:32px;border:0;padding:4px;background:transparent;color:var(--muted);font-size:12px}.menu-card{padding:24px 0;border-top:1px solid var(--line);position:relative}.card-main{display:flex;gap:17px}.menu-art{width:62px;min-width:62px;height:73px;border-radius:6px;background:#f0e8d8;color:#82643c;display:grid;place-items:center;position:relative}.menu-art.blue{background:#e5edec;color:#4f7377}.menu-art.olive{background:#e7ebdf;color:#65754c}.menu-art .icon{width:30px;height:30px;stroke-width:1.1}.card-copy{flex:1;min-width:0}.card-copy .restaurant{font-size:12px;color:var(--muted);margin-bottom:3px}.card-copy h3{font-size:21px;font-family:var(--serif);font-weight:400;line-height:1.2}.title-button{border:0;padding:0;background:transparent;text-align:left}.title-button:hover{color:var(--accent)}.price{font-size:25px;font-weight:600;letter-spacing:-1px;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums}.price small{display:block;font-size:10px;font-weight:400;letter-spacing:0;color:var(--muted);text-align:right;margin-top:4px}.card-copy .address{font-size:11px;color:var(--muted);margin-top:8px}.includes{font-size:12px;color:#62695f;margin:13px 0 13px 79px;max-width:52ch}.card-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-left:79px}.tag{font-size:10px;padding:4px 7px;border-radius:4px;background:#eeeae0;color:#695f4a;display:inline-flex;align-items:center;gap:5px}.tag .icon{width:12px;height:12px}.tag.recent{background:#e5eee1;color:#356040}.tag.reported,.tag.expired{background:#f5dfd7;color:#91381e}.rating{font-size:11px;color:var(--muted)}.card-link{border:0;background:transparent;padding:0;color:var(--accent);font-size:12px;font-weight:600}.map-panel{position:relative;min-height:510px;background:#e8eee6;border-left:1px solid var(--line)}#map{height:100%;width:100%;z-index:1;position:absolute;inset:0}.map-top{position:absolute;z-index:450;top:20px;left:20px;background:var(--white);padding:9px 13px;border-radius:6px;box-shadow:0 3px 12px #26352614;font-size:12px;display:flex;gap:8px;align-items:center}.map-note{position:absolute;bottom:30px;left:20px;right:60px;z-index:450;font-size:11px;background:var(--white);padding:10px 13px;border-radius:6px;max-width:390px;color:#5b665b;box-shadow:0 3px 12px #26352614}.map-pin{border:0;background:none}.map-price{display:block;border:1.5px solid var(--accent);color:var(--accent);background:#fffefa;padding:7px 11px;border-radius:24px;font-family:var(--font);font-size:13px;box-shadow:0 3px 8px #39423222;white-space:nowrap;font-weight:650;cursor:pointer}.map-price:hover,.map-price.selected{background:var(--accent);color:white}.leaflet-control-attribution{font-size:9px!important}.leaflet-popup-content{font-family:var(--font);min-width:160px}.leaflet-popup-content button{display:block;width:100%;text-align:left;margin-top:9px;padding:8px;background:var(--paper);border:1px solid var(--line);border-radius:5px}.trust-strip{padding:19px 4%;display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.trust-strip span{display:flex;align-items:center;gap:8px}.trust-strip svg{width:16px}.text-button{border:0;background:transparent;color:var(--accent);font:inherit;text-decoration:underline;text-underline-offset:3px}.empty{padding:60px 20px;text-align:center}.empty h3{font-family:var(--serif);font-size:27px;font-weight:400}.empty p{color:var(--muted);margin:12px 0 22px}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;min-height:43px;border-radius:6px;padding:10px 17px;background:var(--accent);color:white;border:1px solid var(--accent);font-size:13px;font-weight:550;text-decoration:none}.button:hover{background:var(--accent-hover)}.button.secondary{background:var(--white);border-color:var(--line);color:var(--ink)}.button.secondary:hover{background:#eeeede}.button.small{min-height:33px;padding:6px 11px;font-size:12px}.mobile-toggle{display:none}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:12px 22px;max-width:90vw;width:max-content;border-radius:8px;z-index:2000;box-shadow:0 6px 24px #0002;display:none}#toast.visible{display:block}dialog{border:1px solid var(--line);border-radius:12px;padding:0;background:var(--white);color:var(--ink);max-width:640px;width:calc(100% - 32px);max-height:90vh;box-shadow:0 18px 60px #142b2428}dialog::backdrop{background:#202c2466}.dialog-content{padding:32px}.close{position:absolute;right:18px;top:18px;border:1px solid var(--line);background:var(--white);border-radius:50%;width:35px;height:35px;display:grid;place-items:center}.detail-title{padding-right:35px}.detail-title p{color:var(--muted);font-size:14px}.detail-title h2{font-family:var(--serif);font-size:36px;font-weight:400;margin:5px 0 15px}.detail-summary{display:flex;justify-content:space-between;align-items:center;border-block:1px solid var(--line);padding:18px 0;gap:15px}.detail-description{margin-top:20px;color:var(--muted)}.courses{margin:24px 0}.courses h3{font-size:13px;margin:20px 0 7px;color:var(--accent)}.courses ul{margin:0;padding-left:19px;color:#424b42}.metadata{font-size:12px;background:var(--paper);padding:15px;margin-top:22px;line-height:1.9}.metadata a{color:var(--accent)}.detail-actions{display:flex;gap:9px;margin-top:18px;flex-wrap:wrap}.community{border-top:1px solid var(--line);padding-top:22px;margin-top:25px}.community h3{font-size:17px;margin-bottom:5px}.community p{font-size:12px;color:var(--muted)}.stars{display:flex;gap:5px;margin:14px 0}.stars button{border:1px solid var(--line);background:white;padding:9px;color:#946020;border-radius:5px;display:flex;align-items:center;gap:3px}.stars button:hover{background:#faf0dc}.stars .icon{width:17px}.report-form{margin-top:12px}.report-form textarea{width:100%;margin:9px 0}.admin-shell{max-width:1120px;margin:40px auto;padding:0 28px 60px}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.admin-heading h1{font-size:38px}.admin-heading p{color:var(--muted);margin-top:7px}.login{max-width:430px;margin:80px auto;padding:0 24px}.login h1{font-size:36px}.login p{color:var(--muted);margin:15px 0 26px}.login label{display:block}.login input{width:100%;margin:8px 0 20px}.login .button{width:100%}.error{color:#a33121;background:#fae9e2;padding:11px;border-radius:5px;font-size:13px;margin:12px 0}.admin-grid{display:grid;grid-template-columns:290px 1fr;gap:40px}.admin-sidebar{border-right:1px solid var(--line);padding-right:24px}.admin-item{width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;padding:15px 0}.admin-item strong{display:block}.admin-item span{font-size:12px;color:var(--muted)}.admin-item:hover{color:var(--accent)}.editor h2{font-family:var(--serif);font-size:28px;font-weight:400;margin-bottom:20px}.photo-upload{border:1px dashed #acb19e;background:#eeefe6;padding:21px;border-radius:7px;margin-bottom:28px}.photo-upload h3{font-size:15px;margin-bottom:5px}.photo-upload p{font-size:12px;color:#596550;margin-bottom:12px}.photo-upload input{max-width:100%;background:white;margin-bottom:10px;font-size:12px}.photo-preview{max-width:100%;max-height:180px;display:block;margin-bottom:10px;border-radius:5px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:550}.field.full{grid-column:1/-1}.field textarea{min-height:85px;resize:vertical;font-weight:400}.field input,.field select{font-weight:400;width:100%}.field small{color:var(--muted);font-weight:400}.days{display:flex;flex-wrap:wrap;gap:8px}.days label{display:flex;align-items:center;gap:4px;font-size:12px;cursor:pointer}.days input{width:15px;min-height:0;accent-color:var(--accent)}fieldset{border:0;padding:0;margin:0}legend{margin-bottom:9px}.form-actions{display:flex;gap:9px;margin-top:27px;align-items:center;flex-wrap:wrap}.form-actions small{color:var(--muted)}.note{padding:14px;background:#efeee4;border-radius:6px;font-size:12px;color:#62654e;margin:15px 0}.reports{margin-top:25px;font-size:12px}.reports h3{font-size:14px}.report-item{padding:12px 0;border-bottom:1px solid var(--line)}.geocode-results button{display:block;width:100%;text-align:left;padding:10px;border:1px solid var(--line);background:white}.geocode-results{margin-top:10px}.loading{padding:70px;text-align:center;color:var(--muted)}.about-body{padding:35px}.about-body h2{font-family:var(--serif);font-size:29px;font-weight:400;margin-bottom:18px}.about-body p{margin-top:14px;color:var(--muted)}.fade-in{animation:arrive .35s cubic-bezier(.16,1,.3,1)}@keyframes arrive{from{clip-path:inset(0 0 8% 0)}to{clip-path:inset(0)}}
@media(min-width:1550px){.workspace{grid-template-columns:minmax(500px,42%) 1fr}.listing{padding-left:9.5%;padding-right:40px}.menu-card{padding:30px 0}.intro{padding-top:44px;padding-bottom:35px}}
@media(max-width:950px){.header{gap:20px;padding:0 24px}.pilot{display:none}.intro{padding:27px 24px 23px}h1{font-size:39px}.location{font-size:12px}.filters{padding:0 24px 22px}.workspace{grid-template-columns:48% 52%}.listing{padding:0 20px 25px}.menu-art{display:none}.includes,.card-foot{margin-left:0}.card-copy h3{font-size:20px}.price{font-size:22px}.card-foot{flex-wrap:wrap}.trust-strip{padding:16px 24px}.admin-grid{grid-template-columns:220px 1fr;gap:25px}}
@media(max-width:650px){.header{height:71px;padding:0 20px}.brand>span{font-size:25px}.brand svg{width:29px}.header nav{gap:0}.header nav a{font-size:11px}#explore-link{display:none}.intro{display:block;padding:25px 20px 19px}.intro h1{font-size:37px;max-width:340px}.intro p{font-size:13px;max-width:290px;line-height:1.6}.location{padding:17px 0 0;font-size:12px}.location small{display:none}.filters{padding:0 20px 20px;gap:8px}.search{min-width:100%;max-width:none}.filters select{min-width:0;flex:1;font-size:12px;padding:9px 6px}.check{padding:5px 0 0;font-size:12px}.workspace{display:block;min-height:400px}.listing{height:auto;min-height:390px;padding:0 20px 65px}.map-panel{height:calc(100dvh - 240px);min-height:400px;display:none;border-left:0}.map-view .map-panel{display:block}.map-view .listing{display:none}.list-head{padding:17px 0}.menu-art{display:grid;width:54px;min-width:54px;height:67px}.card-main{gap:13px}.includes,.card-foot{margin-left:67px}.price{font-size:24px}.card-copy h3{font-size:22px}.menu-card{padding:22px 0}.card-foot{gap:8px}.card-link{margin-left:auto}.trust-strip{padding:17px 20px 75px;display:block;font-size:11px}.trust-strip>span{margin-bottom:9px}.mobile-toggle{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);display:flex;border-radius:30px;z-index:600;background:var(--ink);border-color:var(--ink);box-shadow:0 5px 18px #20302426;white-space:nowrap}.mobile-toggle:hover{background:#3e4a40}#toast{bottom:83px}.dialog-content{padding:25px}.detail-title h2{font-size:30px}.detail-summary{align-items:flex-start}.admin-shell{margin:25px auto;padding:0 20px 40px}.admin-heading{align-items:flex-start}.admin-heading h1{font-size:29px}.admin-heading p{font-size:12px}.admin-grid{display:block}.admin-sidebar{border-right:0;padding:0;margin-bottom:25px}.admin-list{max-height:210px;overflow:auto;margin-top:10px}.admin-item{padding:10px 0}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.editor h2{font-size:26px}.photo-upload{padding:16px}.reports{margin:20px 0}.map-top{top:15px;left:15px}.map-note{left:15px;font-size:10px;right:15px;bottom:24px}.stars button{padding:8px}.login{margin-top:50px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}

@media(max-width:650px){.filters .check{flex-basis:100%;padding-top:3px}.filters select{flex:1 1 28%;width:28%;font-size:11px}.card-foot .rating{font-size:10px}}

.price-pending{font-size:12px;letter-spacing:0;color:var(--muted);max-width:85px;white-space:normal}.filters .check{font-size:11px}.map-price{max-width:170px;overflow:hidden;text-overflow:ellipsis}

@media(max-width:650px){.filters select{flex:1 1 45%;width:45%;font-size:12px}}
