:root{
  --ink:#091b35;
  --muted:#65738a;
  --blue:#0b57d0;
  --blue2:#4385ff;
  --gold:#e9a63a;
  --cream:#fff8ec;
  --sky:#eef5ff;
  --line:#dce5f0;
  --soft:#f5f8fc;
  --white:#fff;
  --max:1220px;
  --shadow:0 24px 70px rgba(14,35,68,.11);
  --shadow-soft:0 14px 40px rgba(14,35,68,.07);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}
a{color:inherit}
img{max-width:100%;display:block}
button,input{font:inherit}
.top{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.88);backdrop-filter:blur(18px) saturate(150%);border-bottom:1px solid rgba(220,229,240,.86)}
.topin{max-width:var(--max);margin:auto;padding:13px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{display:flex;gap:10px;align-items:center;text-decoration:none;font-size:22px;font-weight:950;letter-spacing:-.05em}
.brandmark{width:34px;height:34px;border-radius:12px;background:linear-gradient(135deg,var(--blue),#17386c);display:grid;place-items:center;color:#fff;box-shadow:0 8px 20px rgba(11,87,208,.25);font-size:17px}
.nav{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.nav a{font-size:13px;text-decoration:none;padding:9px 12px;border:1px solid transparent;border-radius:999px;transition:.2s ease}
.nav a:hover{background:#f4f7fb;border-color:var(--line)}
.nav .primary{background:var(--ink);color:#fff}
.nav .primary:hover{background:#173b73;border-color:#173b73}
.hero{position:relative;overflow:hidden;background:linear-gradient(145deg,#f8fbff 0%,#eef5ff 42%,#fff7e8 100%);border-bottom:1px solid var(--line)}
.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);pointer-events:none}
.hero:before{width:640px;height:640px;right:-180px;top:-240px;background:radial-gradient(circle,rgba(72,139,255,.22),rgba(72,139,255,0) 68%);animation:orbA 12s ease-in-out infinite alternate}
.hero:after{width:520px;height:520px;left:-180px;bottom:-330px;background:radial-gradient(circle,rgba(233,166,58,.21),rgba(233,166,58,0) 68%);animation:orbB 13s ease-in-out infinite alternate}
.hero-grid{position:absolute;inset:0;opacity:.28;background-image:linear-gradient(rgba(32,75,140,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(32,75,140,.08) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 82%)}
.heroin{position:relative;z-index:3;max-width:var(--max);margin:auto;padding:78px 20px 70px;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:48px;align-items:center}
.eyebrow{font-size:12px;font-weight:950;letter-spacing:.13em;text-transform:uppercase;color:var(--blue)}
.hero h1{font-size:clamp(52px,7vw,92px);line-height:.91;letter-spacing:-.072em;margin:12px 0 22px;max-width:830px}
.hero h1 .accent{display:inline-block;background:linear-gradient(90deg,var(--blue),#3f7ce4,#b56b19);-webkit-background-clip:text;background-clip:text;color:transparent}
.lead{max-width:760px;font-size:19px;color:var(--muted);line-height:1.6}
.search{margin-top:28px;display:flex;background:#fff;border:1px solid #c7d5e9;border-radius:21px;padding:7px;max-width:820px;box-shadow:0 25px 70px rgba(15,44,86,.12);transition:.22s ease}
.search:focus-within{transform:translateY(-2px);box-shadow:0 30px 80px rgba(15,44,86,.16);border-color:#9bb8e5}
.search input{flex:1;border:0;outline:0;font-size:17px;padding:14px 15px;min-width:0;background:transparent}
.search button{border:0;background:linear-gradient(135deg,var(--blue),#164c9b);color:#fff;font-weight:900;border-radius:15px;padding:0 22px;cursor:pointer}
.quick{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}
.quick a{font-size:12px;text-decoration:none;color:#345274;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.58);border:1px solid rgba(197,212,233,.8)}
.stats{display:flex;gap:20px;flex-wrap:wrap;margin-top:24px;color:var(--muted);font-size:12px}
.stats b{display:block;color:var(--ink);font-size:20px;letter-spacing:-.03em}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:21px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;background:var(--blue);color:#fff;padding:12px 17px;border-radius:999px;font-weight:900;white-space:nowrap;border:1px solid var(--blue);transition:.2s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(11,87,208,.2)}
.btn.secondary{background:#fff;color:var(--ink);border-color:#cbd8e9}
.btn.dark{background:var(--ink);border-color:var(--ink)}
.visual-stage{position:relative;min-height:520px}
.visual-glow{position:absolute;inset:55px 20px 25px 30px;border-radius:42px;background:linear-gradient(145deg,rgba(255,255,255,.88),rgba(238,245,255,.78));border:1px solid rgba(190,207,231,.75);box-shadow:var(--shadow);backdrop-filter:blur(20px)}
.pulse-card{position:absolute;width:min(350px,78%);background:#fff;border:1px solid var(--line);border-radius:25px;overflow:hidden;box-shadow:var(--shadow);animation:floatCard 7s ease-in-out infinite}
.pulse-card.pc1{left:0;top:20px;z-index:5}
.pulse-card.pc2{right:0;top:178px;z-index:6;animation-delay:-2.4s}
.pulse-card.pc3{left:55px;bottom:6px;z-index:4;animation-delay:-4.2s}
.pulse-media{height:154px;background:linear-gradient(135deg,#dceaff,#fff1d5);overflow:hidden;position:relative}
.pulse-media img{width:100%;height:100%;object-fit:cover}
.pulse-media .letter{height:100%;display:grid;place-items:center;font-size:64px;font-weight:950;color:#496c9d}
.pulse-body{padding:15px 17px 17px}
.pulse-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:950;color:var(--blue)}
.pulse-title{font-size:19px;font-weight:900;margin-top:5px;letter-spacing:-.03em}
.pulse-copy{font-size:12px;line-height:1.5;color:var(--muted);margin-top:5px}
.pulse-search{padding:18px;background:linear-gradient(135deg,#0c2345,#163e78);color:#fff;border-radius:25px}
.pulse-search .fake-input{margin-top:10px;background:#fff;color:#60708a;padding:12px 13px;border-radius:12px;font-size:12px}
.orbit-chip{position:absolute;padding:8px 11px;background:rgba(255,255,255,.92);border:1px solid #d3deec;border-radius:999px;font-size:11px;font-weight:800;box-shadow:0 8px 24px rgba(15,44,86,.08);animation:chipFloat 6s ease-in-out infinite;z-index:9}
.orbit-chip.o1{right:8px;top:60px}.orbit-chip.o2{left:8px;top:265px;animation-delay:-2s}.orbit-chip.o3{right:20px;bottom:15px;animation-delay:-4s}
.ribbon{border-bottom:1px solid var(--line);background:#fff;overflow:hidden}
.ribbon-track{display:flex;width:max-content;gap:9px;padding:13px 0;animation:marquee 42s linear infinite}
.ribbon:hover .ribbon-track{animation-play-state:paused}
.ribbon a{display:inline-flex;align-items:center;gap:7px;text-decoration:none;padding:8px 12px;border-radius:999px;background:var(--soft);font-size:12px;color:#34455f;border:1px solid transparent}
.ribbon a:hover{border-color:#b9cae0;background:#fff}
.section{max-width:var(--max);margin:auto;padding:58px 20px}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}
.section h2{font-size:clamp(32px,4.5vw,48px);letter-spacing:-.055em;margin:6px 0 8px;line-height:1}
.sectionintro{color:var(--muted);max-width:760px;line-height:1.65;margin:0}
.textlink{font-size:13px;font-weight:900;color:var(--blue);text-decoration:none;white-space:nowrap}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.business-card{border:1px solid var(--line);border-radius:25px;overflow:hidden;background:#fff;box-shadow:var(--shadow-soft);transition:.25s ease}
.business-card:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(20,44,78,.11)}
.card-media{height:190px;background:linear-gradient(135deg,#eaf2ff,#f7efe3);display:grid;place-items:center;text-decoration:none;overflow:hidden;position:relative}
.card-media:after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,rgba(7,25,52,.16))}
.card-media img{width:100%;height:100%;object-fit:cover;transition:.5s ease}
.business-card:hover .card-media img{transform:scale(1.035)}
.card-media span{font-size:62px;font-weight:950;color:#55729b}
.card-body{padding:19px}
.tagline{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:950;color:var(--blue)}
.card-body h3{font-size:22px;margin:6px 0;letter-spacing:-.03em}.card-body h3 a{text-decoration:none}
.card-body p{font-size:13px;color:var(--muted);line-height:1.55;min-height:42px}
.offer{background:#f7f9fc;border-radius:14px;padding:11px;margin:12px 0}
.offer b,.offer span{display:block}.offer b{font-size:13px}.offer span{font-size:11px;color:var(--muted);margin-top:3px}
.more{font-size:12px;font-weight:900;color:var(--blue);text-decoration:none}
.today{position:relative;background:linear-gradient(150deg,#081a33,#102c58 58%,#173f74);color:#fff;overflow:hidden}
.today:after{content:"";position:absolute;width:500px;height:500px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-160px;top:-180px;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}
.today-inner{position:relative;z-index:2;max-width:var(--max);margin:auto;padding:62px 20px}
.today .sectionintro{color:#c8d4e5}
.today .business-card{color:var(--ink)}
.today .textlink{color:#bcd2ff}
.restaurant-box{border:1px solid var(--line);background:linear-gradient(145deg,#fff,#f8fbff);border-radius:30px;padding:28px;box-shadow:var(--shadow-soft)}
.restaurant-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.count{font-size:12px;background:#eaf2ff;color:#174d9a;border-radius:999px;padding:7px 10px;white-space:nowrap;font-weight:800}
.facet-title{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:950;color:#68778d;margin:15px 0 7px}
.facet-row{display:flex;gap:8px;flex-wrap:wrap}
.chip{display:inline-flex;align-items:center;text-decoration:none;border:1px solid var(--line);background:#fff;padding:9px 12px;border-radius:999px;font-size:13px;transition:.18s ease}
.chip:hover{border-color:#9fb7d9;background:#f8fbff;transform:translateY(-1px)}
.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.category-tile{position:relative;text-decoration:none;background:var(--soft);border:1px solid transparent;border-radius:18px;padding:17px;min-height:114px;overflow:hidden;transition:.22s ease}
.category-tile:hover{background:#fff;border-color:#c4d3e6;transform:translateY(-3px);box-shadow:var(--shadow-soft)}
.category-icon{font-size:23px}.category-name{font-weight:900;margin-top:9px;font-size:14px}.category-count{font-size:11px;color:var(--muted);margin-top:4px}
.category-tile:after{content:"";position:absolute;width:65px;height:65px;border-radius:50%;right:-25px;bottom:-30px;background:rgba(11,87,208,.06)}
.story{background:linear-gradient(145deg,#fff8ec,#f7fbff);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.storyin{max-width:var(--max);margin:auto;padding:60px 20px;display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}
.story h2{font-size:clamp(36px,5vw,58px);line-height:.98;letter-spacing:-.06em;margin:0 0 16px}
.story p{color:var(--muted);line-height:1.7}
.story-list{display:grid;gap:12px}
.story-item{display:flex;gap:12px;background:rgba(255,255,255,.74);border:1px solid rgba(207,219,235,.85);border-radius:16px;padding:13px}
.story-item i{font-style:normal;width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:#eaf2ff}
.story-item b{display:block;font-size:13px}.story-item span{font-size:11px;color:var(--muted)}
.cta{background:#f2f6ff}
.ctain{max-width:var(--max);margin:auto;padding:56px 20px;display:flex;justify-content:space-between;align-items:center;gap:25px}
.ctain h2{margin:0 0 8px;font-size:36px;letter-spacing:-.05em}.ctain p{margin:0;color:var(--muted);max-width:670px;line-height:1.6}
.empty{border:1px dashed #cbd7e8;background:#fafcff;border-radius:20px;padding:24px;color:var(--muted)}
.foot{border-top:1px solid var(--line);padding:30px 20px;color:var(--muted);text-align:center;font-size:12px}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.seen{opacity:1;transform:none}
@keyframes orbA{to{transform:translate(-55px,45px) scale(1.08)}}@keyframes orbB{to{transform:translate(80px,-25px) scale(.9)}}@keyframes floatCard{0%,100%{transform:translateY(0) rotate(-.3deg)}50%{transform:translateY(-10px) rotate(.3deg)}}@keyframes chipFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes marquee{to{transform:translateX(-50%)}}
@media(max-width:960px){.heroin{grid-template-columns:1fr;padding-top:58px}.visual-stage{min-height:470px;max-width:680px}.category-grid{grid-template-columns:repeat(3,1fr)}.storyin{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.topin{align-items:flex-start}.nav{max-width:70%;gap:4px}.nav a{padding:8px 9px;font-size:11px}.heroin{padding:45px 17px 50px}.hero h1{font-size:clamp(48px,14vw,68px)}.lead{font-size:16px}.search{flex-direction:column;border-radius:18px}.search button{padding:13px}.visual-stage{min-height:420px}.pulse-card{width:82%}.pulse-card.pc2{top:155px}.pulse-card.pc3{left:30px}.cards{grid-template-columns:1fr}.category-grid{grid-template-columns:1fr 1fr}.restaurant-top,.ctain{flex-direction:column;align-items:flex-start}.section,.today-inner{padding-left:17px;padding-right:17px}.section-head{align-items:flex-start;flex-direction:column}.storyin{padding-left:17px;padding-right:17px}.orbit-chip{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero:before,.hero:after,.pulse-card,.orbit-chip,.ribbon-track{animation:none!important}.reveal{opacity:1;transform:none;transition:none}.business-card,.btn,.chip,.category-tile{transition:none}}
