*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
  /* Brand sage from uploaded swatch */
  --sage-brand:#459b90;
  --sage-dark:#4A5E52;
  --sage-light:#E6EDE9;
  --sage-mid:#8AA898;

  /* Day palette */
  --cream:#FAF8F3;--warm-white:#FFFEF9;--charcoal:#1C1C1A;--ink:#2E2D2A;
  --muted:#7A7870;--accent:#459b90;--accent-light:#E6EDE9;--accent-mid:#8AA898;
  --gold:#C9963A;--gold-light:#F5EDD6;--border:#DDE5E1;

  /* Night palette */
  --night:#0A0F0C;--night-2:#111810;--night-3:#182018;
  --sage:#459b90;--sage-glow:#8AA898;
  --lavender:#8B7EC8;--lav-light:#EDEAF8;
  --moonstone:#B8C8BE;--ember:#459b90;
}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--ink);overflow-x:hidden;}

/* ── MODE TOGGLE ── */
.mode-toggle-bar{
  position:sticky;top:0;z-index:200;
  display:flex;align-items:center;justify-content:center;
  background:var(--charcoal);padding:0.6rem 1rem;gap:0;
}
.mode-tab{
  font-family:'DM Sans',sans-serif;font-size:0.8rem;font-weight:500;
  letter-spacing:0.06em;text-transform:uppercase;
  padding:0.45rem 1.5rem;border:none;cursor:pointer;
  transition: background 0.25s,color 0.25s;border-radius:100px;
}
.mode-tab.day{background:var(--sage-brand);color:white;}
.mode-tab.day.inactive{background:transparent;color:#666;}
.mode-tab.night{background:transparent;color:#666;}
.mode-tab.bike{background:transparent;color:#666;}
.mode-tab.night.active{background:#2E4035;color:var(--sage-mid);}
.mode-divider{width:1px;height:20px;background:#3A3A38;margin:0 0.5rem;}


/* Show/hide */

/*default */
.day-content{display:block;}
.night-content{display:none;}
.bike-content{display:none;}

/*night mode */
body.night-mode .day-content{display:none;}
body.night-mode .bike-content{display:none;}
body.night-mode .night-content{display:block;}
body.night-mode{background:var(--night);}

/* bike-mode */
body.bike-mode .day-content{display:none;} 
body.bike-mode .night-content{display:none;}
body.bike-mode .bike-content{display:block;}



/* ── NAV ── */
nav{
  background:var(--sage-brand);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--border);
  display:flex;align-items:center;justify-content:space-between;
  padding:0.1rem 3rem;
}
body.night-mode nav{background:rgba(10,15,12,0.93);border-bottom:1px solid #1E2E22;}
.nav-logo{padding:2px;}
body.night-mode .nav-logo{color:var(--cream);}
.nav-logo span{color:var(--sage-brand);}
.nav-links{display:flex;gap:2rem;list-style:none;}
.nav-links a{font-size:1.1rem;color:white;text-decoration:none;transition:color 0.2s;}
.nav-links a:hover{color:var(--charcoal);}
body.night-mode .nav-links a:hover{color:var(--cream);}
.nav-cta{background:var(--charcoal);color:var(--cream);border:none;padding:0.6rem 1.4rem;border-radius:100px;font-family:'DM Sans',sans-serif;font-size:1.22rem;cursor:pointer;transition:background 0.2s;}
.nav-cta:hover{background:var(--sage-brand);}
body.night-mode .nav-cta{background:var(--sage-brand);}
body.night-mode .nav-cta:hover{background:var(--sage-dark);}

/* ══════════════ DAY STYLES ══════════════ */
.hero{min-height:100vh;padding:4rem 3rem 4rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;position:relative;overflow:hidden;}
.hex-bg-pattern{position:absolute;top:0;left:0;right:0;bottom:0;opacity:0.05;pointer-events:none;}
.hero-content{position:relative;z-index:2;}
.hero-tag{display:inline-block;font-size:0.75rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--sage-brand);border:1px solid var(--sage-brand);padding:0.3rem 0.8rem;border-radius:100px;margin-bottom:1.5rem;}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(2.8rem,5.5vw,5rem);font-weight:900;line-height:1.0;letter-spacing:-0.03em;color:var(--charcoal);margin-bottom:1.5rem;}
.hero h1 em{color:var(--sage-brand);font-style:italic;}
.hero p{font-size:1.05rem;font-weight:300;line-height:1.7;color:var(--muted);max-width:420px;margin-bottom:2.5rem;}
.hero-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;}
.btn-primary{background:var(--sage-brand);color:white;border:none;padding:0.85rem 2rem;border-radius:100px;font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:500;cursor:pointer;transition:background 0.2s,transform 0.15s;}
.btn-primary:hover{background:var(--sage-dark);transform:translateY(-1px);}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--border);padding:0.85rem 2rem;border-radius:100px;font-family:'DM Sans',sans-serif;font-size:1rem;cursor:pointer;transition:border-color 0.2s,background 0.2s;}
.btn-ghost:hover{border-color:var(--sage-brand);background:var(--accent-light);}
.hero-visual, .bike-hero-visual{position:relative;display:flex;justify-content:center;align-items:center;}

