@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap";:root{color-scheme:light;--ink:#272021;--paper:#f7f0e7;--cream:#fffaf3;--plum:#712f4b;--rose:#d56568;--teal:#2f6f69;--line:#dfd1c4;--muted:#786b65;font-family:DM Sans,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--paper)}a{color:inherit}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.site-header{min-height:84px;padding:0 clamp(22px,5vw,76px);display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--line);background:#fffaf3e6}.site-header>p{margin:0;color:var(--muted);font-size:.85rem}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;letter-spacing:-.03em}.brand>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--plum);color:#fff;font-family:Fraunces,serif;font-size:1.25rem}.menus-link{margin-left:auto;color:var(--plum);font-weight:700;font-size:.85rem;text-decoration:none}.directory,.detail-page{max-width:1280px;margin:auto;padding:0 clamp(22px,5vw,76px)}.directory-hero{min-height:530px;display:grid;grid-template-columns:160px 1fr;align-items:center;gap:clamp(40px,8vw,110px);border-bottom:1px solid var(--line)}.hero-mark{width:130px;aspect-ratio:1;display:grid;place-content:center;border:1px solid var(--plum);border-radius:50%;color:var(--plum);text-align:center;font-size:.7rem;line-height:1.5;font-weight:800;letter-spacing:.18em;position:relative}.hero-mark:before,.hero-mark:after{content:"";position:absolute;inset:10px;border:1px dashed rgba(113,47,75,.35);border-radius:50%}.hero-mark:after{inset:22px}.eyebrow{margin:0 0 14px;color:var(--teal);text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:800}h1,h2{font-family:Fraunces,serif;letter-spacing:-.045em}.directory-hero h1{max-width:800px;margin:0;font-size:clamp(4rem,9vw,8rem);line-height:.84}.directory-hero h1 em{color:var(--plum);font-weight:600}.lede{max-width:600px;margin:35px 0 0;color:var(--muted);font-size:1.15rem;line-height:1.7}.browse{padding:90px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:34px}.section-heading h2{margin:0;font-size:clamp(2rem,4vw,3.5rem)}.section-heading>span{color:var(--muted);font-size:.85rem}.category-filters{display:flex;flex-wrap:wrap;gap:10px;margin:-8px 0 30px}.category-filters button{min-height:42px;padding:0 16px;border:1px solid var(--line);border-radius:999px;background:var(--cream);color:var(--muted);font:inherit;font-size:.78rem;font-weight:800;cursor:pointer}.category-filters button span{display:inline-grid;place-items:center;min-width:21px;height:21px;margin-left:5px;border-radius:50%;background:#eee4d9;font-size:.67rem}.category-filters button.active{border-color:var(--plum);background:var(--plum);color:#fff}.category-filters button.active span{background:#ffffff2e}.listing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}.listing-card[hidden]{display:none}.listing-card{min-height:320px;display:grid;grid-template-columns:42% 1fr;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--cream);text-decoration:none;transition:transform .2s,box-shadow .2s}.listing-card:hover{transform:translateY(-4px);box-shadow:0 22px 50px #4d2d341f}.card-art{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:var(--plum);color:#fff}.card-art svg{width:55px;height:55px}.card-art small{text-transform:uppercase;letter-spacing:.12em;font-weight:700;font-size:.65rem}.card-art img,.profile-art img{width:100%;height:100%;object-fit:contain;display:block;padding:clamp(18px,3vw,38px)}.card-copy{padding:32px 28px;display:flex;flex-direction:column}.card-copy>small{color:var(--teal);text-transform:uppercase;letter-spacing:.13em;font-weight:800;font-size:.65rem}.card-copy strong{margin:14px 0 8px;font-family:Fraunces,serif;font-size:2rem;line-height:1.03}.card-copy>span{color:var(--muted);font-size:.9rem}.card-copy b{margin-top:auto;display:flex;align-items:center;gap:8px;color:var(--plum);font-size:.85rem}.card-copy b svg{width:17px}.business-status{display:inline-flex;align-items:center;gap:7px;width:max-content;margin:12px 0 4px;padding:6px 10px;border-radius:999px;font-size:.67rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.business-status i{width:7px;height:7px;border-radius:50%;background:currentColor}.business-status.is-open{background:#dcebe4;color:#286258}.business-status.is-closed{background:#f3deda;color:#a33e42}.card-copy>.business-status{font-size:.64rem}.coming{margin-bottom:90px;padding:55px;border-radius:22px;background:var(--teal);color:#fff}.coming .eyebrow{color:#c9e4dc}.coming h2{max-width:700px;margin:0;font-size:clamp(2.2rem,5vw,4rem)}.coming>p:last-child{max-width:560px;line-height:1.7;color:#deece8}.back{display:inline-block;margin:32px 0;color:var(--plum);font-weight:700;text-decoration:none;font-size:.85rem}.profile-hero{min-height:500px;display:grid;grid-template-columns:minmax(280px,42%) 1fr;border:1px solid var(--line);border-radius:26px;overflow:hidden;background:var(--cream)}.profile-art{min-height:430px;display:grid;place-content:center;justify-items:center;gap:30px;background:var(--plum);color:#fff}.profile-art>span{font-family:Fraunces,serif;font-size:clamp(5rem,10vw,9rem);letter-spacing:-.09em}.profile-art>span span{color:#efaaa9}.profile-art svg{width:65px;height:65px;color:#efaaa9}.profile-art:has(img){display:block}.profile-copy{align-self:center;padding:clamp(35px,6vw,80px)}.profile-copy h1{margin:0;max-width:650px;font-size:clamp(3rem,6vw,6rem);line-height:.9}.tagline{margin:25px 0 35px;color:var(--muted);font-size:1.2rem}.quick-actions{display:flex;flex-wrap:wrap;gap:12px}.quick-actions a,.quick-actions button{min-height:52px;display:inline-flex;align-items:center;gap:9px;padding:0 20px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);text-decoration:none;font:inherit;font-weight:800;font-size:.85rem;cursor:pointer}.quick-actions .primary{background:var(--rose);border-color:var(--rose);color:#fff}.profile-copy>.business-status{margin:0 0 22px}.details-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:22px 0}.info-card{padding:clamp(30px,5vw,58px);border:1px solid var(--line);border-radius:22px;background:var(--cream)}.info-card h2{margin:0 0 32px;font-size:clamp(2rem,4vw,3.3rem)}.info-row{display:grid;grid-template-columns:30px 1fr;gap:15px;align-items:start;padding:18px 0;border-top:1px solid var(--line)}.info-row small{display:block;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em}.info-row strong,.info-row a{display:inline-block;margin-top:5px;font-weight:700;text-decoration:none}.verified-note{margin:24px 0 0;padding:16px;border-radius:12px;background:#efe6da;color:var(--muted);font-size:.85rem}.hours-line{min-height:55px;display:grid;grid-template-columns:25px 1fr;gap:14px;align-items:center;border-top:1px solid var(--line)}.hours-line.closed{grid-template-columns:1fr auto;color:var(--muted)}.hours-line.closed b{color:var(--rose)}.about{margin:22px 0 80px;padding:55px;border-radius:22px;background:#eadfd3}.about>p:nth-child(2){max-width:700px;font-family:Fraunces,serif;font-size:clamp(1.8rem,3.5vw,3rem);line-height:1.2}.about small{color:var(--muted)}.share-dialog{width:min(460px,calc(100% - 36px));padding:38px;border:1px solid var(--line);border-radius:22px;background:var(--cream);color:var(--ink);box-shadow:0 28px 90px #27202147}.share-dialog::backdrop{background:#27202194}.share-dialog h2{margin:0;font-size:2.2rem}.share-dialog>p:not(.eyebrow){color:var(--muted);line-height:1.6}.dialog-close{position:absolute;top:14px;right:16px;border:0;background:transparent;color:var(--muted);font-size:1.7rem;cursor:pointer}.dialog-actions{display:grid;gap:10px;margin-top:25px}.dialog-actions a,.dialog-actions button{min-height:50px;display:grid;place-items:center;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);text-decoration:none;font:inherit;font-weight:800;cursor:pointer}.dialog-actions a{border-color:var(--plum);background:var(--plum);color:#fff}footer{min-height:110px;padding:25px clamp(22px,5vw,76px);display:flex;align-items:center;gap:25px;border-top:1px solid var(--line);background:var(--cream)}.brand.small>span{width:28px;height:28px;font-size:1rem}footer p{margin-left:auto;color:var(--muted);font-size:.8rem}.loading,.error-state{min-height:100vh;display:grid;place-content:center;justify-items:center;gap:20px;padding:30px;text-align:center}.loading p{color:var(--muted)}.error-state h1{margin:0;font-size:3rem}.error-state a{padding:12px 18px;border-radius:999px;background:var(--plum);color:#fff;text-decoration:none;font-weight:700}@media(max-width:760px){.site-header>p{display:none}.menus-link{font-size:.72rem}.directory-hero{min-height:560px;grid-template-columns:1fr;align-content:center;gap:40px}.hero-mark{width:90px}.directory-hero h1{font-size:clamp(3.4rem,18vw,5.8rem)}.listing-card{grid-template-columns:1fr}.card-art{min-height:170px}.profile-hero,.details-grid{grid-template-columns:1fr}.profile-art{min-height:300px}.profile-copy{padding:38px 28px}.profile-copy h1{font-size:3.4rem}.quick-actions a,.quick-actions button{width:100%;justify-content:center}.about,.coming{padding:35px 26px}footer{align-items:flex-start;flex-direction:column}footer p{margin:0}}.profile-qr-dialog{width:min(480px,calc(100vw - 32px));max-height:90dvh;overflow:auto;padding:24px;border:1px solid #c9c3ba;border-radius:20px;background:#fff;color:#201c17;text-align:center;box-sizing:border-box}.profile-qr-dialog::backdrop{background:#000000a6}.profile-qr-dialog h2{font:700 clamp(24px,5vw,34px)/1.2 system-ui,sans-serif;margin:12px 0;overflow-wrap:anywhere}.profile-qr-dialog p{font:16px/1.5 system-ui,sans-serif;color:#302b24}.profile-qr-dialog .qr-brand{font-size:13px;letter-spacing:.05em;font-weight:700}.profile-qr-dialog .profile-qr-image{display:block;width:min(100%,320px);height:auto;margin:12px auto;background:#fff}.profile-qr-dialog .qr-url{overflow-wrap:anywhere;font-size:13px}.profile-qr-dialog .qr-hint{font-size:13px}.qr-controls{display:flex;justify-content:flex-end}.qr-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.profile-qr-dialog button,.profile-qr-dialog .qr-actions a{padding:11px 16px;border:1px solid #aaa;border-radius:9px;background:#fff;color:#201c17;font:600 15px/1.3 system-ui,sans-serif;cursor:pointer;text-decoration:none}.profile-qr-dialog [data-qr-print]{background:#201c17;color:#fff}.profile-qr-dialog button:disabled{opacity:.5;cursor:wait}.profile-qr-dialog :focus-visible{outline:3px solid #1679b9;outline-offset:3px}@media print{body.printing-qr>*:not(#profile-qr-dialog){display:none!important}body.printing-qr{background:#fff!important;margin:0!important}body.printing-qr #profile-qr-dialog{display:block!important;position:static!important;width:150mm;max-width:100%;max-height:none;margin:15mm auto;padding:10mm;overflow:visible;border:1px solid #aaa;box-shadow:none;break-inside:avoid}body.printing-qr #profile-qr-dialog::backdrop{display:none}body.printing-qr .qr-controls,body.printing-qr .qr-actions,body.printing-qr .qr-hint{display:none!important}body.printing-qr .profile-qr-image{width:85mm;height:85mm}}.directory-submit{--submission-accent: #74324e;max-width:1000px;margin:auto;padding:2rem 1.25rem 5rem;color:#29241f}.directory-submit.community{--submission-accent: #244e43}.submission-back{color:inherit}.submission-intro{max-width:760px;margin:3rem 0 2rem}.submission-intro h1{font:600 clamp(2.7rem,6vw,4.6rem)/1.06 "Fraunces",Georgia,serif;letter-spacing:-.035em;margin:1rem 0}.submission-intro p,.submission-card p{line-height:1.65}.submission-card{background:#fffdf7;border:1px solid #d6cec0;border-radius:22px;padding:clamp(1.25rem,4vw,3rem)}.submission-card h2{font:600 clamp(1.6rem,4vw,2.3rem)/1.2 "Fraunces",Georgia,serif}.submission-steps{display:flex;flex-wrap:wrap;gap:.6rem;padding:0;margin:0 0 2rem;list-style:none}.submission-steps li{padding:.5rem .9rem;border-radius:999px;background:#e9e4db;font-weight:600}.submission-steps [aria-current]{background:var(--submission-accent);color:#fff}.submission-card label{display:block;font-weight:650;margin-bottom:1.25rem}.submission-card small{font-weight:400;color:#665c52}.submission-card input,.submission-card textarea{display:block;box-sizing:border-box;width:100%;margin-top:.5rem;padding:.95rem 1rem;border:1px solid #b6ab9c;border-radius:10px;background:#fff;color:#29241f;font:inherit}.submission-card textarea{resize:vertical}.submission-card :focus-visible,.submission-cta:focus-visible,.site-header .submit-link:focus-visible{outline:3px solid #1679b9;outline-offset:3px}.submission-card button,.submission-cta,.site-header .submit-link{display:inline-flex;justify-content:center;padding:.9rem 1.2rem;border:1px solid transparent;border-radius:10px;background:var(--submission-accent,#244e43);color:#fff;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}.submission-card button.secondary{background:transparent;border-color:#b6ab9c;color:#29241f;margin:.5rem 0 .5rem .5rem}.submission-card button:disabled{opacity:.6;cursor:wait}.submission-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.submission-fields .wide{grid-column:1 / -1}.submission-privacy{font-size:.9rem;color:#665c52}.submission-message{padding:1rem;margin-top:1rem;border-radius:10px;background:#e9efe7;overflow-wrap:anywhere}.submission-message[data-error=true]{background:#fae3dc;color:#812c20}.submission-card [hidden]{display:none!important}.site-header .submission-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.8rem}.site-header .submit-link{padding:.6rem .9rem;font-size:.9rem}.coming .submission-cta,.growing .submission-cta{margin-top:1rem}@media(max-width:620px){.submission-fields{grid-template-columns:1fr}.submission-card button{width:100%}.submission-card button.secondary{margin:.6rem 0 0}.site-header{flex-wrap:wrap;gap:.8rem}.site-header .submission-nav{gap:.6rem}}
