@font-face{font-family:Montserrat;src:url('fonts/Montserrat-Variable.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Lobster;src:url('fonts/Lobster-Regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{--wine:#8e2e30;--ink:#302219;--cream:#fbedcf;--sand:#f9dfb7;--peach:#ffad6d;--muted:#806b58;--line:#e5cfaf;font-family:Montserrat,Arial,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #cf6548;outline-offset:5px;border-radius:6px}.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.eyebrow{font-size:10px;letter-spacing:.2em;font-weight:700}.directory-page{background:#fcf4e4;min-height:100vh}.directory-header{height:110px;background:var(--wine);padding:20px max(5.2vw,24px);display:flex;align-items:center;justify-content:space-between}.brand-lockup{display:flex;align-items:center;gap:17px;text-decoration:none}.brand-lockup span{height:44px;width:1px;background:#ffffff60}.municipal-logo{height:66px;width:60px;object-fit:contain}.sapas-logo{height:63px;width:65px;object-fit:contain}.staff-link{color:#fff7e9;text-decoration:none;font-size:12px;font-weight:600;display:flex;gap:16px;align-items:center}.staff-link span{font-size:22px}.directory-main{max-width:1320px;padding:65px 38px 30px;margin:0 auto}.directory-intro{position:relative;margin:0 0 40px}.directory-intro:after{content:'';position:absolute;right:5px;top:22px;width:110px;height:110px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M50 4v92M4 50h92M17.5 17.5l65 65M17.5 82.5l65-65' fill='none' stroke='%23e8c18f' stroke-width='4'/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none}.directory-intro .eyebrow{color:var(--wine);margin-bottom:20px}.directory-intro h1{font-size:clamp(32px,3.5vw,49px);font-weight:600;line-height:1.13;letter-spacing:-1.6px;margin:0 0 20px}.directory-intro h1 em{font:400 1.18em Lobster,serif;color:var(--wine);letter-spacing:0}.directory-intro>p:last-child{font-size:13px;color:var(--muted);line-height:1.7}.facility-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.facility-card{border:1px solid var(--line);border-radius:5px;background:#fffaf0;overflow:hidden;transition:transform .2s,box-shadow .2s}.facility-card:hover{transform:translateY(-4px);box-shadow:0 14px 26px #614b3112}.facility-photo{height:200px;position:relative;background:#d5c4a4;overflow:hidden}.facility-photo>img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.facility-card:hover .facility-photo>img{transform:scale(1.035)}.facility-photo:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#1c2b1c70)}.facility-number{position:absolute;top:14px;left:15px;background:#fff4dded;border-radius:50%;width:31px;height:31px;display:grid;place-items:center;font-size:10px;font-weight:700;color:var(--wine)}.facility-card-content{padding:23px 19px 18px}.card-kicker{font-size:8px;letter-spacing:.17em;color:var(--muted);font-weight:600;margin:0 0 9px}.facility-card h2{font:400 28px/1.12 Lobster,serif;color:var(--wine);min-height:63px;margin:0 0 18px}.facility-actions{display:flex;flex-direction:column;gap:9px}.button{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:44px;padding:11px 13px;font-size:11px;font-weight:600;text-decoration:none;border:1px solid var(--wine);border-radius:3px}.button span{font-size:18px;line-height:1}.button-wine{color:#fff9ed;background:var(--wine)}.button-wine:hover{background:#752527}.button-outline{color:var(--wine)}.button-outline:hover{background:#f4dfc2}.directory-footnote{text-align:center;color:var(--muted);font-size:10px;margin:25px 0 0}.directory-footer{max-width:1244px;margin:35px auto 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:23px 0 30px;font-size:10px;color:var(--muted)}.directory-footer>span:last-child{font:400 21px Lobster;color:var(--wine)}
.menu-page{background:#e9e0d3}.menu-toolbar{height:60px;position:sticky;top:0;z-index:20;background:#fffaf0f5;backdrop-filter:blur(12px);border-bottom:1px solid #dbcaaf;display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:15px}.menu-back{text-decoration:none;display:flex;gap:10px;align-items:center;font-size:11px;font-weight:600;color:var(--wine);min-width:130px}.menu-back>span:first-child{font-size:22px;font-weight:400}.view-switch{display:flex;border:1px solid #d9c3a6;border-radius:30px;padding:3px;gap:3px}.view-switch>a{font-size:10px;font-weight:600;text-decoration:none;padding:8px 18px;border-radius:20px;color:var(--muted)}.view-switch>a[aria-current]{background:var(--wine);color:#fff6e7}.zoom-button{background:none;border:0;color:var(--wine);font-size:10px;font-weight:600;cursor:pointer;display:flex;gap:7px;align-items:center;min-width:130px;justify-content:end;padding:8px 0}.zoom-button>span:first-child{font-size:20px}.toolbar-signature{min-width:130px;text-align:right;font-weight:800;letter-spacing:.15em;font-size:11px;color:var(--wine)}.preview-notice{position:sticky;top:60px;z-index:19;background:#f9dca1;color:#6e461b;display:flex;justify-content:center;gap:14px;font-size:11px;padding:12px 15px;text-align:center}.original-view{overflow:auto;width:100%;padding:24px 0 40px}.sheet-stack{width:100%;min-width:100%;display:flex;flex-direction:column;align-items:center;gap:24px}.menu-sheet{width:min(calc(100% - 32px),680px);position:relative;background:var(--cream);box-shadow:0 4px 26px #45321e20;aspect-ratio:var(--sheet-ratio);flex-shrink:0}.original-canvas{width:100%;height:100%;display:block;overflow:hidden}.svg-body{font-family:Montserrat,Arial,sans-serif;font-weight:700;fill:#2d2117}.svg-script{font-family:Lobster,serif;font-weight:400;fill:#2d2117}.svg-heading{fill:var(--wine)}.original-view.is-zoomed .sheet-stack{width:max(1120px,100%);align-items:center}.original-view.is-zoomed .menu-sheet{width:1100px}.page-counter{position:absolute;right:12px;bottom:10px;background:#fff9ecde;border-radius:15px;font-size:9px;padding:5px 9px;color:var(--wine)}
.mobile-menu-page{background:#f1e3cc}.mobile-menu{max-width:700px;margin:0 auto;background:var(--cream);min-height:calc(100vh - 60px);box-shadow:0 0 40px #523e2012}.mobile-hero{position:relative;padding:28px 30px 50px;color:#fff7e9;isolation:isolate;background:linear-gradient(180deg,#26311b20,#18220cc4),var(--facility-photo) center 54%/cover;overflow:hidden}.mobile-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#1e302065,#1b261934);z-index:-1}.mobile-brand{display:flex;align-items:center;gap:12px;margin-bottom:42px}.mobile-brand img:first-child{width:42px;height:46px;object-fit:contain}.mobile-brand img:last-child{width:45px;height:46px;object-fit:contain}.mobile-brand i{display:block;background:#fff8d980;width:1px;height:32px}.mobile-hero .eyebrow{letter-spacing:.13em;font-size:8px;line-height:1.7;opacity:.92;margin-bottom:10px}.mobile-hero h1{font:400 clamp(38px,6.6vw,58px)/1.05 Lobster,serif;margin:0;max-width:95%;text-shadow:0 2px 20px #1823136b}.mobile-hero>p:last-of-type{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin:14px 0 0}.hero-wave{width:100%;height:32px;position:absolute;bottom:-1px;left:0}.category-tabs{display:flex;position:sticky;z-index:10;top:60px;gap:8px;overflow-x:auto;background:#fbedcff5;backdrop-filter:blur(12px);padding:16px 24px 12px;scrollbar-width:none;border-bottom:1px solid #e8d0ab70}.category-tabs::-webkit-scrollbar{display:none}.category-tabs a{font-size:10px;font-weight:600;white-space:nowrap;border:1px solid #dbbd94;border-radius:30px;padding:10px 15px;text-decoration:none;color:var(--wine)}.category-tabs a:hover,.category-tabs a.is-active{background:var(--wine);color:#fff8ec;border-color:var(--wine)}.is-preview .category-tabs{top:99px}.mobile-menu-content{padding:7px 29px 10px}.mobile-category{padding-top:25px;scroll-margin-top:145px}.mobile-category h2{font:400 30px Lobster,serif;color:var(--wine);display:flex;align-items:center;justify-content:center;gap:24px;margin:0 15px 20px;background:var(--peach);padding:7px 12px 10px;clip-path:polygon(2% 0,100% 2%,98% 100%,0 97%)}.mobile-category h2>span{font:400 21px serif;opacity:.9}.mobile-category h2>span:last-child{transform:scaleX(-1)}.mobile-products{list-style:none;margin:0;padding:0}.mobile-products li{display:flex;align-items:baseline;gap:9px;padding:13px 0;border-bottom:1px solid #e5ca9b70;min-height:49px}.mobile-product-name{max-width:75%;flex-shrink:1;min-width:0;font-size:13px;font-weight:700;line-height:1.55;overflow-wrap:anywhere}.mobile-product-name small{display:block;font-weight:500;font-size:10px;color:var(--muted);line-height:1.6;margin-top:2px}.mobile-dots{min-width:6px;flex:1;border-bottom:2px dotted #bba17d;position:relative;top:-3px}.mobile-price{font:400 24px/1 Lobster,serif;white-space:nowrap;color:#362418;flex-shrink:0}.mobile-price>span{font-size:18px;margin-left:4px}.mobile-footer{margin-top:35px;padding:36px 25px 30px;text-align:center;border-top:1px solid #e1bd8e;background:#f9dfb7}.mobile-footer>span{font:400 35px Lobster;color:var(--wine)}.mobile-footer p{font-size:9px;letter-spacing:.03em;color:var(--muted);margin:14px 0 22px}.mobile-footer a{font-size:10px;font-weight:600;color:var(--wine);text-underline-offset:5px}.mobile-footer a span{font-size:16px;margin-left:8px}.empty-menu{text-align:center;padding:55px 25px}.empty-menu h2{font:400 30px Lobster;color:var(--wine)}.empty-menu p{font-size:12px;color:var(--muted)}
@media(min-width:760px){.mobile-hero{padding:35px 42px 60px}.mobile-hero h1{font-size:59px}.mobile-brand{margin-bottom:50px}.mobile-menu-content{padding:8px 45px 10px}.category-tabs{padding-left:40px;padding-right:40px}.mobile-products li{padding:15px 0}.mobile-product-name{font-size:15px}.mobile-price{font-size:27px}.mobile-category h2{margin-left:40px;margin-right:40px}}
@media(max-width:1000px){.facility-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.facility-photo{height:240px}.facility-card h2{min-height:32px}.directory-footer{margin-left:38px;margin-right:38px}.facility-actions{flex-direction:row}.facility-actions>a{flex:1}.directory-intro:after{right:15px}.directory-main{max-width:820px}.directory-footer{max-width:744px}}
@media(max-width:520px){.directory-header{height:87px;padding:15px 23px}.municipal-logo{height:52px;width:45px}.sapas-logo{height:48px;width:49px}.brand-lockup{gap:11px}.brand-lockup span{height:34px}.staff-link{font-size:9px;gap:8px}.directory-main{padding:38px 21px 22px}.directory-intro{margin-bottom:27px}.directory-intro h1{font-size:32px;letter-spacing:-1px}.directory-intro .eyebrow{font-size:8px;letter-spacing:.15em;margin-bottom:14px}.directory-intro>p:last-child{font-size:11px;max-width:260px}.directory-intro:after{width:58px;height:58px;right:0;top:31px;opacity:.6}.facility-grid{grid-template-columns:1fr;gap:22px}.facility-photo{height:200px}.facility-card-content{padding:20px}.facility-card h2{font-size:29px;margin-bottom:18px}.facility-actions{flex-direction:row;gap:10px}.facility-actions .button{font-size:10px;padding:10px 12px}.directory-footer{margin:15px 23px 0;padding-top:20px;font-size:8px;align-items:center}.directory-footer>span:last-child{font-size:20px}.menu-toolbar{height:58px;padding:0 13px;gap:6px}.menu-back{min-width:69px;font-size:9px;gap:6px}.view-switch>a{font-size:9px;padding:8px 12px}.zoom-button{min-width:75px;font-size:8px;gap:4px}.zoom-button>span:first-child{font-size:18px}.toolbar-signature{min-width:69px;font-size:9px}.preview-notice{top:58px;font-size:9px;gap:5px;flex-wrap:wrap}.category-tabs{top:58px;padding-left:22px;padding-right:22px}.is-preview .category-tabs{top:94px}.original-view{padding-top:14px}.menu-sheet{width:calc(100% - 20px)}.original-view.is-zoomed .sheet-stack{width:930px}.original-view.is-zoomed .menu-sheet{width:910px}.mobile-menu-content{padding-left:23px;padding-right:23px}.mobile-category h2{font-size:27px;margin-left:7px;margin-right:7px;gap:20px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{.menu-toolbar,.preview-notice,.page-counter,.sr-only{display:none!important}.original-view{padding:0;overflow:visible}.sheet-stack{display:block;width:auto}.menu-sheet{width:148mm;box-shadow:none;page-break-after:always;margin:0;break-after:page}.menu-sheet:last-child{page-break-after:auto}body{background:white}@page{size:A5;margin:0}}
