*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--nph-font);background:var(--nph-bg);color:var(--nph-text);line-height:1.6;transition:background var(--nph-transition),color var(--nph-transition);-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}.nph-icon{width:22px;height:22px;flex-shrink:0}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}ul{list-style:none;margin:0;padding:0}.container{max-width:var(--nph-container);margin-inline:auto;padding-inline:24px}.nph-section{padding-block:44px}h1,h2,h3,h4,h5{font-weight:700;line-height:1.25;margin:0 0 0.5em}.section-title{font-size:clamp(1.6rem,2.4vw,2.2rem)}.section-subtitle{color:var(--nph-text-muted);font-size:1.05rem;margin-bottom:2rem}.glass-card{background:var(--nph-glass-bg);border:1px solid var(--nph-glass-border);backdrop-filter:blur(var(--nph-glass-blur));-webkit-backdrop-filter:blur(var(--nph-glass-blur));border-radius:var(--nph-radius-lg);box-shadow:var(--nph-glass-shadow);transition:transform var(--nph-transition),box-shadow var(--nph-transition)}.card{background:var(--nph-bg-elevated);border:1px solid var(--nph-border);border-radius:var(--nph-radius-lg);box-shadow:var(--nph-shadow-sm);transition:transform var(--nph-transition),box-shadow var(--nph-transition);overflow:hidden}.card:hover{transform:translateY(-6px);box-shadow:var(--nph-shadow-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:var(--nph-radius-pill);font-weight:600;font-size:0.95rem;border:none;transition:transform var(--nph-transition-fast),box-shadow var(--nph-transition-fast),background var(--nph-transition-fast);white-space:nowrap}.btn:active{transform:scale(0.97)}.btn-primary{background:var(--nph-gradient-primary);color:var(--nph-ink-900);box-shadow:var(--nph-shadow-glow-primary)}.btn-primary:hover{background:var(--nph-gradient-primary-hover);box-shadow:0 12px 36px rgba(217,154,0,0.45);transform:translateY(-2px)}.btn-accent{background:var(--nph-gradient-accent);color:#fff;box-shadow:var(--nph-shadow-glow-accent)}.btn-accent:hover{background:var(--nph-accent-dark);box-shadow:0 12px 36px rgba(217,154,0,0.45);transform:translateY(-2px)}.btn-outline{background:transparent;border:1.5px solid var(--nph-border);color:var(--nph-text)}.btn-outline:hover{border-color:var(--nph-primary);color:var(--nph-primary-text)}.btn-ghost{background:rgba(255,255,255,0.08);color:var(--nph-text)}.btn-sm{padding:8px 16px;font-size:0.85rem}.btn-icon{width:44px;height:44px;padding:0;border-radius:50%}.nph-grid{display:grid;gap:24px;min-width:0}.nph-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.nph-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.nph-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.nph-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.nph-grid-6{grid-template-columns:repeat(6,minmax(0,1fr))}.site-header{position:sticky;top:0;z-index:100;height:var(--nph-header-h);display:flex;align-items:center;background:var(--nph-glass-bg);backdrop-filter:blur(var(--nph-glass-blur));-webkit-backdrop-filter:blur(var(--nph-glass-blur));border-bottom:1px solid var(--nph-glass-border)}.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;min-width:0}.site-logo{display:flex;align-items:center;gap:8px;font-weight:800;font-size:1.15rem;min-width:0;flex-shrink:1}.site-logo span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.site-logo img{height:32px;width:auto;flex-shrink:0}.site-logo .brand-accent{color:var(--nph-primary-text)}.site-header .btn-icon{width:38px;height:38px;flex-shrink:0}body.admin-bar .site-header{top:32px}@media screen and (max-width:782px){body.admin-bar .site-header{top:46px}}.primary-nav ul{display:flex;gap:6px}.primary-nav a{padding:8px 16px;border-radius:var(--nph-radius-pill);font-weight:600;font-size:0.92rem;transition:background var(--nph-transition-fast),color var(--nph-transition-fast)}.primary-nav a:hover,.primary-nav .current-menu-item>a{background:rgba(255,196,0,0.14);color:var(--nph-ink-900)}.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:1;min-width:0}.header-actions .btn-icon{background:rgba(255,255,255,0.15);border:1px solid var(--nph-border);flex-shrink:0}.header-actions .btn{flex-shrink:0;min-width:0}.header-actions .lang-switcher{flex-shrink:0}.mobile-nav-toggle{display:none}.nph-hero{position:relative;padding:96px 24px 140px;background:var(--nph-gradient-hero);color:var(--nph-charcoal);overflow:hidden;text-align:center}.nph-hero::before,.nph-hero::after{content:"";position:absolute;border-radius:50%;filter:blur(60px);opacity:0.35;animation:nph-float 10s ease-in-out infinite}.nph-hero::before{width:380px;height:380px;background:var(--nph-white);top:-120px;right:-80px}.nph-hero::after{width:320px;height:320px;background:var(--nph-cream);bottom:-140px;left:-60px;animation-delay:-4s}@keyframes nph-float{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(20px,-30px) scale(1.08)}}.nph-hero-inner{position:relative;z-index:2;max-width:880px;margin-inline:auto}.nph-hero h1{font-size:clamp(2rem,5vw,3.4rem);margin-bottom:0.4em}.nph-hero h1 .nph-hero-tagline{display:inline-block;margin-top:0.3em;font-size:clamp(1rem,2.2vw,1.4rem);font-weight:600;opacity:0.92}.nph-hero .nph-slogan{font-size:clamp(1rem,2vw,1.25rem);opacity:0.92;margin-bottom:2.4rem}.nph-search-box{display:flex;flex-wrap:wrap;gap:10px;padding:14px;background:rgba(255,255,255,0.92);border-radius:var(--nph-radius-xl);box-shadow:var(--nph-shadow-lg);backdrop-filter:blur(20px)}.nph-search-box select,.nph-search-box input[type="text"],.nph-search-box input[type="search"]{border:none;background:transparent;color:var(--nph-ink-900);font-size:1rem;padding:12px 16px;border-radius:var(--nph-radius-lg);flex:1;min-width:140px}.nph-search-box select:focus,.nph-search-box input:focus{outline:none;background:var(--nph-gray-100)}.nph-search-box .btn-primary{flex-shrink:0;padding-inline:32px}.nph-featured-filter{display:flex;align-items:center;gap:8px;min-width:0;margin:0;padding:4px 2px;overflow:visible;cursor:pointer}.nph-featured-filter input[type="checkbox"]{flex:0 0 auto;width:20px;height:20px;margin:0}.nph-featured-filter span{min-width:0;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.4;font-size:0.85rem}.nph-search-suggestions{position:relative}.nph-search-suggestions .nph-live-results{position:absolute;top:calc(100% + 12px);left:0;right:0;background:var(--nph-bg-elevated);border-radius:var(--nph-radius-md);box-shadow:var(--nph-shadow-lg);text-align:left;color:var(--nph-text);max-height:420px;overflow-y:auto;z-index:20;display:none}.nph-search-suggestions.is-active .nph-live-results{display:block}.nph-live-results a{display:flex;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--nph-border)}.nph-live-results a:hover{background:var(--nph-gray-50)}.nph-live-results img{width:44px;height:44px;border-radius:var(--nph-radius-sm);object-fit:cover}.nph-live-results .result-meta{font-size:0.8rem;color:var(--nph-text-muted)}.nph-popular-tags{margin-top:18px;display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:100%}.nph-popular-tags a{padding:7px 16px;border-radius:var(--nph-radius-pill);background:rgba(31,41,55,0.08);border:1px solid rgba(31,41,55,0.22);font-size:0.85rem;transition:background var(--nph-transition-fast);max-width:100%;overflow-wrap:anywhere}@media (max-width:768px){.nph-popular-tags{gap:8px}.nph-popular-tags a{padding:6px 12px;font-size:0.8rem}}.nph-popular-tags a:hover{background:rgba(31,41,55,0.16)}.nph-category-card{display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px 12px;text-align:center;position:relative}.nph-category-card .icon-wrap{width:64px;height:64px;border-radius:var(--nph-radius-lg);display:flex;align-items:center;justify-content:center;background:var(--nph-gradient-primary);color:#fff;transition:transform var(--nph-transition),background var(--nph-transition)}.nph-category-card{min-width:0}.nph-category-card .icon-wrap svg{width:30px;height:30px;flex-shrink:0}.nph-category-card span{font-weight:600;font-size:0.9rem;overflow-wrap:anywhere}.nph-category-card:hover .icon-wrap{transform:rotate(-8deg) scale(1.08);background:var(--nph-gradient-accent)}.nph-category-card .count{font-size:0.75rem;color:var(--nph-text-muted)}.business-card{position:relative;display:flex;flex-direction:column;min-width:0}.business-card h3{overflow-wrap:anywhere}.business-card .thumb{position:relative;aspect-ratio:4/3;overflow:hidden}.business-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform var(--nph-transition-slow)}.business-card:hover .thumb img{transform:scale(1.08)}.business-card .badges{position:absolute;top:12px;left:12px;display:flex;gap:6px}.business-card .badge{padding:4px 10px;border-radius:var(--nph-radius-pill);font-size:0.72rem;font-weight:700}.badge-featured{background:var(--nph-gradient-accent);color:var(--nph-charcoal)}.badge-premium{background:var(--nph-gradient-primary);color:var(--nph-charcoal)}.badge-vip{background:var(--nph-charcoal);color:var(--nph-yellow-primary);border:1px solid var(--nph-gold);letter-spacing:0.06em}.badge-verified{background:var(--nph-gold-soft);color:var(--nph-charcoal)}.badge-open{background:var(--nph-yellow-primary);color:var(--nph-charcoal)}.badge-closed{background:var(--nph-gray-500);color:#fff}.business-card .fav-btn{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,0.85);display:flex;align-items:center;justify-content:center;backdrop-filter:blur(6px);transition:transform var(--nph-transition-fast);border:none}.business-card .fav-btn:hover{transform:scale(1.12)}.business-card .fav-btn svg{width:18px;height:18px;stroke:var(--nph-ink-900);fill:none}.business-card .fav-btn.is-active svg{fill:var(--nph-accent);stroke:var(--nph-accent)}.business-card .body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:8px;flex:1}.business-card .cat{font-size:0.75rem;color:var(--nph-primary-text);font-weight:700;text-transform:uppercase;letter-spacing:0.04em}.business-card h3{font-size:1.05rem;margin:0}.business-card .meta-row{display:flex;align-items:center;justify-content:space-between;font-size:0.82rem;color:var(--nph-text-muted)}.business-card .location{display:flex;align-items:center;gap:4px}.nph-stars{display:inline-flex;gap:2px}.nph-star{width:15px;height:15px;display:inline-block;background:var(--nph-gray-300);clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.nph-star-full{background:var(--nph-primary)}.nph-star-half{background:linear-gradient(90deg,var(--nph-primary) 50%,var(--nph-gray-300) 50%)}.nph-rating-count{font-size:0.78rem;color:var(--nph-text-muted);margin-left:6px}.nph-filters-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:14px 18px;margin-bottom:24px;position:sticky;top:calc(var(--nph-header-h) + 12px);z-index:40}.nph-filters-bar select,.nph-filters-bar input{padding:9px 14px;border-radius:var(--nph-radius-pill);border:1px solid var(--nph-border);background:var(--nph-bg-elevated);color:var(--nph-text);font-size:0.85rem}.nph-filters-bar .chip{padding:9px 16px;border-radius:var(--nph-radius-pill);border:1px solid var(--nph-border);background:var(--nph-bg-elevated);font-size:0.85rem;font-weight:600;display:inline-flex;align-items:center;gap:6px;transition:all var(--nph-transition-fast)}.nph-filters-bar .chip.is-active,.nph-filters-bar .chip:hover{background:var(--nph-gradient-primary);color:#fff;border-color:transparent}.nph-listing-layout{display:grid;grid-template-columns:minmax(0,1fr) 460px;gap:28px;align-items:start}.nph-map-panel{position:sticky;top:calc(var(--nph-header-h) + 90px);height:calc(100vh - var(--nph-header-h) - 110px);border-radius:var(--nph-radius-lg);overflow:hidden}#nph-map-canvas{width:100%;height:100%}.business-cover{position:relative;height:380px;border-radius:var(--nph-radius-xl);overflow:hidden}.business-cover img{width:100%;height:100%;object-fit:cover}.business-cover .cover-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(31,41,55,0.75),transparent 60%);display:flex;align-items:flex-end;padding:28px}.business-header-info{color:#fff;display:flex;justify-content:space-between;align-items:flex-end;width:100%;flex-wrap:wrap;gap:16px}.business-header-info h1{font-size:clamp(1.5rem,3vw,2.2rem);margin:0}.business-actions{display:flex;gap:10px}.business-tabs{display:flex;gap:8px;border-bottom:1px solid var(--nph-border);margin:32px 0 24px;overflow-x:auto}.business-tabs button{padding:12px 20px;font-weight:600;border-bottom:2px solid transparent;background:none;color:var(--nph-text-muted);white-space:nowrap}.business-tabs button.is-active{color:var(--nph-primary-text);border-color:var(--nph-primary)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.gallery-grid img{aspect-ratio:1;object-fit:cover;border-radius:var(--nph-radius-md);cursor:pointer;transition:transform var(--nph-transition-fast)}.gallery-grid img:hover{transform:scale(1.03)}.info-list{display:flex;flex-direction:column;gap:14px}.info-list .row{display:flex;gap:12px;align-items:flex-start}.info-list .row svg{width:20px;height:20px;flex-shrink:0;color:var(--nph-primary-text);margin-top:2px}.hours-table{width:100%;border-collapse:collapse}.hours-table td{padding:8px 0;border-bottom:1px solid var(--nph-border);font-size:0.9rem}.hours-table tr.today td{font-weight:700;color:var(--nph-primary-text)}.review-item{padding:18px 0;border-bottom:1px solid var(--nph-border);display:flex;gap:14px}.review-item img.avatar{width:44px;height:44px;border-radius:50%}.review-item .review-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:4px}.dashboard-layout{display:grid;grid-template-columns:260px 1fr;gap:28px}.dashboard-nav a{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:var(--nph-radius-md);font-weight:600;color:var(--nph-text-muted);margin-bottom:4px}.dashboard-nav a.is-active,.dashboard-nav a:hover{background:var(--nph-gradient-primary);color:var(--nph-ink-900)}.stat-card{padding:22px;display:flex;flex-direction:column;gap:6px}.stat-card .stat-value{font-size:2rem;font-weight:800}.stat-card .stat-label{color:var(--nph-text-muted);font-size:0.85rem}.stat-card .stat-delta{font-size:0.78rem;font-weight:700}.stat-delta.up{color:var(--nph-primary-text)}.stat-delta.down{color:var(--nph-danger)}.site-footer{background:var(--nph-cream);color:var(--nph-charcoal);padding-block:64px 28px;margin-top:80px;border-top:1px solid var(--nph-border)}.site-footer h4.widget-title{color:var(--nph-primary-text);font-size:1rem;margin-bottom:16px}.site-footer a:hover{color:var(--nph-primary-text)}.footer-grid{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:32px;margin-bottom:40px}.footer-bottom{border-top:1px solid var(--nph-border);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:0.85rem;color:var(--nph-gray-500)}.social-icons{display:flex;gap:10px}.social-icons a{width:38px;height:38px;border-radius:50%;background:rgba(31,41,55,0.06);display:flex;align-items:center;justify-content:center;color:var(--nph-charcoal)}.social-icons a:hover{background:var(--nph-gradient-accent);color:#fff}.nph-empty-state{text-align:center;padding:60px 24px}.text-center{text-align:center}.mt-0{margin-top:0}.mb-0{margin-bottom:0}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-8{gap:8px}.gap-16{gap:16px}@keyframes nph-fade-up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.nph-animate{animation:nph-fade-up 0.6s var(--nph-ease) both}.nph-animate-delay-1{animation-delay:0.08s}.nph-animate-delay-2{animation-delay:0.16s}.nph-animate-delay-3{animation-delay:0.24s}[data-aos]{opacity:0;transform:translateY(24px);transition:opacity 0.6s var(--nph-ease),transform 0.6s var(--nph-ease)}[data-aos].is-visible{opacity:1;transform:translateY(0)}.skeleton{background:linear-gradient(90deg,var(--nph-gray-100) 25%,var(--nph-gray-200) 37%,var(--nph-gray-100) 63%);background-size:400% 100%;animation:nph-skeleton 1.4s ease infinite;border-radius:var(--nph-radius-md)}@keyframes nph-skeleton{0%{background-position:100% 50%}100%{background-position:0 50%}}.spinner{width:22px;height:22px;border:3px solid var(--nph-gray-300);border-top-color:var(--nph-primary);border-radius:50%;animation:nph-spin 0.7s linear infinite}@keyframes nph-spin{to{transform:rotate(360deg)}}