:root{
 --ink:#111214;--paper:#f4f2ed;--white:#fff;--muted:#77746e;--line:rgba(17,18,20,.12);
 --lime:#c8ff3d;--blue:#5c7cff;--orange:#ff7043;--max:1240px;--radius:28px;
 --shadow:0 20px 70px rgba(17,18,20,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}
.site-header{position:fixed;z-index:1000;top:0;left:0;width:100%;color:#fff;transition:.3s;padding:18px 0}
.site-header.scrolled{background:rgba(17,18,20,.86);backdrop-filter:blur(18px);padding:11px 0}
.nav-shell{display:flex;align-items:center;gap:30px}
.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:21px;letter-spacing:-.06em;white-space:nowrap}
.brand>span:last-child span{opacity:.5}
.brand-mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(255,255,255,.4);border-radius:50%;font-size:14px}
.main-nav{margin-left:auto}
.nav-list{display:flex;gap:25px;list-style:none;margin:0;padding:0}
.nav-list a{font-size:13px;font-weight:650;opacity:.82;transition:.2s}
.nav-list a:hover{opacity:1}
.nav-cta{padding:11px 17px;border-radius:99px;background:var(--lime);color:#111;font-size:13px;font-weight:800}
.mobile-toggle{display:none;background:none;border:0;color:#fff}
.hero{min-height:820px;position:relative;overflow:hidden;background:#111214;color:#fff;display:flex;align-items:center}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:80px 80px;mask-image:linear-gradient(to bottom,black,transparent)}
.hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 35%,rgba(92,124,255,.28),transparent 28%),radial-gradient(circle at 30% 80%,rgba(200,255,61,.12),transparent 24%)}
.hero-orb{position:absolute;border-radius:50%;filter:blur(2px);opacity:.5}
.orb-one{width:420px;height:420px;background:linear-gradient(135deg,#3c5eff,#9b4dff);right:7%;top:16%;animation:float 9s ease-in-out infinite}
.orb-two{width:180px;height:180px;background:var(--lime);left:8%;bottom:9%;opacity:.14;animation:float 7s ease-in-out infinite reverse}
@keyframes float{50%{transform:translate3d(0,-22px,0) scale(1.03)}}
.hero-inner{position:relative;z-index:2;padding-top:90px}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.18em;font-weight:800;color:rgba(255,255,255,.65);display:inline-flex;align-items:center;gap:9px}
.eyebrow.dark{color:#6f6b64}
.pulse{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 0 5px rgba(200,255,61,.1)}
.hero h1{font-size:clamp(65px,10vw,145px);line-height:.84;letter-spacing:-.085em;max-width:1000px;margin:25px 0 28px;font-weight:780}
.hero h1:after{content:"";display:block;width:110px;height:8px;background:var(--lime);margin-top:24px;border-radius:99px;transform:skew(-20deg)}
.hero p{font-size:19px;max-width:520px;color:rgba(255,255,255,.7);margin:0 0 35px}
.hero-search{display:flex;align-items:center;max-width:850px;background:#fff;color:#111;border-radius:18px;padding:7px;box-shadow:0 30px 80px rgba(0,0,0,.25)}
.search-icon{font-size:26px;padding:0 14px;color:#888}
.hero-search input{border:0;outline:0;flex:1;font:inherit;font-size:15px;min-width:100px}
.hero-search select{border:0;border-left:1px solid #ddd;background:#fff;padding:14px;font-weight:650;outline:0}
.hero-search button{border:0;border-radius:13px;background:#111;color:#fff;padding:15px 20px;font-weight:800;cursor:pointer}
.hero-search button span{color:var(--lime);margin-left:10px}
.hero-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.hero-tags a{border:1px solid rgba(255,255,255,.18);padding:8px 12px;border-radius:99px;font-size:12px;color:rgba(255,255,255,.7);transition:.25s}
.hero-tags a:hover{background:#fff;color:#111}
.hero-scroll{position:absolute;bottom:30px;right:5%;z-index:2;font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.45)}
.hero-scroll span{color:var(--lime);font-size:18px;margin-left:10px}
.section{padding:115px 0}
.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:55px}
.section-heading h2{font-size:clamp(46px,6vw,78px);line-height:.9;letter-spacing:-.065em;margin:14px 0 0}
.section-heading h2 em,.newcomer-copy h2 em,.advertise-box h2 em,.newsletter-inner h2 em,.error-page h1 em{font-family:Georgia,serif;font-weight:400}
.section-heading>p{max-width:380px;color:var(--muted);margin:0}
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.category-card{min-height:250px;border:1px solid var(--line);padding:25px;position:relative;border-radius:var(--radius);background:#eeece6;overflow:hidden;transition:.35s}
.category-card:hover{transform:translateY(-7px);background:#fff;box-shadow:var(--shadow)}
.category-icon{font-size:25px}
.category-number{position:absolute;right:22px;top:25px;font-size:11px;color:#999}
.category-card h3{font-size:27px;letter-spacing:-.05em;margin:70px 0 5px}
.category-card p{font-size:13px;color:var(--muted);margin:0}
.category-card .arrow{position:absolute;right:22px;bottom:20px;font-size:22px}
.cat-1{background:#e9e4d5}.cat-2{background:#e5e8f2}.cat-3{background:#e9dce0}.cat-4{background:#dde9e1}
.dark-section{background:#111214;color:#fff}
.section-heading.light h2{color:#fff}
.outline-button,.primary-button{display:inline-flex;align-items:center;gap:15px;padding:14px 19px;border-radius:99px;font-size:13px;font-weight:800}
.outline-button{border:1px solid rgba(255,255,255,.2);color:#fff}
.primary-button{background:#111;color:#fff;border:0}
.primary-button span{color:var(--lime)}
.weekend-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.event-card{background:#1b1c1f;border-radius:var(--radius);overflow:hidden;transition:.35s}
.event-card:hover{transform:translateY(-6px)}
.card-image,.business-image{height:330px;position:relative;overflow:hidden;background:#27282b}
.card-image img,.business-image img{width:100%;height:100%;object-fit:cover;transition:.6s}
.event-card:hover img,.business-card:hover img{transform:scale(1.045)}
.image-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#34363b,#1d1f23 55%,#4b5263)}
.date-badge{position:absolute;left:18px;top:18px;background:var(--lime);color:#111;padding:8px 11px;border-radius:10px;font-size:10px;font-weight:900;text-transform:uppercase}
.event-content{padding:25px}
.card-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:#9c9a96;font-weight:800}
.event-content h3,.business-info h3{font-size:27px;line-height:1;letter-spacing:-.05em;margin:10px 0 22px}
.card-link{font-size:12px;font-weight:800}
.dark-section .card-link{color:var(--lime)}
.newcomer-section{background:#dedbd3}
.newcomer-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.newcomer-copy h2,.advertise-box h2,.newsletter-inner h2{font-size:clamp(52px,6vw,82px);line-height:.88;letter-spacing:-.07em;margin:17px 0 28px}
.newcomer-copy p{max-width:450px;color:#68655f;margin-bottom:28px}
.guide-stack{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.guide-card{background:#f7f5ef;padding:28px;border-radius:var(--radius);min-height:210px;display:flex;flex-direction:column}
.guide-card span{font-size:11px;color:#999}
.guide-card h3{font-size:24px;line-height:1;letter-spacing:-.05em;margin-top:auto}
.guide-card p{font-size:13px;color:#777}
.guide-card b{font-size:11px}
.guide-main{grid-column:span 2;background:#111;color:#fff;min-height:300px}
.guide-main b{color:var(--lime)}
.featured-section{background:#f4f2ed}
.business-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.business-card{background:#fff;border-radius:var(--radius);overflow:hidden;transition:.35s}
.business-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.business-image{height:300px}
.save-button{position:absolute;right:15px;top:15px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.9);font-size:20px;cursor:pointer;z-index:2}
.save-button.saved{background:var(--lime)}
.featured-label{position:absolute;bottom:15px;left:15px;background:#111;color:#fff;padding:7px 10px;border-radius:99px;font-size:9px;font-weight:900}
.business-info{padding:22px}
.business-info h3{font-size:24px}
.business-info p{color:#777;font-size:13px;min-height:40px}
.business-info .card-link{display:inline-block;margin-top:10px}
.advertise-section{background:var(--lime)}
.advertise-box{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:end}
.advertise-box p{font-size:18px;max-width:500px}
.ad-actions{display:flex;gap:10px;margin-top:28px;flex-wrap:wrap}
.dark-outline{border-color:#111;color:#111}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:65px}
.plan{background:#d8ff61;padding:30px;border:1px solid rgba(0,0,0,.12);border-radius:24px;position:relative}
.plan.featured-plan{background:#111;color:#fff}
.plan>span{font-size:11px;opacity:.55}
.plan h3{font-size:30px;letter-spacing:-.05em;margin:45px 0 10px}
.plan strong{font-size:42px;letter-spacing:-.07em}
.plan small{font-size:13px;letter-spacing:0;font-weight:500}
.plan p{font-size:13px;opacity:.65}
.plan-badge{position:absolute;right:18px;top:18px;background:var(--lime);color:#111;padding:6px 9px;border-radius:99px;font-size:9px;font-weight:900}
.newsletter-section{background:#e7e3da;padding:90px 0}
.newsletter-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}
.newsletter-form{display:flex;border-bottom:1px solid rgba(17,18,20,.3);padding-bottom:8px;position:relative}
.newsletter-form input{background:transparent;border:0;outline:0;flex:1;padding:12px 0;font:inherit}
.newsletter-form button{border:0;background:transparent;font-weight:900;cursor:pointer}
.newsletter-form.large input{font-size:20px}
.newsletter-form.large button{background:#111;color:#fff;border-radius:99px;padding:13px 18px}
.newsletter-form small{position:absolute;left:0;bottom:-28px;font-size:11px}
.site-footer{background:#111214;color:#fff;padding:80px 0 25px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.5fr;gap:40px;padding-bottom:80px}
.footer-brand{margin-bottom:20px}
.site-footer p{color:#888;font-size:13px;max-width:280px}
.site-footer h4{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:#777}
.site-footer>div a:not(.brand){display:block;margin:12px 0;font-size:13px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;display:flex;justify-content:space-between;color:#666;font-size:11px}
.archive-page,.single-page{padding:150px 0 100px;min-height:70vh}
.archive-head{max-width:800px;margin-bottom:55px}
.archive-head h1,.single-hero h1{font-size:clamp(55px,8vw,100px);line-height:.9;letter-spacing:-.075em;margin:20px 0}
.archive-head p{font-size:18px;color:#777}
.archive-tools{margin-bottom:30px}
.archive-search{display:flex;max-width:650px}
.archive-search input{flex:1;padding:16px;border:1px solid var(--line);background:#fff;border-radius:12px 0 0 12px;outline:0}
.archive-search button{border:0;background:#111;color:#fff;padding:0 22px;border-radius:0 12px 12px 0;font-weight:800}
.single-wrap{max-width:1100px}
.single-hero{max-width:900px;margin-bottom:50px}
.single-meta{color:#777}
.single-image{border-radius:32px;overflow:hidden;margin-bottom:50px;max-height:650px}
.single-image img{width:100%;height:100%;object-fit:cover}
.single-content{max-width:760px;font-size:18px;margin-bottom:35px}
.error-page{padding:200px 0;min-height:80vh}
.error-page h1{font-size:clamp(55px,8vw,100px);line-height:.9;letter-spacing:-.075em;margin:20px 0 40px}
.post-row{padding:30px 0;border-bottom:1px solid var(--line)}
.post-row h2{letter-spacing:-.04em}
.reveal{opacity:0;transform:translateY(25px);transition:.7s ease}
.reveal.visible{opacity:1;transform:none}
@media(max-width:1050px){
 .category-grid{grid-template-columns:repeat(2,1fr)}.business-grid{grid-template-columns:repeat(2,1fr)}
 .footer-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
 .container{width:min(calc(100% - 30px),var(--max))}
 .site-header{padding:12px 0}.nav-cta{display:none}.mobile-toggle{display:flex;flex-direction:column;gap:4px;margin-left:auto}.mobile-toggle span{width:23px;height:2px;background:#fff}
 .main-nav{position:fixed;inset:65px 0 0;background:#111214;padding:30px;transform:translateX(100%);transition:.3s}.main-nav.is-open{transform:none}
 .nav-list{flex-direction:column;gap:22px}.nav-list a{font-size:26px}
 .hero{min-height:760px}.hero h1{font-size:68px}.hero p{font-size:16px}.hero-search{flex-wrap:wrap;border-radius:16px}.hero-search input{width:calc(100% - 50px);flex:auto}.hero-search select{width:100%;border:0;border-top:1px solid #ddd}.hero-search button{width:100%}
 .hero-scroll{display:none}
 .section{padding:80px 0}.section-heading{display:block}.section-heading>p{margin-top:25px}.category-grid,.business-grid,.weekend-grid{grid-template-columns:1fr}.category-card{min-height:220px}
 .newcomer-grid,.advertise-box,.newsletter-inner{grid-template-columns:1fr;gap:40px}.guide-stack{grid-template-columns:1fr}.guide-main{grid-column:auto}.plans{grid-template-columns:1fr}
 .footer-grid{grid-template-columns:1fr;gap:25px;padding-bottom:50px}.footer-bottom{display:block}.footer-bottom span{display:block;margin:7px 0}
 .card-image,.business-image{height:280px}.archive-page,.single-page{padding-top:120px}
}