.stats-bar{background:var(--charcoal);padding:2rem 3rem;display:flex;justify-content:space-around;align-items:center;gap:2rem;}
.stat{text-align:center;}
.stat-number{font-family:'Playfair Display',serif;font-size:2.4rem;font-weight:700;color:var(--cream);}
.stat-number span{color:var(--sage-mid);}
.stat-label{font-size:0.78rem;color:#888;letter-spacing:0.06em;text-transform:uppercase;margin-top:0.25rem;}
.stat-divider{width:1px;height:48px;background:#3A3A38;}

.booking-section{padding:6rem 3rem;display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;align-items:start;max-width:1200px;margin:0 auto;}
.section-tag{font-size:0.75rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--sage-brand);margin-bottom:0.75rem;}
.section-title{font-family:'Playfair Display',serif;font-size:2.4rem;font-weight:700;line-height:1.15;letter-spacing:-0.02em;color:var(--charcoal);margin-bottom:1rem;}
.section-body{font-size:1rem;font-weight:300;line-height:1.8;color:var(--muted);margin-bottom:2rem;}

.avail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.75rem;margin-bottom:1.5rem;}
.avail-pill{background:white;border:1px solid var(--border);border-radius:8px;padding:0.5rem 0.3rem;text-align:center;cursor:pointer;transition:all 0.15s;}
.avail-pill:hover{border-color:var(--sage-brand);background:var(--accent-light);}
.avail-pill.active{border-color:var(--sage-brand);background:var(--sage-brand);}
.avail-pill .time{font-size:0.8rem;font-weight:500;color:var(--ink);}
.avail-pill.active .time{color:white;}
.avail-pill .spots{font-size:0.7rem;color:var(--muted);margin-top:2px;}
.avail-pill.active .spots{color:rgba(255,255,255,0.8);}

