/* Reversible Home vitality experiment. Remove this stylesheet link to restore the baseline. */
.intro{isolation:isolate;overflow:hidden;position:relative}
.intro::before,.intro::after{content:"";position:absolute;border-radius:50%;z-index:-1;pointer-events:none;filter:blur(1px)}
.intro::before{width:28rem;height:28rem;right:-11rem;top:-14rem;background:radial-gradient(circle,rgba(35,132,93,.18),rgba(35,132,93,0) 68%)}
.intro::after{width:18rem;height:18rem;left:48%;bottom:-14rem;border:1px solid rgba(22,96,67,.18);box-shadow:0 0 0 38px rgba(22,96,67,.035),0 0 0 76px rgba(22,96,67,.025)}
.intro h1{text-wrap:balance}.intro-copy{font-size:clamp(1rem,1.4vw,1.125rem)}
.hero-actions .button,.hero-community,.topbar .button{position:relative;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease}
.hero-actions .button:hover,.topbar .button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(22,35,29,.18)}
.hero-community:hover{transform:translateX(4px)}
.directory-tabs button{transition:color .2s ease,background-color .2s ease,transform .2s ease}
.directory-tabs button:hover{transform:translateY(-1px)}
.stats strong{font-variant-numeric:tabular-nums}.stats>div{transition:background-color .25s ease,transform .25s ease}.stats>div:hover{background:rgba(255,255,255,.055);transform:translateY(-2px)}
.search{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.search:focus-within{border-color:#23845d;box-shadow:0 0 0 4px rgba(35,132,93,.12);transform:translateY(-1px)}
.restaurant-card{will-change:transform;transform-style:preserve-3d}.restaurant-card:hover{transform:translateY(-5px);box-shadow:0 20px 48px rgba(22,35,29,.12)}
.restaurant-card.has-visual{padding:0}.restaurant-card.has-visual::before{z-index:2}.restaurant-media{position:relative;display:block;width:100%;height:168px;overflow:hidden;background:#e8efeb}.restaurant-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}.restaurant-card:hover .restaurant-media img{transform:scale(1.045)}.restaurant-media::after{content:"";position:absolute;inset:auto 0 0;height:48%;background:linear-gradient(transparent,rgba(10,28,23,.45))}.restaurant-media small{position:absolute;left:14px;bottom:11px;z-index:1;color:#fff;font-size:10px;font-weight:700;letter-spacing:.04em;text-shadow:0 1px 4px rgba(0,0,0,.35)}.card-content{display:flex;flex:1;width:100%;flex-direction:column;padding:20px 22px 22px}.restaurant-brand-tile{width:100%;height:110px;margin-bottom:2px;border-radius:13px;display:flex;align-items:flex-end;justify-content:space-between;padding:16px;background:linear-gradient(135deg,#e5f4ef,#f8f5e9);color:#17685f}.restaurant-brand-tile>span{font:800 30px Manrope,sans-serif;letter-spacing:-.05em}.restaurant-brand-tile small{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#55716a}.restaurant-card:not(.has-visual)>.card-content{padding:18px 0 0}.restaurant-card.has-visual h3{margin-top:16px}
.restaurant-media.is-logo{display:flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#f8fbfa,#e3f4ef)}.restaurant-media.is-logo img{width:92px;height:92px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(12,67,58,.14))}.restaurant-card:hover .restaurant-media.is-logo img{transform:scale(1.06)}.restaurant-media.is-logo::after{height:42%;background:linear-gradient(transparent,rgba(10,67,58,.34))}
.restaurant-card:focus-visible,.button:focus-visible,.hero-community:focus-visible,.directory-tabs button:focus-visible{outline:3px solid rgba(35,132,93,.38);outline-offset:3px}
.status-legend{padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.54);border:1px solid rgba(217,216,207,.7)}
.vitality-reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s cubic-bezier(.2,.7,.2,1)}
.vitality-reveal.is-visible{opacity:1;transform:none}
.directory-heading .section-kicker::after{content:"";display:inline-block;width:30px;height:1px;margin-left:10px;vertical-align:middle;background:currentColor;transition:width .35s ease}
.directory-heading:hover .section-kicker::after{width:52px}
@media(max-width:640px){.intro::after{display:none}.stats>div:hover{transform:none}.restaurant-card:hover{transform:translateY(-2px)}.status-legend{gap:12px}.restaurant-media{height:190px}}
@media(prefers-reduced-motion:reduce){.hero-actions .button,.hero-community,.topbar .button,.directory-tabs button,.stats>div,.search,.restaurant-card,.vitality-reveal,.directory-heading .section-kicker::after{transition:none!important}.vitality-reveal{opacity:1;transform:none}.intro::before,.intro::after{display:none}}
