@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";*{box-sizing:border-box}html,body{color:#17242b;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:#0e1c33;min-height:100%;margin:0;padding:0;font-family:Inter,-apple-system,system-ui,sans-serif}#root{background:#fbfbf9;min-height:100dvh}.app-shell{width:100%;min-height:100dvh;position:relative}.dark-band{color:#e8eef6;background:radial-gradient(1200px 500px at 70% -40%,#6bc4a80f,#0000 60%),radial-gradient(800px 400px at 10% 110%,#5a8bb50d,#0000 65%),#0e1c33;padding:0}.hero{text-align:center;max-width:1100px;margin:0 auto;padding:48px 24px 28px}@media (width>=700px){.hero{padding:70px 40px 40px}}.hero-badge{letter-spacing:.18em;background:#ffffff05;border:1px solid #ffffff24;border-radius:999px;align-items:center;gap:9px;margin-bottom:28px;padding:7px 18px 7px 14px;font-size:11px;font-weight:700;display:inline-flex}.hero-badge-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.hero-title{letter-spacing:-.04em;flex-direction:column;align-items:center;gap:4px;margin:0;font-size:clamp(40px,8vw,96px);font-weight:800;line-height:.95;display:flex}.hero-line-1{color:#fff}.hero-line-2{font-style:normal;font-weight:800}.hero-subtitle{color:#8fa3b8;letter-spacing:.01em;margin:22px 0 0;font-size:16px;font-weight:400}@media (width>=700px){.hero-subtitle{font-size:18px}}.hero-location{letter-spacing:.18em;text-transform:uppercase;color:#8fa3b8;align-items:center;gap:14px;margin-top:14px;font-size:12.5px;font-weight:500;display:inline-flex}.hero-rule{opacity:.55;width:42px;height:1px;display:inline-block}.filter-bar{max-width:1100px;margin:0 auto;padding:10px 20px 48px}@media (width>=700px){.filter-bar{padding:20px 40px 64px}}.search-wrap{background:#ffffff0a;border:1px solid #ffffff14;border-radius:14px;align-items:center;padding:0 14px 0 44px;transition:border-color .18s,background .18s;display:flex;position:relative}.search-wrap:focus-within{background:#ffffff0f;border-color:#6bc4a88c}.search-icon{color:#6b7a92;position:absolute;left:16px}.search-input{color:#e8eef6;background:0 0;border:none;outline:none;flex:1;min-width:0;padding:16px 0;font-family:inherit;font-size:15px}.search-input::placeholder{color:#6b7a92}.search-clear{appearance:none;color:#b8c6d8;cursor:pointer;background:#ffffff0f;border:none;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.search-clear:hover{color:#fff;background:#ffffff1f}.chips-row{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.chip{appearance:none;color:#b8c6d8;cursor:pointer;letter-spacing:.005em;white-space:nowrap;background:#ffffff08;border:1px solid #ffffff1f;border-radius:999px;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:background .16s,color .16s,border-color .16s,transform .12s}.chip:hover{color:#fff;background:#ffffff12;border-color:#ffffff2e}.chip:active{transform:scale(.97)}.chip-active{font-weight:600}.light-band{background:#fbfbf9;padding:28px 20px 64px}@media (width>=700px){.light-band{padding:40px 40px 80px}}.results-header{justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto 18px;display:flex}.results-count{color:#6b7a82;letter-spacing:.04em;text-transform:uppercase;font-size:13px;font-weight:500}.source-note{color:#a88958;letter-spacing:.06em;text-transform:uppercase;background:#f4eee4;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:500}.vendor-grid{grid-template-columns:1fr;gap:12px;max-width:1100px;margin:0 auto;display:grid}@media (width>=640px){.vendor-grid{grid-template-columns:1fr 1fr;gap:14px}}@media (width>=1000px){.vendor-grid{grid-template-columns:1fr 1fr 1fr;gap:16px}}.vendor-card{appearance:none;text-align:left;cursor:pointer;background:#fff;border:1px solid #17242b0d;border-radius:18px;flex-direction:column;justify-content:space-between;min-height:130px;padding:18px;font-family:inherit;transition:transform .2s cubic-bezier(.2,.8,.2,1),box-shadow .2s,border-color .2s;animation:.42s cubic-bezier(.2,.8,.2,1) both rowIn;display:flex;box-shadow:0 1px 2px #142d3708,0 3px 12px #142d370a}.vendor-card:hover{border-color:#17242b14;transform:translateY(-2px);box-shadow:0 2px 4px #142d370d,0 14px 30px #142d3714}.vendor-card:active{transform:translateY(0)}.vendor-tag{color:#3d5058;letter-spacing:.02em;background:#ecefee;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:500;display:inline-block}.empty{text-align:center;color:#6b7a82;max-width:1100px;margin:32px auto;padding:40px 20px}.empty-title{color:#17242b;margin-bottom:6px;font-size:16px;font-weight:600}.empty-sub{font-size:13.5px}.footer-note{text-align:center;color:#a0aeb5;letter-spacing:.02em;margin-top:48px;font-size:11.5px}.sheet{background:#fbfbf9;border-radius:24px 24px 0 0;width:100%;max-width:560px;max-height:94vh;animation:.34s cubic-bezier(.2,.8,.2,1) both sheetUp;overflow-y:auto;box-shadow:0 -12px 40px #1021292e}@media (width>=700px){.sheet{border-radius:20px;max-height:88vh;margin-bottom:6vh}}.carousel-viewport{-webkit-user-select:none;user-select:none;touch-action:pan-y;cursor:grab;background:#ecefee;border-radius:14px;width:100%;height:220px;position:relative;overflow:hidden}.carousel-viewport:active{cursor:grabbing}.carousel-img{object-fit:cover;pointer-events:none;width:100%;height:100%;display:block}.carousel-placeholder{color:#fff;letter-spacing:-.01em;justify-content:center;align-items:center;width:100%;height:100%;font-size:26px;font-weight:600;display:flex}.carousel-arrow{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);background:#1021298c;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:background .15s,transform .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.carousel-arrow:hover{background:#102129c7}.carousel-arrow:active{transform:translateY(-50%)scale(.94)}.carousel-arrow-left{left:10px}.carousel-arrow-right{right:10px}.carousel-dots{justify-content:center;gap:6px;margin-top:12px;display:flex}.carousel-dot{cursor:pointer;background:#d8dfe3;border:none;border-radius:50%;width:6px;height:6px;padding:0;transition:background .15s,transform .15s}.carousel-dot.active{transform:scale(1.35)}@keyframes rowIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes sheetUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.sheet::-webkit-scrollbar{width:0;height:0}