.booking-widget{background:white;border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:0 8px 48px rgba(0,0,0,0.06);}
.widget-header{background:var(--charcoal);padding:1.5rem 1.75rem;display:flex;align-items:center;gap:1rem;}
.widget-hex{width:40px;height:46px;background:var(--sage-brand);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);display:flex;align-items:center;justify-content:center;}
.widget-hex-inner{width:22px;height:25px;background:rgba(255,255,255,0.2);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);}
.widget-title{font-family:'Playfair Display',serif;font-size:1.2rem;color:white;}
.widget-sub{font-size:0.8rem;color:#888;margin-top:2px;}
.widget-body{padding:1.75rem;}
.widget-date-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}
.date-nav-btn{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:none;cursor:pointer;font-size:1rem;color:var(--muted);display:flex;align-items:center;justify-content:center;transition:all 0.15s;}
.date-nav-btn:hover{border-color:var(--sage-brand);color:var(--sage-brand);}
.date-display{font-weight:500;font-size:0.95rem;color:var(--charcoal);}
.widget-label{font-size:0.75rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--muted);margin-bottom:0.5rem;}
.widget-form{display:flex;flex-direction:column;gap:1.25rem;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;}
.form-input{width:100%;padding:0.7rem 0.9rem;border:1px solid var(--border);border-radius:8px;font-family:'DM Sans',sans-serif;font-size:0.9rem;color:var(--ink);background:var(--cream);transition:border-color 0.15s;outline:none;}
.form-input:focus{border-color:var(--sage-brand);background:white;}
.form-input::placeholder{color:#B0ADA6;}
.widget-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:0.5rem;}
.slot-btn{padding:0.5rem 0.2rem;text-align:center;border:1px solid var(--border);border-radius:6px;background:none;cursor:pointer;transition:all 0.15s;font-family:'DM Sans',sans-serif;font-size:0.8rem;color:var(--ink);}
.slot-btn:hover{border-color:var(--sage-brand);color:var(--sage-brand);background:var(--accent-light);}
.slot-btn.selected{border-color:var(--sage-brand);background:var(--sage-brand);color:white;}
.slot-btn.full{opacity:0.4;cursor:not-allowed;text-decoration:line-through;}
.widget-book-btn{width:100%;padding:0.9rem;background:var(--sage-brand);color:white;border:none;border-radius:10px;font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:500;cursor:pointer;transition:background 0.2s,transform 0.15s;margin-top:0.25rem;}
.widget-book-btn:hover{background:var(--sage-dark);transform:translateY(-1px);}
.widget-footer{border-top:1px solid var(--border);padding:1rem 1.75rem;display:flex;align-items:center;gap:0.5rem;}
.avail-dot{width:8px;height:8px;border-radius:50%;background:#5BAD7A;}
.avail-text{font-size:0.8rem;color:var(--muted);}
.avail-count{font-weight:500;color:var(--charcoal);}

.amenities-section{background:var(--warm-white);padding:6rem 3rem;position:relative;overflow:hidden;}
.amenities-inner{max-width:1200px;margin:0 auto;}
.amenities-header{text-align:center;margin-bottom:4rem;}
.hex-grid-amenities{display:flex;flex-wrap:wrap;justify-content:center;gap:0;}
.amenity-hex-wrap{width:200px;display:flex;justify-content:center;margin:-16px -2px;}
.amenity-hex-wrap:nth-child(odd){margin-top:20px;}
.amenity-hex-outer{width:166px;height:192px;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:var(--border);display:flex;align-items:center;justify-content:center;transition:background 0.2s;}
.amenity-hex-outer:hover{background:var(--sage-mid);}
.amenity-hex{width:160px;height:185px;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:white;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1rem;}
.amenity-hex-outer:hover .amenity-hex{background:var(--accent-light);}
.amenity-icon{font-size:1.6rem;margin-bottom:0.4rem;}
.amenity-name{font-size:0.78rem;font-weight:500;color:var(--ink);line-height:1.3;}

.pricing-section{padding:6rem 3rem;max-width:1200px;margin:0 auto;}
.pricing-header{text-align:center;margin-bottom:4rem;}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.price-card{background:white;border:1px solid var(--border);border-radius:20px;padding:2rem;transition:transform 0.2s;position:relative;overflow:hidden;}
.price-card:hover{transform:translateY(-4px);}
.price-card.featured{border-color:var(--sage-brand);border-width:2px;}
.featured-badge{position:absolute;top:1.25rem;right:1.25rem;background:var(--sage-brand);color:white;font-size:0.7rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;padding:0.25rem 0.6rem;border-radius:100px;}
.price-hex-icon{width:48px;height:55px;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:var(--accent-light);margin-bottom:1.25rem;display:flex;align-items:center;justify-content:center;font-size:1.2rem;}
.price-card.featured .price-hex-icon{background:var(--sage-brand);}
.price-name{font-size:0.8rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);margin-bottom:0.5rem;}
.price-amount{font-family:'Playfair Display',serif;font-size:2.8rem;font-weight:700;color:var(--charcoal);line-height:1;}
.price-amount sup{font-size:1.2rem;vertical-align:top;margin-top:0.5rem;}
.price-period{font-size:0.85rem;color:var(--muted);margin-top:0.25rem;margin-bottom:1.5rem;}
.price-features{list-style:none;display:flex;flex-direction:column;gap:0.6rem;margin-bottom:1.75rem;}
.price-features li{display:flex;align-items:center;gap:0.6rem;font-size:0.9rem;color:var(--ink);}
.price-features li::before{content:'';width:16px;height:16px;flex-shrink:0;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:var(--accent-light);}
.price-card.featured .price-features li::before{background:var(--sage-brand);}
.price-btn{width:100%;padding:0.75rem;border:1.5px solid var(--charcoal);border-radius:100px;background:none;font-family:'DM Sans',sans-serif;font-size:0.9rem;font-weight:500;cursor:pointer;transition:all 0.2s;color:var(--charcoal);}
.price-btn:hover{background:var(--charcoal);color:white;}
.price-card.featured .price-btn{background:var(--sage-brand);border-color:var(--sage-brand);color:white;}
.price-card.featured .price-btn:hover{background:var(--sage-dark);border-color:var(--sage-dark);}

