.yf-container{width:calc(100% - 96px);max-width:1280px;margin-inline:auto}
.yf-hero,.yf-directory,.yf-owner{font-family:'DM Sans',sans-serif;color:#181816}
.yf-hero{padding:112px 0 96px;background:#fff;overflow:hidden}
.yf-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.yf-hero-copy{min-width:0;padding-top:40px}
.yf-kicker{font-size:12px;font-weight:700;letter-spacing:.14em;line-height:1.5;margin:0 0 32px;text-transform:uppercase}
.yf-hero h1{font-family:inherit;font-weight:800;font-size:clamp(72px,7vw,96px);letter-spacing:-.06em;line-height:.98;margin:0 0 26px;color:#181816}
.yf-intro{max-width:500px;font-size:18px;line-height:1.65;color:#62645c;margin:0 0 48px}
.yf-search{display:flex;align-items:stretch;gap:12px;max-width:540px}
.yf-search-input{display:flex;align-items:center;gap:12px;min-height:52px;flex:1;min-width:0;padding:0 16px;border-radius:12px;border:1px solid transparent;background:#f5f5f2;transition:background 180ms,border-color 180ms}
.yf-search-input:focus-within{border-color:#181816;background:#fff}
.yf-search-input>.icon{width:20px;height:20px;flex-shrink:0;color:#62645c}
.yf-search-input input{appearance:none;border:0;background:transparent;min-width:0;width:100%;height:50px;padding:0;color:#181816;font:500 16px/1.4 'DM Sans',sans-serif;outline:none}
.yf-search-input input::placeholder{color:#62645c;opacity:1}
.yf-button{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:12px 28px;border:1px solid transparent;border-radius:12px;font-family:inherit;font-size:16px;font-weight:700;line-height:1.35;text-decoration:none;text-align:center;cursor:pointer;transition:background 200ms,border-color 200ms,transform 200ms;color:#181816;flex-shrink:0}
.yf-button-lime{background:#d9f95b}
.yf-button-lime:hover{background:#e1fa7c;transform:translateY(-2px)}
.yf-button-outline{background:#fff;border-color:#18181630}
.yf-button-outline:hover{background:#f5f5f2;border-color:#181816}
.yf-button .icon{width:20px;height:20px;flex-shrink:0}
.yf-button:focus-visible,.yf-chip:focus-visible,.yf-card a:focus-visible,.yf-results-meta a:focus-visible{outline:2px solid #181816;outline-offset:4px}
.yf-stats{display:flex;align-items:center;gap:24px;margin-top:40px;font-size:14px;font-weight:500;color:#62645c}
.yf-stats>span:not(.yf-stat-dot){display:flex;align-items:center;gap:8px}
.yf-stats strong{font-size:16px;font-weight:800;color:#181816}
.yf-stat-dot{width:4px;height:4px;border-radius:50%;background:#18181640}
.yf-coming-note{font-size:14px;color:#62645c;margin:32px 0 0}
.yf-hero-media{position:relative;width:100%;max-width:520px;aspect-ratio:4/5;margin:0 0 0 auto;border-radius:24px;overflow:hidden}
.yf-hero-media>img{display:block;width:100%;height:100%;object-fit:cover}
.yf-hero-media figcaption{position:absolute;bottom:40px;left:24px;padding:14px 20px;background:#fff;border-radius:12px;color:#181816;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transform:rotate(-3deg);box-shadow:0 8px 30px #18181614}
.yf-hero-media figcaption:after{content:'';position:absolute;bottom:-3px;left:16px;width:16px;height:4px;border-radius:4px;background:#eb4e35}
.yf-directory{padding-top:96px;padding-bottom:40px;scroll-margin-top:104px}
.yf-directory-heading{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:32px}
.yf-directory h2,.yf-owner h2{font-family:inherit;font-size:clamp(40px,4vw,56px);font-weight:800;line-height:1.05;letter-spacing:-.045em;margin:0}
.yf-market-label{font-size:14px;font-weight:600;color:#62645c}
.yf-directory-filters{display:flex;flex-wrap:wrap;align-items:end;gap:16px;margin-bottom:28px}
.yf-filter-field{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1;max-width:300px}
.yf-filter-field label{font-size:13px;font-weight:600;color:#62645c}
.yf-filter-field select{min-height:52px;width:100%;min-width:0;border:1px solid #18181630;border-radius:12px;background:#fff;color:#181816;font:500 16px/1.4 'DM Sans',sans-serif;padding:10px 36px 10px 16px}
.yf-filter-field select:focus-visible{outline:2px solid #181816;outline-offset:3px}
.yf-cuisines{display:flex;gap:12px;overflow-x:auto;padding:4px 4px 10px;margin:0 -4px 26px;scrollbar-width:thin;scrollbar-color:#18181630 transparent}
.yf-chip{display:inline-flex;align-items:center;justify-content:center;min-height:44px;flex-shrink:0;border-radius:999px;background:#f5f5f2;padding:9px 24px;color:#181816;font-size:14px;font-weight:500;text-decoration:none;transition:background 200ms;white-space:nowrap}
.yf-chip:hover{background:#18181612}
.yf-chip.is-selected{background:#d9f95b;color:#181816}
.yf-chip:first-child.is-selected{background:#181816;color:#fff}
.yf-results-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;margin-bottom:24px;font-size:14px;color:#62645c}
.yf-results-meta p{margin:0;overflow-wrap:anywhere}
.yf-results-meta a{display:inline-flex;align-items:center;gap:8px;min-height:44px;flex-shrink:0;color:#181816;text-decoration:underline;text-underline-offset:4px;font-weight:600}
.yf-results-meta .icon{width:16px;height:16px}
.yf-restaurant-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px 40px}
.yf-card{min-width:0;display:flex;flex-direction:column;transition:transform 220ms ease}
.yf-card:hover,.yf-card:focus-within{transform:translateY(-4px)}
.yf-card-media{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;aspect-ratio:4/3;background:#f5f5f2;border:1px solid #1818160d;border-radius:20px;overflow:hidden;text-decoration:none;color:#181816;margin-bottom:20px}
.yf-card-media>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 220ms ease}
.yf-card:hover .yf-card-media>img{transform:scale(1.035)}
.yf-card-initials{font-size:48px;font-weight:800;letter-spacing:-.04em;line-height:1;color:#62645c}
.yf-card-open{font-size:14px;font-weight:600}
.yf-card-open>span{margin-left:3px}
.yf-demo-label{position:absolute;top:12px;left:12px;background:#fff;color:#181816;padding:6px 10px;border-radius:6px;font-size:12px;font-weight:600}
.yf-card-copy{display:flex;flex-direction:column;flex:1;min-width:0}
.yf-card h3{font-family:inherit;font-weight:800;font-size:24px;line-height:1.2;letter-spacing:-.025em;margin:0 0 10px;overflow-wrap:anywhere}
.yf-card h3>a{color:#181816;text-decoration:none}
.yf-card:hover h3>a{text-decoration:underline;text-underline-offset:4px}
.yf-card-description{font-size:16px;line-height:1.55;color:#62645c;margin:0 0 16px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.yf-card-details{display:flex;flex-wrap:wrap;gap:8px 12px;font-size:13px;font-weight:500;color:#62645c;margin-top:auto}
.yf-card-status{font-size:12px;color:#62645c;margin:12px 0 0}
.yf-empty{grid-column:1/-1;text-align:center;padding:64px 24px;border-radius:20px;background:#f5f5f2}
.yf-empty>.icon{width:32px;height:32px;color:#62645c;margin-bottom:16px}
.yf-empty h3{font:800 26px/1.2 'DM Sans',sans-serif;letter-spacing:-.03em;margin:0 0 12px}
.yf-empty p{font-size:16px;line-height:1.6;color:#62645c;margin:0 auto 24px;max-width:520px}
.yf-pagination{margin-top:48px}
.yf-directory-note{font-size:12px;line-height:1.7;color:#62645c;margin:32px 0 0;max-width:760px}
.yf-owner{padding-top:104px;padding-bottom:128px;scroll-margin-top:104px}
.yf-owner-panel{position:relative;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:64px;align-items:center;background:#f5f5f2;padding:80px;border-radius:32px;overflow:hidden}
.yf-owner-accent{position:absolute;right:0;top:0;width:128px;height:128px;border-bottom-left-radius:100%;background:#d9f95b80;pointer-events:none}
.yf-owner-copy,.yf-clip-preview{position:relative;z-index:1}
.yf-owner-copy h2{margin-bottom:24px}
.yf-owner-copy>p{font-size:18px;line-height:1.65;color:#62645c;max-width:480px;margin:0 0 32px}
.yf-clip-preview{width:100%;max-width:280px;aspect-ratio:9/16;display:flex;flex-direction:column;margin:0 0 0 auto;overflow:hidden;background:#fff;border:1px solid #1818160d;border-radius:20px;box-shadow:0 20px 60px #18181614}
.yf-clip-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;background:#fff;min-height:56px}
.yf-clip-header strong{font-size:14px}
.yf-clip-header .icon{width:20px;height:20px;color:#62645c}
.yf-clip-image{position:relative;flex:1;min-height:0;background:#f5f5f2}
.yf-clip-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.yf-clip-label{position:absolute;left:12px;top:12px;border-radius:4px;background:#fff;padding:5px 8px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.yf-clip-image figcaption{position:absolute;bottom:16px;left:16px;right:16px;background:#fff;border-radius:12px;padding:12px;color:#181816;font-size:14px;font-weight:600;line-height:1.5}
.yf-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes yf-appear{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.yf-entrance{animation:yf-appear 600ms cubic-bezier(.16,1,.3,1) backwards;opacity:1}
.yf-delay-one{animation-delay:100ms}.yf-delay-two{animation-delay:200ms}.yf-delay-three{animation-delay:300ms}.yf-delay-four{animation-delay:400ms}
@media(min-width:768px) and (max-width:1023px){.yf-container{width:calc(100% - 64px)}}
@media(max-width:1100px){.yf-hero-grid{gap:40px}.yf-hero h1{font-size:clamp(64px,7.5vw,88px)}.yf-hero-copy{padding-top:20px}.yf-intro{font-size:16px;margin-bottom:32px}.yf-owner-panel{padding:56px;gap:40px}.yf-restaurant-grid{gap:40px 28px}}
@media(max-width:1023px){.yf-hero{padding:72px 0 64px}.yf-hero-grid{grid-template-columns:1fr;gap:48px}.yf-hero-copy{padding-top:0}.yf-hero h1{font-size:clamp(56px,8vw,76px)}.yf-hero-media{margin:0 auto;max-width:600px}.yf-intro{max-width:600px}.yf-directory{padding-top:64px}.yf-restaurant-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.yf-owner{padding-top:80px;padding-bottom:80px}.yf-owner-panel{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);padding:48px;gap:32px}.yf-owner-copy>p{font-size:16px}.yf-owner h2{font-size:40px}.yf-owner .yf-button{padding-inline:20px}}
@media(max-width:767px){.yf-container{width:calc(100% - 40px)}.yf-hero{padding:48px 0 56px}.yf-kicker{margin-bottom:24px}.yf-hero h1{font-size:clamp(40px,12vw,58px);line-height:1.02;margin-bottom:26px}.yf-intro{font-size:16px;line-height:1.65;margin-bottom:32px}.yf-hero-grid{gap:64px}.yf-search{max-width:none}.yf-stats{margin-top:40px}.yf-hero-media{max-width:520px}.yf-hero-media figcaption{bottom:24px;left:auto;right:24px;padding:12px 18px}.yf-directory{padding-top:56px;padding-bottom:24px}.yf-directory-heading{align-items:flex-start;gap:16px;flex-direction:column;margin-bottom:24px}.yf-directory h2,.yf-owner h2{font-size:clamp(30px,8vw,38px)}.yf-market-label{font-size:13px}.yf-directory-filters{gap:12px}.yf-filter-field{max-width:none;flex-basis:calc(50% - 6px)}.yf-filter-field select{font-size:14px;padding-left:12px;padding-right:24px}.yf-directory-filters>.yf-button{width:100%;min-height:48px}.yf-cuisines{margin-bottom:14px;gap:8px}.yf-chip{padding-inline:20px}.yf-results-meta{flex-wrap:wrap;gap:4px;font-size:13px}.yf-restaurant-grid{grid-template-columns:1fr;gap:40px}.yf-card-media{margin-bottom:20px}.yf-card h3{font-size:24px}.yf-card-description{font-size:16px}.yf-owner{padding-top:64px;padding-bottom:72px}.yf-owner-panel{grid-template-columns:1fr;gap:48px;padding:32px 24px;border-radius:24px}.yf-owner-copy h2{margin-bottom:24px}.yf-clip-preview{margin:0 auto}.yf-empty{padding:40px 20px}.yf-empty h3{font-size:24px}.yf-pagination{margin-top:32px}}
@media(max-width:479px){.yf-search{flex-direction:column}.yf-search .yf-button{width:100%}.yf-search-input{flex:auto;min-height:52px}.yf-hero h1{letter-spacing:-.06em}.yf-stats{gap:24px}.yf-filter-field{flex-basis:100%}.yf-owner .yf-button{width:100%;padding-inline:16px}}
@media(prefers-reduced-motion:reduce){.yf-entrance{animation:none;opacity:1;transform:none}.yf-card,.yf-card-media>img,.yf-button,.yf-chip,.yf-search-input{transition:none}.yf-card:hover,.yf-card:focus-within,.yf-card:hover .yf-card-media>img,.yf-button-lime:hover{transform:none}}