.testimonials-section{background:var(--charcoal);padding:6rem 3rem;}
.testimonials-inner{max-width:1200px;margin:0 auto;}
.testimonials-header{text-align:center;margin-bottom:4rem;}
.testimonials-header .section-title{color:var(--cream);}
.testimonials-header .section-tag{color:var(--sage-mid);}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.testimonial-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:16px;padding:1.75rem;}
.testimonial-stars{color:var(--gold);font-size:0.9rem;margin-bottom:1rem;}
.testimonial-text{font-size:0.95rem;font-weight:300;line-height:1.7;color:#C8C5BD;margin-bottom:1.25rem;font-style:italic;}
.testimonial-author{display:flex;align-items:center;gap:0.75rem;}
.author-avatar{width:36px;height:36px;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:var(--sage-brand);display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-weight:600;color:white;}
.author-name{font-size:0.875rem;font-weight:500;color:var(--cream);}
.author-role{font-size:0.75rem;color:#888;}

.faq-section, .pricing-section{padding:6rem 3rem;max-width:800px;margin:0 auto;}
.faq-header{text-align:center;margin-bottom:4rem;}
.faq-item{border-bottom:1px solid var(--border);padding:1.25rem 0;cursor:pointer;}
.faq-q{display:flex;justify-content:space-between;align-items:center;font-size:1rem;font-weight:500;color:var(--charcoal);}
.faq-chevron{font-size:1.2rem;color:var(--muted);transition:transform 0.2s;}
.faq-item.open .faq-chevron{transform:rotate(45deg);}
.faq-a{font-size:0.9rem;font-weight:300;line-height:1.8;color:var(--muted);max-height:0;overflow:hidden;transition:max-height 0.3s ease,padding 0.2s;}
.faq-item.open .faq-a{max-height:200px;padding-top:0.75rem;}

/* ══════════════ NIGHT STYLES ══════════════ */
.night-hero{min-height:100vh;padding:4rem 3rem 4rem;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;position:relative;overflow:hidden;background:var(--night);}

.night-tag{display:inline-block;font-size:0.75rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--sage-mid);border:1px solid var(--sage-brand);padding:0.3rem 0.8rem;border-radius:100px;margin-bottom:1.5rem;}
.night-hero-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;}
.btn-night{background:var(--sage-brand);color:white;border:none;padding:0.85rem 2rem;border-radius:100px;font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:500;cursor:pointer;transition:background 0.2s,transform 0.15s;}
.btn-night:hover{background:var(--sage-dark);transform:translateY(-1px);}
.btn-night-ghost{background:transparent;color:var(--cream);border:1px solid rgba(110,136,120,0.4);padding:0.85rem 2rem;border-radius:100px;font-family:'DM Sans',sans-serif;font-size:1rem;cursor:pointer;transition:border-color 0.2s,background 0.2s;}
.btn-night-ghost:hover{border-color:var(--sage-brand);background:rgba(110,136,120,0.1);}

.event-types-strip{background:var(--night-2);padding:2rem 3rem;display:flex;justify-content:space-around;align-items:center;gap:1rem;}
.event-type{display:flex;flex-direction:column;align-items:center;gap:0.5rem;cursor:pointer;transition:transform 0.2s;}
.event-type:hover{transform:translateY(-3px);}
.event-hex-icon{width:60px;height:69px;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);display:flex;align-items:center;justify-content:center;font-size:1.4rem;transition:background 0.2s;}
.event-hex-icon.yoga{background:#162018;}
.event-type:hover .event-hex-icon.yoga{background:var(--sage-brand);}
.event-hex-icon.meditation{background:#1E1C2E;}
.event-type:hover .event-hex-icon.meditation{background:#8B7EC8;}
.event-hex-icon.workshop{background:#2E2718;}
.event-type:hover .event-hex-icon.workshop{background:#C9963A;}
.event-hex-icon.sound{background:#1A2820;}
.event-type:hover .event-hex-icon.sound{background:var(--sage-mid);}
.event-type-name{font-size:0.78rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--moonstone);}

.venue-booking-section{padding:6rem 3rem;display:grid;grid-template-columns:1fr 1.2fr;gap:5rem;align-items:start;max-width:1200px;margin:0 auto;background:var(--night);}
.night-section-tag{font-size:0.75rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--sage-mid);margin-bottom:0.75rem;}
.night-section-title{font-family:'Playfair Display',serif;font-size:2.4rem;font-weight:700;line-height:1.15;letter-spacing:-0.02em;color:var(--cream);margin-bottom:1rem;}
.night-section-body{font-size:1rem;font-weight:300;line-height:1.8;color:var(--moonstone);margin-bottom:2rem;}

.venue-specs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem;}
.spec-card{background:var(--night-2);border:1px solid #1E2E22;border-radius:12px;padding:1rem 1.25rem;}
.spec-value{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:700;color:var(--cream);}
.spec-label{font-size:0.78rem;color:var(--moonstone);margin-top:0.2rem;}

.night-booking-widget{background:var(--night-2);border:1px solid #1E2E22;border-radius:20px;overflow:hidden;}
.night-widget-header{background:var(--sage-brand);padding:1.5rem 1.75rem;display:flex;align-items:center;gap:1rem;}
.night-widget-hex{width:40px;height:46px;background:rgba(255,255,255,0.2);clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);display:flex;align-items:center;justify-content:center;font-size:1rem;color:white;}
.night-widget-title{font-family:'Playfair Display',serif;font-size:1.2rem;color:white;}
.night-widget-sub{font-size:0.8rem;color:rgba(255,255,255,0.7);margin-top:2px;}
.night-widget-body{padding:1.75rem;}
.night-widget-form{display:flex;flex-direction:column;gap:1.25rem;}
.night-form-input{width:100%;padding:0.7rem 0.9rem;border:1px solid #1E2E22;border-radius:8px;font-family:'DM Sans',sans-serif;font-size:0.9rem;color:var(--cream);background:var(--night-3);transition:border-color 0.15s;outline:none;}
.night-form-input:focus{border-color:var(--sage-brand);}
.night-form-input::placeholder{color:#3A4A3E;}
.night-widget-label{font-size:0.75rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--moonstone);margin-bottom:0.5rem;}
.event-type-btns{display:grid;grid-template-columns:repeat(2,1fr);gap:0.5rem;}
.et-btn{padding:0.6rem 0.5rem;text-align:center;border:1px solid #1E2E22;border-radius:8px;background:none;cursor:pointer;transition:all 0.15s;font-family:'DM Sans',sans-serif;font-size:0.8rem;color:var(--moonstone);}
.et-btn:hover{border-color:var(--sage-brand);color:var(--sage-mid);background:rgba(110,136,120,0.1);}
.et-btn.selected{border-color:var(--sage-brand);background:var(--sage-brand);color:white;}
.night-book-btn{width:100%;padding:0.9rem;background:var(--sage-brand);color:white;border:none;border-radius:10px;font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:500;cursor:pointer;transition:background 0.2s,transform 0.15s;margin-top:0.25rem;}
.night-book-btn:hover{background:var(--sage-dark);transform:translateY(-1px);}
.night-widget-footer{border-top:1px solid #1E2E22;padding:1rem 1.75rem;display:flex;align-items:center;gap:0.5rem;}
.night-avail-dot{width:8px;height:8px;border-radius:50%;background:var(--sage-mid);}
.night-avail-text{font-size:0.8rem;color:var(--moonstone);}

.upcoming-section{background:var(--night-2);padding:6rem 3rem;}
.upcoming-inner{max-width:1200px;margin:0 auto;}
.upcoming-header{text-align:center;margin-bottom:4rem;}
.events-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.event-card{background:var(--night-3);border:1px solid #1E2E22;border-radius:16px;overflow:hidden;transition:transform 0.2s,border-color 0.2s;cursor:pointer;}
.event-card:hover{transform:translateY(-4px);border-color:var(--sage-brand);}
.event-card-hex-top{height:80px;display:flex;align-items:center;justify-content:center;font-size:2rem;}
.event-card-hex-top.yoga-bg{background:#0E1A10;}
.event-card-hex-top.med-bg{background:#100E1A;}
.event-card-hex-top.ws-bg{background:#1A1508;}
.event-card-hex-top.sound-bg{background:#0E1A14;}
.event-card-body{padding:1.25rem;}
.event-type-badge{display:inline-block;font-size:0.68rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;padding:0.2rem 0.6rem;border-radius:100px;margin-bottom:0.75rem;}
.badge-yoga{background:#162018;color:var(--sage-mid);}
.badge-med{background:#1E1C2E;color:#8B7EC8;}
.badge-ws{background:#2E2718;color:#C9963A;}
.badge-sound{background:#162018;color:var(--sage-glow);}
.event-name{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;color:var(--cream);margin-bottom:0.4rem;}
.event-details{font-size:0.82rem;color:var(--moonstone);margin-bottom:1rem;line-height:1.6;}
.event-footer-row{display:flex;align-items:center;justify-content:space-between;}
.event-price{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:700;color:var(--sage-mid);}
.event-spots{font-size:0.75rem;color:var(--moonstone);}

.night-testimonials{background:var(--night);padding:6rem 3rem;}
.night-testimonials-inner{max-width:1200px;margin:0 auto;}
.night-testimonials-header{text-align:center;margin-bottom:4rem;}
.night-test-card{background:var(--night-2);border:1px solid #1E2E22;border-radius:16px;padding:1.75rem;}
.night-test-stars{color:var(--sage-mid);font-size:0.9rem;margin-bottom:1rem;}
.night-test-text{font-size:0.95rem;font-weight:300;line-height:1.7;color:var(--moonstone);margin-bottom:1.25rem;font-style:italic;}
.night-author-avatar{width:36px;height:36px;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:var(--sage-brand);display:flex;align-items:center;justify-content:center;font-size:0.75rem;font-weight:600;color:white;}

.night-faq-section{padding:6rem 3rem;max-width:800px;margin:0 auto;background:var(--night);}
.night-faq-item{border-bottom:1px solid #1E2E22;padding:1.25rem 0;cursor:pointer;}
.night-faq-q{display:flex;justify-content:space-between;align-items:center;font-size:1rem;font-weight:500;color:var(--cream);}
.night-faq-a{font-size:0.9rem;font-weight:300;line-height:1.8;color:var(--moonstone);max-height:0;overflow:hidden;transition:max-height 0.3s ease,padding 0.2s;}
.night-faq-item.open .night-faq-a{max-height:200px;padding-top:0.75rem;}
.night-faq-item.open .faq-chevron{transform:rotate(45deg);}

footer{background:var(--charcoal);border-top:1px solid #333;padding:2.5rem 3rem;display:flex;justify-content:space-between;align-items:center;}
body.night-mode footer{background:var(--night-2);border-top:1px solid #1E2E22;}
.footer-logo{font-family:'Playfair Display',serif;font-size:1.2rem;color:var(--cream);font-weight:700;}
.footer-logo span{color:var(--sage-mid);}
.footer-text{font-size:0.8rem;color:#666; padding: 1em;}

footer a{
  color: var(--sage-brand);
}
footer a:hover{
  color: var(--sage-light);
}

@keyframes float-hex{0%,100%{transform:translateY(0);}50%{transform:translateY(-12px);}}
.floating{animation:float-hex 5s ease-in-out infinite;}
.floating-slow{animation:float-hex 7s ease-in-out infinite 1s;}
.floating-slower{animation:float-hex 9s ease-in-out infinite 2s;}
@keyframes twinkle{0%,100%{opacity:0.3;}50%{opacity:1;}}

.night-hero-visual{
  position:relative;display:flex;justify-content:center;align-items:center;
}
@media(max-width:900px){
  .hero,.night-hero,.booking-section,.venue-booking-section{grid-template-columns:1fr;}
  .hero-visual{display:none;}
  .night-hero-visual{display: none;}
  .pricing-grid,.testimonials-grid,.events-grid{grid-template-columns:1fr;}
  nav{padding:1rem 1.5rem;}
  .nav-links{display:none;}
  .booking-section,.venue-booking-section,.pricing-section,.faq-section,.night-faq-section{padding:4rem 1.5rem;}
  .stats-bar,.event-types-strip{gap:1rem;padding:1.5rem 1.5rem;}
  .amenity-hex-wrap:nth-child(odd){margin-top: 0px;}
  .footer-text{display: none;}
}

.about-container{  display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;}
.about-text{font-size:1.1rem;line-height:1.6;color:var(--cream); box-sizing: border-box;}
.about-image{  display: flex;
    flex-direction: column;
    align-items: center; /* horizontally centers the image */
    justify-content: center; 
}
.about-image img{width: 100%;
    border-radius: 12px;
    border: 3px solid var(--sage-brand);}
.about-image img:hover{transform:scale(1.05);transition:transform 0.3s ease;}
.about-image img:not(:hover){transform:scale(1);transition:transform 0.3s ease;}  


@media screen and (max-width: 768px) {
  .about-container {
      grid-template-columns: 1fr;
      grid-template-rows: 1fr;
   }

  .about-text, .about-image {
    grid-column: auto;
    grid-row: auto;
  }
}

.booking-widget-holder{
  width: 100%;
  text-align: center;
  
}

#rezgo_open_modal_78550333, .rezgo-popup-btn{
  background:var(--sage-brand);
  color:white !important;
  border:none !important;
  padding:0.85rem 2rem !important;
  border-radius:100px !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:1rem !important;
  font-weight:500 !important;
  cursor:pointer !important;
  transition: background 0.2s,transform 0.15s !important;
}

.rezgo-popup-btn:hover{background:var(--sage-dark);transform:translateY(-1px) !important; }

.pulse-play {
  width: 72px;
  height: 72px;
  border: 3px solid var(--sage-brand);
  border-radius: 50%;
  background: transparent;
  color: var(--sage-brand);
  font-size: 30px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  animation: pulse-border 1.6s infinite;
}

@keyframes pulse-border {
  0% {
    box-shadow: 0 0 0 0 rgba(69, 155, 154, 0.7);
  }
  70% {
    box-shadow: 0 0 0 16px rgba(255, 0, 0, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(255, 0, 0, 0);
  }
}

.play-button{
  padding: 20px;
  padding-bottom: .5em;
}

.video-popup {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.75);
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.video-popup.active {
  display: flex;
}

.video-box {
  position: relative;
  width: min(90vw, 420px);
  aspect-ratio: 9 / 16;
  background: #000;
}

.video-box iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.close-btn {
  position: absolute;
  top: -42px;
  right: 0;
  background: transparent;
  border: 0;
  color: white;
  font-size: 34px;
  cursor: pointer;
}
.pricing-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.pricing-table {
  width: 100%;
  border-collapse: collapse;
  font-family: Arial, sans-serif;
  font-size: 16px;
  min-width: 720px;
}

.pricing-table th,
.pricing-table td {
  padding: 14px 16px;
  text-align: left;
  border-bottom: 1px solid #ddd;
}

.pricing-table thead {
  background: var(--sage-brand);
  color: #fff;
}

.pricing-table th span {
  font-weight: normal;
  opacity: 0.85;
}

.pricing-table tbody tr:nth-child(odd) {
  background: var(--sage-light);
}

.pricing-table tbody tr:nth-child(even) {
  background: #ffffff;
}

@media (max-width: 700px) {
  .pricing-table {
    min-width: 0;
    border: 0;
  }

  .pricing-table thead {
    display: none;
  }

  .pricing-table,
  .pricing-table tbody,
  .pricing-table tr,
  .pricing-table td {
    display: block;
    width: 100%;
  }

  .pricing-table tr {
    margin-bottom: 14px;
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
  }

  .pricing-table td {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 14px;
    border-bottom: 1px solid #e5e5e5;
  }

  .pricing-table td:last-child {
    border-bottom: 0;
  }

  .pricing-table td::before {
    content: attr(data-label);
    font-weight: 700;
    color: #333;
  }
}

.hero-image{
  text-align: right;
}
.hero-image-text{
  text-align: right;
  margin-bottom: 0 !important;
}

.bike-hero-visual img{
  max-width: 100%;
  height: auto;
}