@charset "utf-8";

/*
Theme Name: Bodhira - Buddhist Temple & Culture HTML5 Template
Author: Metropolitanthemes
Version: 1.0.0

%%%%%%% Table of CSS %%%%%%%

1. General
   1.1 Typography
   1.2 Spacing & Grounds
   1.3 Section Titles
   1.4 Buttons
   1.5 Forms
   1.6 Shared Pieces
2. Preloader & Reveals
   2.1 Temple Seal Preloader
3. Header
   3.1 Main Menu
   3.2 Home Mega Menu
   3.3 Header Actions
   3.4 Style One (Home 1 & Inner Pages)
   3.5 Style Two (Home 2)
   3.6 Style Three (Home 3)
   3.7 Sticky Header
4. Offcanvas Menu
5. Custom Select
6. Home 01
   6.1 Hero Slider
   6.2 Temple Dock
   6.3 Audio Player
   6.4 About Rings
   6.5 Support Strip
   6.6 Path Of The Dharma
   6.7 What We Provide
   6.8 Community Band
   6.9 FAQ & Accordion
   6.10 Video Band
   6.11 Retreat Cards
   6.12 Post Cards
7. Home 02
   7.1 Cut-Out Hero
   7.2 The Three Jewels
   7.3 About With Badge
   7.4 The Eightfold Path
   7.5 Cause Cards
   7.6 Broadcast
   7.7 Gallery & Filter Tabs
   7.8 Volunteer Band
   7.9 Testimonials With Cut-Outs
   7.10 News Band
8. Home 03
   8.1 Stone Hero
   8.2 Collage & Facts
   8.3 Lotus Bloom
   8.4 Meditation Timer
   8.5 Help Band
   8.6 Angels
   8.7 General Fund
   8.8 People Cards
   8.9 Community Cards
   8.10 Quote Cards
   8.11 Contact Band
   8.12 News Pattern
9. Inner Pages
   9.1 Panels & Sidebar
   9.2 Shared Bands & Rows
   9.3 Quantity Stepper
   9.4 Daily Timetable
10. Practice Pages
   10.1 Meditation Timer Page
   10.2 Teaching Cards
   10.3 Retreat Booking
   10.4 Temple Calendar
11. Teachings, Classes & Giving
   11.1 Dana Engine
   11.2 Teachings
   11.3 Articles
   11.4 Classes
   11.5 Broadcast & Gallery Details
12. Temple Pages
   12.1 About Mosaic & Timeline
   12.2 Service Cards & Clients
   12.3 Service Details Sidebar
   12.4 Profile & Roster
   12.5 FAQ Page & Volunteer Form
13. Temple Shop
   13.1 Shop Grid
   13.2 Product Page
   13.3 Bag, Checkout & Wishlist
   13.4 Toast
14. Blog, Contact & Account
   14.1 Blog List
   14.2 Blog Details
   14.3 Contact Page
   14.4 Account Pages
   14.5 Coming Soon & 404
15. Subheader
   15.1 WebGL Textures
16. Footer
   16.1 Visit The Temple
   16.2 Widgets
   16.3 Style One (Home 1 & Inner Pages)
   16.4 Style Two (Home 2)
   16.5 Style Three (Home 3)
   16.6 Back To Top
*/

/*======================
1. General
========================*/
:root {
  /* brand */
  --bd-maroon: #6F1D2A;
  --bd-maroon-rgb: 111, 29, 42;
  --bd-maroon-deep: #4A121C;
  --bd-gold: #C9973F;
  --bd-gold-rgb: 201, 151, 63;
  --bd-gold-light: #DDB46A;
  --bd-ember: #E05A2B;
  --bd-ember-rgb: 224, 90, 43;
  --bd-ivory: #F4E8D8;
  --bd-ivory-rgb: 244, 232, 216;
  --bd-night: #1B0F11;
  --bd-night-rgb: 27, 15, 17;
  /* theme: light */
  --bd-bg: #F7F1E8;
  --bd-bg-rgb: 247, 241, 232;
  --bd-surface: #FFFDF9;
  --bd-surface-rgb: 255, 253, 249;
  --bd-surface-2: #EFE6D8;
  --bd-surface-2-rgb: 239, 230, 216;
  --bd-heading: #2A1A1C;
  --bd-heading-rgb: 42, 26, 28;
  --bd-text: #5E5150;
  --bd-muted: #8A7B76;
  --bd-line: #E6DACB;
  --bd-line-2: #D6C6B2;
  --bd-primary: #6F1D2A;
  --bd-primary-rgb: 111, 29, 42;
  --bd-on-primary: #FFF8EE;
  --bd-accent: #C9973F;
  --bd-accent-text: #7D5A1C;
  --bd-em: #6F1D2A;
  --bd-tonal: rgba(42, 26, 28, 0.05);
  --bd-tonal-2: rgba(42, 26, 28, 0.09);
  --bd-band: #1B0F11;
  --bd-band-2: #2A1719;
  --bd-gild: rgba(201, 151, 63, 0.42);
  --bd-shadow: 0 22px 54px rgba(42, 26, 28, 0.08);
  --bd-shadow-lg: 0 36px 90px rgba(42, 26, 28, 0.16);
  --bd-photo-dim: 1;
  /* type */
  --bd-ff-heading: 'Cormorant Garamond', Georgia, serif;
  --bd-ff-body: 'Albert Sans', sans-serif;
  --bd-fs-h1: clamp(48px, 5.4vw, 88px);
  --bd-fs-h2: clamp(38px, 3.7vw, 60px);
  --bd-fs-h3: 30px;
  --bd-fs-h4: 24px;
  --bd-fs-h5: 19px;
  --bd-fs-h6: 16px;
  --bd-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  color-scheme: light;
}
[data-theme="dark"] {
  --bd-bg: #130B0C;
  --bd-bg-rgb: 19, 11, 12;
  --bd-surface: #1D1214;
  --bd-surface-rgb: 29, 18, 20;
  --bd-surface-2: #29191C;
  --bd-surface-2-rgb: 41, 25, 28;
  --bd-heading: #F4E8D8;
  --bd-heading-rgb: 244, 232, 216;
  --bd-text: #C4B2A6;
  --bd-muted: #9A887E;
  --bd-line: rgba(244, 232, 216, 0.1);
  --bd-line-2: rgba(244, 232, 216, 0.18);
  --bd-primary: #A33445;
  --bd-primary-rgb: 163, 52, 69;
  --bd-accent: #D9AE5F;
  --bd-accent-text: #DDB46A;
  --bd-em: #DDB46A;
  --bd-tonal: rgba(244, 232, 216, 0.06);
  --bd-tonal-2: rgba(244, 232, 216, 0.11);
  --bd-band: #0C0607;
  --bd-band-2: #1A0E10;
  --bd-gild: rgba(221, 180, 106, 0.32);
  --bd-shadow: 0 22px 54px rgba(0, 0, 0, 0.35);
  --bd-shadow-lg: 0 36px 90px rgba(0, 0, 0, 0.5);
  --bd-photo-dim: 0.88;
  color-scheme: dark;
}
/* sections that stay dark in both themes */
.is-dark {
  --bd-heading: #F4E8D8;
  --bd-heading-rgb: 244, 232, 216;
  --bd-text: rgba(244, 232, 216, 0.74);
  --bd-muted: rgba(244, 232, 216, 0.55);
  --bd-line: rgba(244, 232, 216, 0.12);
  --bd-line-2: rgba(244, 232, 216, 0.2);
  --bd-accent-text: #DDB46A;
  --bd-em: #DDB46A;
  --bd-tonal: rgba(244, 232, 216, 0.07);
  --bd-tonal-2: rgba(244, 232, 216, 0.13);
  color: var(--bd-text);
}
/* light surfaces placed inside dark bands go back to the page palette */
.is-dark .bd-surface-card {
  --bd-heading: #2A1A1C;
  --bd-text: #5E5150;
  --bd-line: #E6DACB;
  --bd-accent-text: #7D5A1C;
  --bd-em: #6F1D2A;
  color: var(--bd-text);
}
[data-theme="dark"] .is-dark .bd-surface-card {
  --bd-heading: #F4E8D8;
  --bd-text: #C4B2A6;
  --bd-line: rgba(244, 232, 216, 0.1);
  --bd-accent-text: #DDB46A;
  --bd-em: #DDB46A;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  scroll-behavior: auto;
}
body {
  margin: 0;
  font-family: var(--bd-ff-body);
  font-size: 16px;
  line-height: 1.75;
  color: var(--bd-text);
  background: var(--bd-bg);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  transition: background-color 0.5s var(--bd-ease), color 0.5s var(--bd-ease);
}
body.oc-open {
  overflow: hidden;
}
img {
  max-width: 100%;
  height: auto;
  display: block;
}
a {
  color: var(--bd-heading);
  text-decoration: none;
  transition: color 0.3s var(--bd-ease);
}
a:hover {
  color: var(--bd-accent-text);
}
button {
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font-family: inherit;
  cursor: pointer;
}
::selection {
  background: var(--bd-gold);
  color: var(--bd-night);
}
* {
  scrollbar-width: thin;
  scrollbar-color: var(--bd-line-2) transparent;
}
.main-root {
  display: block;
  overflow: hidden;
}
.bd-reset {
  margin: 0;
  padding: 0;
  list-style: none;
}
.visually-hidden-focusable:focus {
  position: fixed !important;
  top: 12px;
  left: 12px;
  z-index: 10000;
  padding: 10px 18px !important;
  background: var(--bd-heading);
  color: var(--bd-bg);
}
:focus-visible {
  outline: 2px solid var(--bd-gold);
  outline-offset: 3px;
}
/* checkboxes: a rounded box in the template's colours, filled and ticked when checked */
.bd-check input[type="checkbox"] {
  -webkit-appearance: none;
  appearance: none;
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin: 2px 0 0;
  border: 1.5px solid var(--bd-muted);
  border-radius: 6px;
  background: var(--bd-surface) no-repeat center / 13px 13px;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.bd-check input[type="checkbox"]:hover {
  border-color: var(--bd-primary);
  box-shadow: 0 0 0 4px rgba(var(--bd-primary-rgb), 0.16);
}
.bd-check input[type="checkbox"]:checked {
  border-color: var(--bd-primary);
  background-color: var(--bd-primary);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.4 6.3 4.9 8.7 9.6 3.6' fill='none' stroke='%23FFFFFF' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.bd-check input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--bd-primary);
  outline-offset: 2px;
}

/*----- 1.1 Typography -----*/
h1, h2, h3, h4, h5, h6 {
  margin: 0;
  color: var(--bd-heading);
}
h1, h2, h3, h4 {
  font-family: var(--bd-ff-heading);
  font-weight: 600;
}
h5, h6 {
  font-family: var(--bd-ff-body);
  font-weight: 600;
}
h1 {
  font-size: var(--bd-fs-h1);
  line-height: 1;
  letter-spacing: -0.015em;
}
h2 {
  font-size: var(--bd-fs-h2);
  line-height: 1.06;
  letter-spacing: -0.01em;
}
h3 {
  font-size: var(--bd-fs-h3);
  line-height: 1.15;
}
h4 {
  font-size: var(--bd-fs-h4);
  line-height: 1.25;
}
h5 {
  font-size: var(--bd-fs-h5);
  line-height: 1.4;
}
h6 {
  font-size: var(--bd-fs-h6);
  line-height: 1.45;
}
/* a heading at its outline level that looks like another level */
.bd-h3,
.bd-h4 {
  font-family: var(--bd-ff-heading);
  letter-spacing: 0;
}
.bd-h5,
.bd-h6 {
  font-family: var(--bd-ff-body);
  letter-spacing: 0;
}
.bd-h3 {
  font-size: var(--bd-fs-h3);
  line-height: 1.15;
}
.bd-h4 {
  font-size: var(--bd-fs-h4);
  line-height: 1.25;
}
.bd-h5 {
  font-size: var(--bd-fs-h5);
  line-height: 1.4;
}
.bd-h6 {
  font-size: var(--bd-fs-h6);
  line-height: 1.45;
}
h1 em,
h2 em,
h3 em {
  font-style: italic;
  font-weight: 500;
  color: var(--bd-em);
}
p {
  margin: 0 0 18px;
}
p:last-child {
  margin-bottom: 0;
}
.bd-lead {
  font-size: 18px;
  line-height: 1.75;
}
.bd-small {
  font-size: 13.5px;
  line-height: 1.6;
}
.bd-serif {
  font-family: var(--bd-ff-heading);
}
.bd-quote-line {
  position: relative;
  margin: 0 0 30px;
  padding: 2px 0 2px 26px;
  font-family: var(--bd-ff-heading);
  font-size: 21px;
  font-style: italic;
  line-height: 1.5;
  color: var(--bd-heading);
}
.bd-quote-line::before {
  content: "";
  position: absolute;
  top: 6px;
  bottom: 6px;
  left: 0;
  width: 2px;
  background: linear-gradient(180deg, var(--bd-gold), rgba(var(--bd-gold-rgb), 0));
}

/*----- 1.2 Spacing & Grounds -----*/
.sec-pt-120 {
  padding-top: 120px;
}
.sec-pb-120 {
  padding-bottom: 120px;
}
.sec-pt-90 {
  padding-top: 90px;
}
.sec-pb-90 {
  padding-bottom: 90px;
}
.bd-bg-base {
  background: var(--bd-bg);
}
.bd-bg-surface {
  background: var(--bd-surface);
}
.bd-bg-sand {
  background: var(--bd-surface-2);
}
/* a photograph as a texture: the temple under the page ground, with a saffron glow from one corner and a maroon
   glow from the other. Never on two sections in a row. */
.bd-tint {
  position: relative;
  isolation: isolate;
  --bd-tint-rgb: var(--bd-bg-rgb);
}
.bd-tint.bd-bg-sand {
  --bd-tint-rgb: var(--bd-surface-2-rgb);
}
.bd-tint > .bd-tint-ground {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}
.bd-tint-ground img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(0.45) contrast(1.08);
}
.bd-tint-ground::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(70% 90% at 0% 100%, rgba(var(--bd-gold-rgb), 0.3) 0%, rgba(var(--bd-gold-rgb), 0) 70%),
    radial-gradient(60% 80% at 100% 0%, rgba(var(--bd-primary-rgb), 0.22) 0%, rgba(var(--bd-primary-rgb), 0) 70%),
    linear-gradient(180deg, rgba(var(--bd-tint-rgb), 0.9) 0%, rgba(var(--bd-tint-rgb), 0.84) 50%, rgba(var(--bd-tint-rgb), 0.9) 100%);
}
.bd-bg-band {
  background: var(--bd-band);
}
.bd-bg-maroon {
  background: var(--bd-maroon);
}
[data-theme="dark"] .bd-bg-sand {
  background: var(--bd-band-2);
}

/*----- 1.3 Section Titles -----*/
.bd-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
  font-family: var(--bd-ff-body);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.22em;
  line-height: 1.4;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.bd-eyebrow::before,
.bd-eyebrow::after {
  content: "";
  flex: 0 0 auto;
  width: 30px;
  height: 7px;
  background: radial-gradient(circle at 3.5px 3.5px, var(--bd-gold) 2.4px, transparent 2.9px) 0 0 / 11px 7px repeat-x;
}
.bd-eyebrow.is-start::after {
  display: none;
}
.bd-section-title {
  margin-bottom: 60px;
}
.bd-section-title .title {
  max-width: 780px;
}
.bd-section-title.text-center .title {
  margin-left: auto;
  margin-right: auto;
}
.bd-section-title .bd-lead {
  max-width: 600px;
  margin-top: 22px;
}
.bd-section-title.text-center .bd-lead {
  margin-left: auto;
  margin-right: auto;
}
.bd-title-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 60px;
}
.bd-title-row .bd-section-title {
  margin-bottom: 0;
}
.bd-title-row > .bd-lead {
  max-width: 460px;
  margin: 0 0 6px;
}
.bd-ornament {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  margin: 0 auto 26px;
  color: var(--bd-gold);
  font-size: 22px;
}
.bd-ornament::before,
.bd-ornament::after {
  content: "";
  width: 70px;
  height: 1px;
  background: linear-gradient(90deg, rgba(var(--bd-gold-rgb), 0), var(--bd-gold));
}
.bd-ornament::after {
  transform: scaleX(-1);
}

/*----- 1.4 Buttons -----*/
.bd-btn {
  --btn-bg: var(--bd-primary);
  --btn-fg: var(--bd-on-primary);
  --btn-hover-bg: var(--bd-heading);
  --btn-hover-fg: var(--bd-bg);
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 18px 34px;
  overflow: hidden;
  border: 0;
  background: var(--btn-bg);
  color: var(--btn-fg);
  font-family: var(--bd-ff-body);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.45s var(--bd-ease), box-shadow 0.45s var(--bd-ease), transform 0.45s var(--bd-ease);
}
.bd-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--btn-hover-bg);
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 0.55s var(--bd-ease);
}
.bd-btn::after {
  content: "";
  position: absolute;
  inset: 4px;
  border: 1px solid rgba(var(--bd-gold-rgb), 0);
  pointer-events: none;
  transition: border-color 0.45s var(--bd-ease);
}
.bd-btn i {
  font-size: 11px;
  transition: transform 0.45s var(--bd-ease);
}
.bd-btn:hover {
  color: var(--btn-hover-fg);
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(var(--bd-primary-rgb), 0.24);
}
.bd-btn:hover::before {
  transform: scaleX(1);
  transform-origin: left center;
}
.bd-btn:hover::after {
  border-color: rgba(var(--bd-gold-rgb), 0.55);
}
.bd-btn:hover i {
  transform: translateX(4px);
}
.bd-btn.is-gold {
  --btn-bg: var(--bd-gold);
  --btn-fg: var(--bd-night);
  --btn-hover-bg: var(--bd-ivory);
  --btn-hover-fg: var(--bd-night);
}
.bd-btn.is-ghost {
  --btn-bg: transparent;
  --btn-fg: var(--bd-heading);
  --btn-hover-bg: var(--bd-heading);
  --btn-hover-fg: var(--bd-bg);
  box-shadow: inset 0 0 0 1px var(--bd-line-2);
}
.is-dark .bd-btn.is-ghost {
  --btn-hover-fg: var(--bd-night);
}
.bd-btn.is-tonal {
  --btn-bg: var(--bd-tonal);
  --btn-fg: var(--bd-heading);
}
.bd-btn.is-tonal i {
  color: var(--bd-accent);
}
.bd-btn.is-tonal:hover i {
  color: inherit;
}
.is-dark .bd-btn {
  --btn-hover-bg: var(--bd-ivory);
  --btn-hover-fg: var(--bd-night);
}
.bd-btn.is-sm {
  padding: 13px 22px;
  font-size: 12px;
}
.bd-btn.is-block {
  width: 100%;
}
.bd-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--bd-heading);
}
.bd-link i {
  color: var(--bd-accent);
  font-size: 11px;
  transition: transform 0.4s var(--bd-ease);
}
.bd-link:hover {
  color: var(--bd-accent-text);
}
.bd-link:hover i {
  transform: translateX(4px);
}
.bd-btn-group {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

/*----- 1.5 Forms -----*/
.bd-field {
  position: relative;
  margin-bottom: 20px;
}
.bd-field label,
.bd-label {
  display: block;
  margin-bottom: 9px;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--bd-heading);
}
.bd-input-wrap {
  position: relative;
}
.bd-input-wrap > i {
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
  font-size: 14px;
  color: var(--bd-accent);
  pointer-events: none;
}
.bd-input-wrap.is-area > i {
  top: 22px;
  transform: none;
}
.bd-input,
.bd-field input,
.bd-field select,
.bd-field textarea {
  display: block;
  width: 100%;
  height: 58px;
  padding: 0 46px 0 20px;
  border: 1px solid var(--bd-line-2);
  border-radius: 0;
  background: var(--bd-surface);
  color: var(--bd-heading);
  font-family: var(--bd-ff-body);
  font-size: 15px;
  outline: none;
  transition: border-color 0.3s var(--bd-ease), box-shadow 0.3s var(--bd-ease), background-color 0.3s var(--bd-ease);
  -webkit-appearance: none;
  appearance: none;
}
.bd-field textarea {
  height: 150px;
  padding-top: 16px;
  resize: vertical;
}
.bd-input:focus,
.bd-field input:focus,
.bd-field select:focus,
.bd-field textarea:focus {
  border-color: var(--bd-gold);
  box-shadow: 0 0 0 3px rgba(var(--bd-gold-rgb), 0.18);
}
.bd-field input::placeholder,
.bd-field textarea::placeholder,
.bd-input::placeholder {
  color: var(--bd-muted);
}
.is-dark .bd-field input,
.is-dark .bd-field textarea {
  border-color: rgba(var(--bd-ivory-rgb), 0.2);
  background: rgba(var(--bd-ivory-rgb), 0.06);
  color: var(--bd-ivory);
}
.bd-check {
  display: inline-flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14px;
  cursor: pointer;
}
.bd-check input {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin-top: 4px;
  accent-color: var(--bd-primary);
}
.form-status {
  margin: 14px 0 0;
  font-size: 14px;
  font-weight: 500;
}
.form-status:empty {
  display: none;
}
.form-status.is-ok {
  color: #2E7D4F;
}
.form-status.is-error {
  color: #C0392B;
}
[data-theme="dark"] .form-status.is-ok,
.is-dark .form-status.is-ok {
  color: #9BE0B6;
}
[data-theme="dark"] .form-status.is-error,
.is-dark .form-status.is-error {
  color: #FFB4A6;
}

/*----- 1.6 Shared Pieces -----*/
.bd-gilded {
  position: relative;
  display: block;
}
.bd-gilded::after {
  content: "";
  position: absolute;
  inset: 12px;
  z-index: 2;
  border: 1px solid rgba(255, 244, 222, 0.6);
  pointer-events: none;
  transition: inset 0.6s var(--bd-ease), border-color 0.6s var(--bd-ease);
}
.bd-card:hover .bd-gilded::after,
.bd-gilded:hover::after {
  inset: 18px;
  border-color: rgba(var(--bd-gold-rgb), 0.9);
}
.bd-frame-shift {
  position: relative;
  display: block;
  isolation: isolate;
}
.bd-frame-shift::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border: 1px solid var(--bd-gold);
  transform: translate(-22px, 22px);
  transition: transform 0.7s var(--bd-ease);
}
.bd-frame-shift:hover::before {
  transform: translate(-30px, 30px);
}
.bd-wash {
  position: relative;
  display: block;
  overflow: hidden;
}
.bd-wash::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(var(--bd-night-rgb), 0.86) 0%, rgba(var(--bd-maroon-rgb), 0.35) 38%, rgba(var(--bd-maroon-rgb), 0) 66%);
  pointer-events: none;
}
.bd-zoom {
  overflow: hidden;
}
.bd-zoom img {
  transition: transform 1.2s var(--bd-ease), filter 0.6s var(--bd-ease);
  filter: brightness(var(--bd-photo-dim));
}
.bd-zoom:hover img,
.bd-card:hover .bd-zoom img {
  transform: scale(1.06);
}
.bd-glyph {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 78px;
  height: 78px;
  border-radius: 50%;
  background: var(--bd-tonal);
  color: var(--bd-primary);
  font-size: 36px;
  line-height: 1;
  transition: background-color 0.45s var(--bd-ease), color 0.45s var(--bd-ease), transform 0.6s var(--bd-ease);
}
[data-theme="dark"] .bd-glyph,
.is-dark .bd-glyph {
  color: var(--bd-gold-light);
}
.bd-glyph::after {
  content: "";
  position: absolute;
  inset: -7px;
  border-radius: 50%;
  border: 1px dashed rgba(var(--bd-gold-rgb), 0.55);
  transition: transform 1.2s var(--bd-ease);
}
.bd-glyph i {
  line-height: 1;
}
.bd-card:hover .bd-glyph {
  background: var(--bd-primary);
  color: var(--bd-on-primary);
}
.bd-card:hover .bd-glyph::after {
  transform: rotate(90deg);
}
.bd-date-tile {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-width: 94px;
  padding: 16px 12px 14px;
  background: var(--bd-primary);
  color: var(--bd-on-primary);
  text-align: center;
  line-height: 1;
  box-shadow: inset 0 0 0 1px rgba(var(--bd-gold-rgb), 0.5), inset 0 0 0 5px var(--bd-primary), inset 0 0 0 6px rgba(var(--bd-gold-rgb), 0.35);
}
.bd-date-tile b {
  font-family: var(--bd-ff-heading);
  font-size: 44px;
  font-weight: 600;
  color: var(--bd-gold-light);
}
.bd-date-tile span {
  margin-top: 8px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.bd-kv {
  margin: 0;
  padding: 0;
  list-style: none;
}
.bd-kv li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 0;
  border-bottom: 1px solid var(--bd-line);
  font-size: 15px;
}
.bd-kv li:first-child {
  border-top: 1px solid var(--bd-line);
}
.bd-kv li span {
  color: var(--bd-text);
}
.bd-kv li b {
  font-weight: 600;
  color: var(--bd-heading);
  text-align: right;
}
.bd-meter {
  position: relative;
  height: 4px;
  overflow: hidden;
  background: var(--bd-line);
}
.bd-meter > span {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0;
  background: linear-gradient(90deg, var(--bd-primary), var(--bd-gold));
  transition: width 1.6s var(--bd-ease);
}
.bd-ring {
  --p: 0;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 118px;
  height: 118px;
  border-radius: 50%;
  background: conic-gradient(var(--bd-gold) calc(var(--p) * 1%), var(--bd-line) 0);
}
.bd-ring::before {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: 50%;
  background: var(--bd-ring-hole, var(--bd-surface));
}
.bd-ring b {
  position: relative;
  font-family: var(--bd-ff-heading);
  font-size: 36px;
  font-weight: 600;
  line-height: 1;
  color: var(--bd-heading);
}
.bd-ring b small {
  margin-left: 2px;
  font-family: var(--bd-ff-body);
  font-size: 14px;
  font-weight: 600;
  color: var(--bd-accent-text);
}
.bd-social {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.bd-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--bd-tonal);
  color: var(--bd-heading);
  font-size: 14px;
  transition: background-color 0.3s var(--bd-ease), color 0.3s var(--bd-ease), transform 0.3s var(--bd-ease);
}
.bd-social a:hover {
  background: var(--bd-gold);
  color: var(--bd-night);
  transform: translateY(-3px);
}
.bd-slider-nav {
  display: flex;
  gap: 10px;
}
.bd-slider-nav button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: transparent;
  box-shadow: inset 0 0 0 1px var(--bd-line-2);
  color: var(--bd-heading);
  font-size: 13px;
  transition: background-color 0.3s var(--bd-ease), color 0.3s var(--bd-ease), box-shadow 0.3s var(--bd-ease);
}
.bd-slider-nav button:hover {
  background: var(--bd-primary);
  color: var(--bd-on-primary);
  box-shadow: inset 0 0 0 1px var(--bd-primary);
}
.is-dark .bd-slider-nav button:hover {
  background: var(--bd-gold);
  color: var(--bd-night);
  box-shadow: inset 0 0 0 1px var(--bd-gold);
}
.bd-slider-nav button.swiper-button-disabled {
  opacity: 0.4;
  cursor: default;
}
.bd-cutout {
  position: absolute;
  z-index: 2;
  pointer-events: none;
}
.bd-cutout .float-mid,
.bd-cutout .float-in {
  display: block;
}
.bd-cutout img {
  display: block;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 24px 30px rgba(var(--bd-night-rgb), 0.22));
}
.swiper {
  width: 100%;
  min-width: 0;
}
.swiper-slide {
  height: auto;
}
.bd-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 60px;
}
.bd-pagination a,
.bd-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  height: 48px;
  padding: 0 10px;
  border-radius: 50%;
  background: var(--bd-tonal);
  font-size: 14px;
  font-weight: 600;
  color: var(--bd-heading);
}
.bd-pagination .is-current,
.bd-pagination a:hover {
  background: var(--bd-primary);
  color: var(--bd-on-primary);
}
.bd-mandala-mark {
  position: absolute;
  pointer-events: none;
  opacity: 0.16;
}
[data-theme="dark"] .bd-mandala-mark {
  opacity: 0.1;
}

/* the accent word in a title keeps its colour and stands upright (no italic), wherever the title is styled */
html body :is(h1, h2, h3, h4, h5, h6, [class*="title"], [class*="display"]) :is(em, .accent, .fd-accent, .accent-serif) {
  font-style: normal;
}

/* Avatar group: overlapping round portraits of the community, a count and a short line. As wide as its content;
   is-centered sits it in the middle of a centred column, has-space-below keeps a button under it at a distance. */
.bd-avatars {
  display: flex;
  align-items: center;
  gap: 16px;
  width: fit-content;
  max-width: 100%;
  margin-top: 30px;
}
.bd-avatars.is-centered {
  margin-inline: auto;
}
.bd-avatars.has-space-below {
  margin-bottom: 32px;
}
.bd-avatar-stack {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.bd-avatar-stack li {
  position: relative;
  flex: 0 0 50px;
  width: 50px;
  height: 50px;
  overflow: hidden;
  border: 3px solid var(--bd-surface);
  border-radius: 50%;
  background: var(--bd-surface);
  transition: transform 0.35s ease;
}
.bd-avatar-stack li + li {
  margin-inline-start: -14px;
}
.bd-avatar-stack li:hover {
  z-index: 2;
  transform: translateY(-4px);
}
.bd-avatar-stack img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bd-avatar-stack .is-more {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--bd-gold);
  color: var(--bd-night);
  font-family: var(--bd-ff-body);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}
.bd-avatars .avatars-copy {
  font-family: var(--bd-ff-body);
  font-size: 14px;
  line-height: 1.4;
  text-align: start;
}
.bd-avatars .avatars-copy b {
  display: block;
  font-size: 16px;
  font-weight: 700;
  color: var(--bd-heading);
}
.bd-avatars .avatars-copy span {
  display: block;
  color: var(--bd-text);
}
/* on a photograph or a dark band: white rings and light words */
.bd-avatars.is-on-dark .bd-avatar-stack li {
  border-color: rgba(255, 255, 255, 0.92);
}
.bd-avatars.is-on-dark .avatars-copy b {
  color: #FFFFFF;
}
.bd-avatars.is-on-dark .avatars-copy span {
  color: rgba(255, 255, 255, 0.82);
}

/* a byline's round portrait, in place of the generic user icon */
.bd-byline-avatar {
  display: inline-block;
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  object-fit: cover;
  vertical-align: middle;
  box-shadow: 0 0 0 2px var(--bd-surface);
}
.post-meta .bd-byline-avatar,
.class-meta .bd-byline-avatar {
  margin-inline-end: 8px;
}

/*======================
2. Preloader & Reveals
========================*/
/*----- 2.1 Temple Seal Preloader -----*/
.bd-preloader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: var(--bd-bg);
}
.bd-preloader .pre-ground {
  position: absolute;
  inset: 0;
  background: var(--bd-bg);
}
.bd-preloader .pre-mandala {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 760px;
  max-width: 120vw;
  opacity: 0.12;
  transform: translate(-50%, -50%);
}
.bd-preloader .pre-lockup {
  position: relative;
  display: flex;
  align-items: center;
  gap: 26px;
}
.bd-preloader .pre-seal {
  position: relative;
  width: 132px;
  height: 132px;
}
.bd-preloader .pre-seal img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.bd-preloader .pre-ink {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 3px solid var(--bd-gold);
  opacity: 0;
}
.bd-preloader .pre-word {
  width: 292px;
}
.bd-preloader .pre-word img {
  width: 100%;
  height: auto;
}
.bd-preloader .pre-word .logo-light {
  display: none;
}
[data-theme="dark"] .bd-preloader .pre-word .logo-main {
  display: none;
}
[data-theme="dark"] .bd-preloader .pre-word .logo-light {
  display: block;
}
.js .bd-preloader .pre-seal,
.js .bd-preloader .pre-word {
  opacity: 0;
}

.no-js .bd-preloader {
  display: none;
}

/*======================
3. Header
========================*/
.bd-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
  --hd-text: var(--bd-heading);
  --hd-muted: var(--bd-text);
  --hd-line: var(--bd-line);
}
.bd-header .wide {
  width: 100%;
  max-width: 1720px;
  margin: 0 auto;
  padding: 0 40px;
}
.bd-logo {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}
.bd-logo img {
  width: auto;
  height: 58px;
  transition: height 0.4s var(--bd-ease);
}
.bd-logo .logo-light {
  display: none;
}
[data-theme="dark"] .bd-logo .logo-main {
  display: none;
}
[data-theme="dark"] .bd-logo .logo-light {
  display: block;
}

/*----- 3.1 Main Menu -----*/
.bd-nav > ul {
  display: flex;
  align-items: center;
  gap: 30px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.bd-nav li {
  position: relative;
}
.bd-nav > ul > li > a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 22px 0;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--hd-text);
  white-space: nowrap;
}
.bd-nav > ul > li > a i {
  font-size: 8px;
  color: var(--bd-accent);
  transition: transform 0.3s var(--bd-ease);
}
.bd-nav > ul > li:hover > a,
.bd-nav > ul > li.active > a {
  color: var(--bd-accent-text);
}
.bd-nav > ul > li:hover > a i {
  transform: rotate(180deg);
}
.bd-nav .sub-menu {
  position: absolute;
  top: calc(100% + 18px);
  left: -28px;
  z-index: 20;
  min-width: 250px;
  margin: 0;
  padding: 16px 0;
  list-style: none;
  background: var(--bd-surface);
  border-top: 2px solid var(--bd-gold);
  box-shadow: var(--bd-shadow-lg);
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity 0.35s var(--bd-ease), transform 0.35s var(--bd-ease), visibility 0.35s;
}
.bd-nav .sub-menu::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  height: 22px;
}
.bd-nav li:hover > .sub-menu,
.bd-nav li:focus-within > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.bd-nav .sub-menu a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 28px;
  font-size: 15px;
  font-weight: 500;
  color: var(--bd-heading);
  transition: color 0.3s var(--bd-ease), padding 0.35s var(--bd-ease);
}
.bd-nav .sub-menu a::before {
  content: "";
  position: absolute;
  left: 28px;
  top: 50%;
  width: 0;
  height: 1px;
  background: var(--bd-gold);
  transition: width 0.35s var(--bd-ease);
}
.bd-nav .sub-menu a i {
  font-size: 9px;
  color: var(--bd-accent);
}
.bd-nav .sub-menu li:hover > a,
.bd-nav .sub-menu li.active > a {
  padding-left: 48px;
  color: var(--bd-accent-text);
}
.bd-nav .sub-menu li:hover > a::before,
.bd-nav .sub-menu li.active > a::before {
  width: 12px;
}
.bd-nav .sub-menu .sub-menu {
  top: -18px;
  left: 100%;
  transform: translateX(12px);
}
.bd-nav .sub-menu .sub-menu::before {
  top: 0;
  bottom: 0;
  left: -12px;
  right: auto;
  width: 12px;
  height: auto;
}
.bd-nav .sub-menu li:hover > .sub-menu,
.bd-nav .sub-menu li:focus-within > .sub-menu {
  transform: translateX(0);
}
.bd-nav .sub-menu li.is-flip > .sub-menu,
.bd-nav > ul > li:nth-last-child(-n+3) .sub-menu .sub-menu {
  left: auto;
  right: 100%;
}

/*----- 3.2 Home Mega Menu -----*/
.bd-nav .has-mega {
  position: static;
}
.bd-nav .mega-menu {
  position: absolute;
  top: calc(100% + 2px);
  left: 50%;
  z-index: 20;
  width: min(1120px, calc(100vw - 80px));
  padding: 34px;
  background: var(--bd-surface);
  border-top: 2px solid var(--bd-gold);
  box-shadow: var(--bd-shadow-lg);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 12px);
  transition: opacity 0.35s var(--bd-ease), transform 0.35s var(--bd-ease), visibility 0.35s;
}
.bd-nav .mega-menu::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  height: 26px;
}
.bd-nav .has-mega:hover > .mega-menu,
.bd-nav .has-mega:focus-within > .mega-menu {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}
.mega-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px 24px;
}
.mega-card {
  display: block;
  text-align: center;
}
.mega-card .shot {
  position: relative;
  display: block;
  overflow: hidden;
  box-shadow: 0 0 0 1px var(--bd-line);
}
.mega-card img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: top center;
  transition: transform 1.4s var(--bd-ease);
}
.mega-card:hover img {
  transform: translateY(-14%) scale(1.02);
}
.mega-card b {
  display: block;
  margin-top: 12px;
  font-family: var(--bd-ff-heading);
  font-size: 21px;
  font-weight: 600;
  color: var(--bd-heading);
}
.mega-card.is-current b,
.mega-card:hover b {
  color: var(--bd-accent-text);
}

/*----- 3.3 Header Actions -----*/
.header-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.header-icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--bd-tonal);
  color: var(--hd-text);
  font-size: 15px;
  transition: background-color 0.3s var(--bd-ease), color 0.3s var(--bd-ease);
}
.header-icon:hover {
  background: var(--bd-gold);
  color: var(--bd-night);
}
.header-icon .count {
  position: absolute;
  top: -3px;
  right: -3px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 19px;
  height: 19px;
  padding: 0 4px;
  border-radius: 10px;
  background: var(--bd-gold);
  color: var(--bd-night);
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1;
}
.header-icon .count:empty {
  display: none;
}
/* the light / dark switch: a moon in the light theme, a sun in the dark one (Theme Icons) */
html .ti-sun {
  display: none;
}
html[data-theme="dark"] .ti-sun {
  display: inline-block;
}
html[data-theme="dark"] .ti-moon {
  display: none;
}
/* Language picker: a flag and a code; the menu lists the languages that read left to right and right to left.
   The demo copy stays in English, and a right-to-left language turns the layout around. */
.bd-lang {
  position: relative;
  flex-shrink: 0;
}
.bd-lang .lang-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 32px;
  padding: 0 12px;
  border: 0;
  border-radius: 40px;
  background: var(--bd-tonal);
  color: var(--bd-heading);
  font-family: var(--bd-ff-body);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.bd-lang .lang-btn:hover,
.bd-lang .lang-btn[aria-expanded="true"] {
  background: var(--bd-gold);
  color: var(--bd-night);
}
.bd-lang .lang-btn > i {
  font-size: 9px;
  transition: transform 0.3s ease;
}
.bd-lang .lang-btn[aria-expanded="true"] > i {
  transform: rotate(180deg);
}
.bd-lang .flag {
  flex-shrink: 0;
  width: 22px;
  height: 16px;
  border-radius: 3px;
  object-fit: cover;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
}
.bd-lang.is-icon .lang-btn {
  height: 46px;
  padding: 0 15px;
  background: var(--bd-tonal);
  color: var(--hd-text, var(--bd-heading));
}
.bd-lang.is-icon .lang-btn:hover,
.bd-lang.is-icon .lang-btn[aria-expanded="true"] {
  background: var(--bd-gold);
  color: var(--bd-night);
}
.bd-lang .lang-menu {
  position: absolute;
  top: calc(100% + 12px);
  inset-inline-end: 0;
  z-index: 1300;
  width: 248px;
  padding: 10px;
  border-radius: 14px;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-lg);
  font-family: var(--bd-ff-body);
  text-align: start;
  white-space: normal;
}
.bd-lang.is-up .lang-menu {
  top: auto;
  bottom: calc(100% + 12px);
}
.bd-lang.is-start .lang-menu {
  inset-inline-start: 0;
  inset-inline-end: auto;
}
.bd-lang .lang-menu[hidden] {
  display: none;
}
.bd-lang .lang-group {
  margin: 6px 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--bd-muted);
}
.bd-lang .lang-menu ul {
  display: block;
  margin: 0;
  padding: 0;
  list-style: none;
}
.bd-lang .lang-menu ul + .lang-group {
  margin-top: 10px;
  padding-top: 12px;
  border-top: 1px solid var(--bd-line);
}
.bd-lang .lang-item {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  padding: 9px 10px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--bd-heading);
  font-family: var(--bd-ff-body);
  font-size: 14.5px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0;
  text-align: start;
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.25s ease;
}
.bd-lang .lang-item small {
  margin-inline-start: auto;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--bd-muted);
}
.bd-lang .lang-item i {
  width: 12px;
  font-size: 11px;
  color: var(--bd-primary);
  opacity: 0;
}
.bd-lang .lang-item:hover,
.bd-lang .lang-item[aria-pressed="true"] {
  background: var(--bd-tonal);
}
.bd-lang .lang-item[aria-pressed="true"] {
  font-weight: 600;
}
.bd-lang .lang-item[aria-pressed="true"] i {
  opacity: 1;
}
.bd-lang .lang-note {
  margin: 10px 10px 4px;
  padding-top: 10px;
  border-top: 1px solid var(--bd-line);
  font-size: 12px;
  line-height: 1.5;
  color: var(--bd-muted);
}
.bd-theme-toggle i {
  transition: transform 0.6s var(--bd-ease);
}
[data-theme="dark"] .bd-theme-toggle i {
  transform: rotate(180deg);
}
.header-actions .bd-btn {
  display: none;
  margin-left: 8px;
}
.bd-menu-toggle {
  display: none;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
  gap: 5px;
  width: 46px;
  height: 46px;
  padding: 0 12px;
  border-radius: 50%;
  background: var(--bd-primary);
}
.bd-menu-toggle span {
  display: block;
  width: 22px;
  height: 2px;
  background: var(--bd-on-primary);
  transition: width 0.3s var(--bd-ease);
}
.bd-menu-toggle span:nth-child(2) {
  width: 14px;
}
.bd-menu-toggle:hover span:nth-child(2) {
  width: 22px;
}
.bd-live {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 600;
  color: var(--hd-text);
  white-space: nowrap;
}
.bd-live .dot {
  position: relative;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--bd-muted);
}
.bd-live.is-live .dot {
  background: var(--bd-ember);
}
.bd-live.is-live .dot::after {
  content: "";
  position: absolute;
  inset: -5px;
  border-radius: 50%;
  border: 2px solid var(--bd-ember);
  animation: bdPulse 1.8s ease-out infinite;
}
@keyframes bdPulse {
  0% {
    opacity: 0.9;
    transform: scale(0.5);
  }
  100% {
    opacity: 0;
    transform: scale(1.6);
  }
}
.bd-moon-line {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 500;
  color: var(--hd-muted);
  white-space: nowrap;
}
.bd-moon {
  position: relative;
  display: inline-block;
  flex: 0 0 auto;
  width: 15px;
  height: 15px;
  overflow: hidden;
  border-radius: 50%;
  background: var(--bd-gold-light);
  box-shadow: 0 0 10px rgba(var(--bd-gold-rgb), 0.5);
}
.bd-moon i {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  border-radius: 50%;
  background: rgba(var(--bd-night-rgb), 0.85);
}

/*----- 3.4 Style One (Home 1 & Inner Pages) -----*/
.header-style-one {
  --hd-text: var(--bd-ivory);
  --hd-muted: rgba(244, 232, 216, 0.72);
  --hd-line: rgba(244, 232, 216, 0.16);
}
.header-style-one .header-top {
  border-bottom: 1px solid var(--hd-line);
  transition: height 0.4s var(--bd-ease), opacity 0.3s var(--bd-ease);
  overflow: hidden;
  height: 48px;
}
.header-style-one .header-top .wide,
.header-style-two .header-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  height: 100%;
}
.header-top .top-left,
.header-top .top-right {
  display: flex;
  align-items: center;
  gap: 30px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.header-top .top-right a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 13px;
  font-weight: 500;
  color: var(--hd-muted);
  white-space: nowrap;
}
.header-top .top-right a:hover {
  color: var(--bd-gold-light);
}
.header-top .top-right i {
  color: var(--bd-gold);
}
.header-top .top-social {
  display: flex;
  gap: 16px;
  padding-left: 26px;
  border-left: 1px solid var(--hd-line);
}
.header-style-one .header-main .wide {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  height: 96px;
  transition: height 0.4s var(--bd-ease);
}
.header-style-one .bd-logo .logo-main {
  display: none;
}
.header-style-one .bd-logo .logo-light {
  display: block;
}
.header-style-one .header-icon {
  background: rgba(244, 232, 216, 0.1);
}
.header-style-one .header-icon:hover {
  background: var(--bd-gold);
  color: var(--bd-night);
}
.header-style-one .bd-btn {
  --btn-hover-bg: var(--bd-ivory);
  --btn-hover-fg: var(--bd-night);
}
.header-style-one:not(.is-sticky) {
  --bd-accent-text: #DDB46A;
}
.header-style-one:not(.is-sticky) .bd-nav .sub-menu,
.header-style-one:not(.is-sticky) .bd-nav .mega-menu {
  --bd-accent-text: #7D5A1C;
}
[data-theme="dark"] .header-style-one .bd-nav .sub-menu,
[data-theme="dark"] .header-style-one .bd-nav .mega-menu {
  --bd-accent-text: #DDB46A;
}

/*----- 3.5 Style Two (Home 2) -----*/
.header-style-two {
  padding-top: 8px;
}
.header-style-two .header-top {
  height: 44px;
  overflow: hidden;
  transition: height 0.4s var(--bd-ease), opacity 0.3s var(--bd-ease);
}
.header-style-two .header-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  height: 92px;
  padding: 0 18px 0 34px;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow);
  outline: 1px solid var(--bd-gild);
  outline-offset: -7px;
}
.header-style-two .bd-nav .sub-menu {
  top: calc(100% + 24px);
}
.header-style-two .bd-nav .sub-menu::before {
  height: 28px;
}
.header-style-two .bd-nav .sub-menu .sub-menu {
  top: -18px;
}
.header-style-two .bd-nav .mega-menu {
  top: calc(100% + 24px);
}
.header-style-two .bd-nav > ul {
  gap: 24px;
}
.header-style-two .bd-menu-toggle {
  display: none;
}

/*----- 3.6 Style Three (Home 3) -----*/
.header-style-three {
  position: relative;
  background: var(--bd-surface);
  box-shadow: 0 1px 0 var(--bd-line);
}
.header-style-three .header-box {
  position: relative;
  display: flex;
  align-items: stretch;
  height: 96px;
}
.header-style-three .grid-toggle {
  display: inline-grid;
  grid-template-columns: repeat(3, 7px);
  align-content: center;
  justify-content: center;
  gap: 5px;
  width: 96px;
  border-right: 1px solid var(--bd-line);
}
.header-style-three .grid-toggle span {
  width: 7px;
  height: 7px;
  background: var(--bd-primary);
  transition: transform 0.4s var(--bd-ease), background-color 0.3s var(--bd-ease);
}
.header-style-three .grid-toggle span:nth-child(odd) {
  background: var(--bd-gold);
}
.header-style-three .grid-toggle:hover span {
  transform: rotate(45deg);
}
.header-style-three .bd-nav {
  display: flex;
  align-items: center;
  flex: 1 1 0;
  padding: 0 22px;
}
.header-style-three .bd-nav > ul {
  gap: 22px;
}
.header-style-three .bd-nav.nav-right {
  justify-content: flex-end;
}
.header-style-three .bd-nav .sub-menu,
.header-style-three .bd-nav .mega-menu {
  top: calc(100% + 26px);
}
.header-style-three .bd-nav .sub-menu::before {
  height: 30px;
}
.header-style-three .bd-nav .sub-menu .sub-menu {
  top: -18px;
}
.header-style-three .bd-nav.nav-right > ul > li:nth-last-child(-n+3) > .sub-menu {
  left: auto;
  right: -28px;
}
.header-style-three .bd-logo {
  position: relative;
  z-index: 3;
  align-self: flex-start;
  padding: 22px 34px;
  margin-bottom: -34px;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow);
}
.header-style-three .bd-logo::after {
  content: "";
  position: absolute;
  inset: 7px;
  border: 1px solid var(--bd-gild);
  pointer-events: none;
}
.header-style-three .header-cta {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 24px 0 0;
}
/* the split navs leave no room for the language code: the flag alone, the code still in the menu */
.header-style-three .bd-lang .lang-btn {
  gap: 6px;
  padding: 0 13px;
}
.header-style-three .bd-lang .lang-btn [data-lang-code] {
  display: none;
}
.header-style-three .header-cta .bd-btn {
  display: none;
  height: 54px;
}
.header-style-three .bd-menu-toggle {
  display: none;
}

/*----- 3.7 Sticky Header -----*/
.bd-header.is-sticky {
  position: fixed;
  padding-top: 0;
  --hd-text: var(--bd-heading);
  --hd-muted: var(--bd-text);
  --hd-line: var(--bd-line);
  background: rgba(var(--bd-surface-rgb), 0.92);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  box-shadow: 0 12px 40px rgba(var(--bd-night-rgb), 0.12);
  animation: bdSticky 0.6s var(--bd-ease);
}
.bd-header.is-sticky .header-top {
  height: 0;
  border-bottom-color: transparent;
  opacity: 0;
}
.header-style-one.is-sticky .header-main .wide {
  height: 80px;
}
.header-style-one.is-sticky .bd-logo .logo-main {
  display: block;
}
.header-style-one.is-sticky .bd-logo .logo-light {
  display: none;
}
[data-theme="dark"] .header-style-one.is-sticky .bd-logo .logo-main {
  display: none;
}
[data-theme="dark"] .header-style-one.is-sticky .bd-logo .logo-light {
  display: block;
}
.header-style-one.is-sticky .header-icon {
  background: var(--bd-tonal);
}
.bd-header.is-sticky .bd-logo img {
  height: 50px;
}
.header-style-two.is-sticky .header-box {
  height: 80px;
  background: transparent;
  box-shadow: none;
  outline: 0;
}
.header-style-two.is-sticky .bd-nav .sub-menu,
.header-style-two.is-sticky .bd-nav .mega-menu {
  top: calc(100% + 18px);
}
.header-style-three.is-sticky .header-box {
  height: 82px;
}
.header-style-three.is-sticky .bd-logo {
  margin-bottom: 0;
  padding: 14px 26px;
  box-shadow: none;
  background: transparent;
}
.header-style-three.is-sticky .bd-logo::after {
  display: none;
}
.header-style-three.is-sticky .bd-nav .sub-menu,
.header-style-three.is-sticky .bd-nav .mega-menu {
  top: calc(100% + 19px);
}
.bd-header-spacer {
  display: none;
}
.bd-header-spacer.is-on {
  display: block;
}
@keyframes bdSticky {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0);
  }
}

/*======================
4. Offcanvas Menu
========================*/
.bd-offcanvas {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 1001;
  display: flex;
  flex-direction: column;
  width: 460px;
  max-width: 100%;
  overflow-y: auto;
  background: var(--bd-surface);
  transform: translateX(100%);
  visibility: hidden;
  transition: transform 0.7s var(--bd-ease), visibility 0.7s;
}
.bd-offcanvas.open {
  transform: translateX(0);
  visibility: visible;
}
.bd-offcanvas-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(var(--bd-night-rgb), 0.62);
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s var(--bd-ease), visibility 0.5s;
}
.bd-offcanvas-overlay.open {
  opacity: 1;
  visibility: visible;
}
.bd-offcanvas .offcanvas-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 26px 36px;
  border-bottom: 1px solid var(--bd-line);
}
.bd-offcanvas .offcanvas-head .bd-logo img {
  height: 52px;
}
.offcanvas-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: var(--bd-tonal);
  color: var(--bd-heading);
  font-size: 16px;
  transition: background-color 0.3s var(--bd-ease), color 0.3s var(--bd-ease), transform 0.4s var(--bd-ease);
}
.offcanvas-close:hover {
  background: var(--bd-primary);
  color: var(--bd-on-primary);
  transform: rotate(90deg);
}
.bd-offcanvas .offcanvas-nav {
  padding: 16px 36px 18px;
}
.oc-group {
  border-bottom: 1px solid var(--bd-line);
}
.oc-group > button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 16px 0;
  font-family: var(--bd-ff-heading);
  font-size: 26px;
  font-weight: 600;
  color: var(--bd-heading);
  text-align: left;
}
.oc-group > button i {
  font-size: 12px;
  color: var(--bd-accent);
  transition: transform 0.3s var(--bd-ease);
}
.oc-group.is-open > button {
  color: var(--bd-em);
}
.oc-group.is-open > button i {
  transform: rotate(45deg);
}
.oc-group ul {
  display: none;
  padding: 0 0 16px 16px;
  border-left: 1px solid var(--bd-gold);
}
.oc-group.is-open ul {
  display: block;
}
.oc-group ul a {
  display: block;
  padding: 6px 0;
  font-size: 15.5px;
  color: var(--bd-text);
}
.oc-group ul a:hover,
.oc-group ul a.is-current {
  color: var(--bd-accent-text);
}
.bd-offcanvas .offcanvas-foot {
  position: relative;
  margin-top: auto;
  padding: 32px 36px 36px;
  overflow: hidden;
  background: var(--bd-band);
}
.bd-offcanvas .offcanvas-foot .oc-mandala {
  position: absolute;
  right: -120px;
  bottom: -130px;
  width: 320px;
  opacity: 0.14;
  pointer-events: none;
}
.bd-offcanvas .offcanvas-foot .label {
  display: block;
  margin-bottom: 8px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.bd-offcanvas .oc-contact {
  display: block;
  font-family: var(--bd-ff-heading);
  font-size: 23px;
  font-weight: 600;
  color: var(--bd-heading);
}
.bd-offcanvas .oc-moon {
  display: flex;
  margin: 16px 0 22px;
  color: var(--bd-text);
}
.oc-row {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/*======================
5. Custom Select
========================*/
/* Native selects stay in the form (value, name, submit); a styled button and
   listbox are drawn over them and keep them in sync. */
.bd-select {
  position: relative;
}
.bd-select > select {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0 !important;
}
.bd-select .select-button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  width: 100%;
  height: 58px;
  padding: 0 20px;
  border: 1px solid var(--bd-line-2);
  background: var(--bd-surface);
  font-size: 15px;
  text-align: left;
  color: var(--bd-heading);
  transition: border-color 0.3s var(--bd-ease);
}
.bd-select.is-open .select-button,
.bd-select .select-button:hover {
  border-color: var(--bd-gold);
}
.bd-select .select-button .select-value {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.bd-select .select-button i {
  flex-shrink: 0;
  font-size: 10px;
  color: var(--bd-accent);
  transition: transform 0.35s var(--bd-ease);
}
.bd-select.is-open .select-button i {
  transform: rotate(180deg);
}
.bd-select .select-list {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  z-index: 30;
  min-width: 100%;
  max-height: 340px;
  margin: 0;
  padding: 10px 0;
  overflow-x: hidden;
  overflow-y: auto;
  list-style: none;
  background-color: var(--bd-surface);
  border-top: 2px solid var(--bd-gold);
  box-shadow: var(--bd-shadow-lg);
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.3s var(--bd-ease), transform 0.3s var(--bd-ease), visibility 0.3s;
}
.bd-select.opens-up .select-list {
  top: auto;
  bottom: calc(100% + 8px);
  border-top: 0;
  border-bottom: 2px solid var(--bd-gold);
  transform: translateY(-10px);
}
.bd-select.is-open .select-list {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.bd-select .select-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 10px 20px;
  font-size: 15px;
  color: var(--bd-heading);
  white-space: nowrap;
  cursor: pointer;
  transition: background-color 0.2s var(--bd-ease), color 0.2s var(--bd-ease);
}
.bd-select .select-option .option-meta {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.bd-select .select-option .option-meta.is-none {
  color: var(--bd-muted);
}
.bd-select .select-option.is-focused,
.bd-select .select-option:hover {
  background-color: var(--bd-tonal);
}
.bd-select .select-option.is-disabled {
  cursor: not-allowed;
  opacity: 0.45;
}
.bd-select .select-option.is-selected {
  color: var(--bd-em);
}
.bd-select .select-option.is-selected::after {
  content: "\f00c";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 11px;
  color: var(--bd-accent);
}
.bd-select.is-compact .select-button {
  height: 46px;
  border: 0;
  border-radius: 23px;
  background: var(--bd-tonal);
  font-size: 14px;
  font-weight: 600;
}

/*======================
6. Home 01
========================*/
/*----- 6.1 Hero Slider -----*/
.bd-hero {
  position: relative;
  overflow: hidden;
  background: var(--bd-band);
}
.hero-one {
  height: 100vh;
  min-height: 860px;
  max-height: 1100px;
}
.hero-one .bd-hero-slider,
.hero-one .swiper-wrapper,
.hero-one .swiper-slide {
  height: 100%;
}
.hero-one .swiper-slide {
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.hero-media {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-one .hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 55% 50% at 50% 48%, rgba(var(--bd-night-rgb), 0.55), rgba(var(--bd-night-rgb), 0) 100%),
    linear-gradient(180deg, rgba(var(--bd-night-rgb), 0.7) 0%, rgba(var(--bd-night-rgb), 0.2) 32%, rgba(74, 18, 28, 0.55) 70%, rgba(var(--bd-night-rgb), 0.94) 100%);
}
.hero-one .hero-gl {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  mix-blend-mode: screen;
}
.hero-one .container {
  position: relative;
  z-index: 2;
}
.hero-one .hero-copy {
  max-width: 980px;
  margin: 0 auto;
  padding: 150px 0 150px;
  text-align: center;
}
.hero-copy .bd-eyebrow {
  margin-bottom: 26px;
}
.hero-title {
  margin-bottom: 28px;
  font-family: var(--bd-ff-heading);
  font-size: clamp(52px, 7vw, 116px);
  font-weight: 600;
  line-height: 0.96;
  letter-spacing: -0.02em;
  color: var(--bd-heading);
}
.hero-title .ln {
  display: block;
  white-space: nowrap;
}
.hero-title em {
  font-style: italic;
  font-weight: 500;
  color: var(--bd-em);
}
.hero-one .hero-copy p {
  max-width: 620px;
  margin: 0 auto 40px;
  font-size: 18px;
  line-height: 1.75;
}
.hero-one .bd-btn-group {
  justify-content: center;
}
.hero-controls {
  position: absolute;
  top: 50%;
  right: 46px;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  transform: translateY(-50%);
  color: var(--bd-heading);
}
.hero-controls button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px rgba(var(--bd-ivory-rgb), 0.4);
  color: var(--bd-ivory);
  font-size: 13px;
  transition: background-color 0.3s var(--bd-ease), color 0.3s var(--bd-ease), box-shadow 0.3s var(--bd-ease);
}
.hero-controls button:hover {
  background: var(--bd-gold);
  color: var(--bd-night);
  box-shadow: inset 0 0 0 1px var(--bd-gold);
}
.hero-count {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: rgba(var(--bd-ivory-rgb), 0.7);
}
.hero-count b {
  font-family: var(--bd-ff-heading);
  font-size: 26px;
  color: var(--bd-gold-light);
}

/*----- 6.2 Temple Dock -----*/
.bd-dock-area {
  position: relative;
  z-index: 5;
  margin-top: -128px;
}
.bd-dock {
  display: grid;
  grid-template-columns: 1.12fr 1.1fr 0.92fr;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-lg);
  outline: 1px solid var(--bd-gild);
  outline-offset: -10px;
}
.dock-part {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 46px 42px;
  border-right: 1px solid var(--bd-line);
}
.dock-part:last-child {
  border-right: 0;
}
.dock-part .bd-eyebrow {
  margin-bottom: 12px;
}
.dock-part h3 {
  margin-bottom: 20px;
  font-size: 30px;
  line-height: 1.12;
}
.dock-part h3 a {
  color: inherit;
}
.dock-part h3 a:hover {
  color: var(--bd-em);
}
.dock-event-row {
  display: flex;
  align-items: center;
  gap: 22px;
  margin-bottom: 22px;
}
.dock-meta li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 6px;
  font-size: 15px;
  line-height: 1.55;
}
.dock-meta i {
  margin-top: 5px;
  font-size: 13px;
  color: var(--bd-accent);
}
.dock-meta.is-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 22px;
  margin-bottom: 22px;
}
.dock-meta a {
  color: var(--bd-em);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.dock-countdown {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  width: 100%;
  margin-bottom: 26px;
  background: var(--bd-line);
  border: 1px solid var(--bd-line);
}
.dock-countdown span {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px 4px 10px;
  background: var(--bd-surface);
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bd-muted);
}
.dock-countdown b {
  font-family: var(--bd-ff-heading);
  font-size: 34px;
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: 0;
  color: var(--bd-heading);
  font-variant-numeric: tabular-nums;
}
.dock-audio {
  background: var(--bd-tonal);
}
.dock-links {
  display: flex;
  gap: 8px;
  margin-top: 22px;
}
.dock-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--bd-surface);
  box-shadow: inset 0 0 0 1px var(--bd-line);
  color: var(--bd-heading);
  font-size: 14px;
  transition: background-color 0.3s var(--bd-ease), color 0.3s var(--bd-ease);
}
.dock-links a:hover {
  background: var(--bd-primary);
  color: var(--bd-on-primary);
}
.dock-moon-row {
  display: flex;
  align-items: center;
  gap: 22px;
  margin: 6px 0 18px;
}
.dock-moon-row h3 {
  margin-bottom: 4px;
}
.dock-moon-date {
  margin: 0;
  font-size: 15px;
}
.dock-moon-date b {
  color: var(--bd-em);
}
.dock-moon-note {
  margin-bottom: 22px;
  font-size: 15px;
  line-height: 1.7;
}
.dock-moon .bd-link {
  margin-top: auto;
}
.bd-moon.is-lg {
  width: 78px;
  height: 78px;
  background: linear-gradient(140deg, #F6E1B4, var(--bd-gold));
  box-shadow: 0 0 0 9px rgba(var(--bd-gold-rgb), 0.12), 0 0 46px rgba(var(--bd-gold-rgb), 0.55);
}

/*----- 6.3 Audio Player -----*/
.bd-player {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  padding: 14px 16px 14px 14px;
  background: var(--bd-surface);
  box-shadow: inset 0 0 0 1px var(--bd-line);
}
.bd-player audio {
  display: none;
}
.pl-toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--bd-primary);
  color: var(--bd-on-primary);
  font-size: 15px;
  transition: background-color 0.3s var(--bd-ease);
}
.pl-toggle:hover {
  background: var(--bd-gold);
  color: var(--bd-night);
}
.pl-toggle .fa-play {
  margin-left: 3px;
}
.bd-player.is-playing .pl-toggle {
  box-shadow: 0 0 0 6px rgba(var(--bd-gold-rgb), 0.22);
}
.pl-body {
  flex: 1 1 auto;
  min-width: 0;
}
.pl-track {
  position: relative;
  height: 4px;
  border-radius: 2px;
  background: var(--bd-line-2);
  cursor: pointer;
  outline: none;
}
.pl-track:focus-visible {
  box-shadow: 0 0 0 3px rgba(var(--bd-gold-rgb), 0.35);
}
.pl-fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: 0;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--bd-primary), var(--bd-gold));
}
.pl-knob {
  position: absolute;
  top: 50%;
  left: 0;
  width: 14px;
  height: 14px;
  margin: -7px 0 0 -7px;
  border-radius: 50%;
  background: var(--bd-surface);
  box-shadow: 0 0 0 3px var(--bd-gold);
}
.pl-times {
  display: flex;
  justify-content: space-between;
  margin-top: 8px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--bd-muted);
  font-variant-numeric: tabular-nums;
}
.pl-mute {
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--bd-tonal);
  color: var(--bd-heading);
  font-size: 13px;
}
.pl-mute:hover {
  color: var(--bd-accent-text);
}

/*----- 6.4 About Rings -----*/
.bd-about-one .bd-section-title {
  margin-bottom: 40px;
}
.about-rings {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
  padding-top: 34px;
  border-top: 1px solid var(--bd-line-2);
}
.about-rings .ring-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
}
.about-rings .bd-ring {
  --bd-ring-hole: var(--bd-bg);
}
.about-rings h3 {
  margin-bottom: 6px;
  font-family: var(--bd-ff-heading);
  font-size: 25px;
  font-weight: 600;
}
.about-rings p {
  margin: 0;
  font-size: 15px;
}
.about-sign {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 40px;
}
.about-sign img {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 3px var(--bd-bg), 0 0 0 4px var(--bd-gold);
}
.about-sign b {
  display: block;
  font-family: var(--bd-ff-heading);
  font-size: 26px;
  font-style: italic;
  font-weight: 500;
  line-height: 1.1;
  color: var(--bd-heading);
}
.about-sign span {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.about-media {
  position: relative;
  height: 640px;
}
.about-mandala {
  position: absolute;
  top: -40px;
  left: -60px;
  width: 470px;
  opacity: 0.22;
}
[data-theme="dark"] .about-mandala {
  opacity: 0.12;
}
.about-photo-main {
  position: absolute;
  top: 0;
  right: 0;
  width: 64%;
}
.about-photo-main img {
  width: 100%;
  height: 500px;
  object-fit: cover;
}
.about-photo-sub {
  position: absolute;
  left: 22%;
  bottom: 0;
  width: 42%;
  padding: 10px;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-lg);
}
.about-photo-sub img {
  width: 100%;
  height: 230px;
  object-fit: cover;
}
.about-buddha {
  left: -26px;
  top: 150px;
  width: 250px;
}

/*----- 6.5 Support Strip -----*/
/* the strip straddles the section above and the dark band: half of it rises over the light ground */
.bd-support-strip {
  --strip-rise: 74px;
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  margin: calc(var(--strip-rise) * -1) 0 100px;
  padding: 38px 56px;
  overflow: hidden;
  isolation: isolate;
  background: var(--bd-maroon);
  box-shadow: var(--bd-shadow-lg);
  outline: 1px solid rgba(var(--bd-gold-rgb), 0.5);
  outline-offset: -9px;
}
.bd-support-strip .strip-mandala {
  position: absolute;
  top: 50%;
  right: 160px;
  z-index: -1;
  width: 420px;
  opacity: 0.16;
  transform: translateY(-50%);
}
.bd-support-strip h4 {
  margin-bottom: 4px;
  font-size: 32px;
}
.bd-support-strip p {
  margin: 0;
}
/* the section above makes room for the strip's rise, so its own content keeps a full bottom space */
.bd-about-one.is-before-strip {
  padding-bottom: calc(120px + 74px);
}

/*----- 6.6 Path Of The Dharma -----*/
.bd-dharma-path {
  position: relative;
  isolation: isolate;
  /* a block formatting context: the strip's negative margin lifts the strip, not the whole band */
  display: flow-root;
  background: var(--bd-band);
}
.bd-dharma-path > .bd-gl {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.path-head .bd-lead {
  max-width: 470px;
  margin: 0 0 6px;
}
.path-map {
  position: relative;
  max-width: 1180px;
  margin: 0 auto;
}
.path-map-img {
  width: 100%;
  opacity: 0.42;
}
.path-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.path-origin,
.path-dot {
  position: absolute;
  z-index: 2;
  width: 14px;
  height: 14px;
  margin: -7px 0 0 -7px;
  border-radius: 50%;
  background: rgba(var(--bd-ivory-rgb), 0.35);
  box-shadow: 0 0 0 3px rgba(var(--bd-night-rgb), 0.9);
  transition: background-color 0.4s var(--bd-ease), transform 0.4s var(--bd-ease), box-shadow 0.4s var(--bd-ease);
}
.path-dot.is-lit {
  background: var(--bd-gold);
  box-shadow: 0 0 0 3px rgba(var(--bd-night-rgb), 0.9), 0 0 18px rgba(var(--bd-gold-rgb), 0.8);
  transform: scale(1.15);
}
.path-origin {
  width: 18px;
  height: 18px;
  margin: -9px 0 0 -9px;
  background: var(--bd-gold-light);
}
.path-origin i {
  position: absolute;
  inset: -9px;
  border-radius: 50%;
  border: 2px solid var(--bd-gold);
  animation: bdPulse 2.2s ease-out infinite;
}
.path-dot b {
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  padding: 4px 11px;
  background: var(--bd-gold);
  color: var(--bd-night);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.04em;
  white-space: nowrap;
  opacity: 0;
  transform: translate(-50%, 6px);
  transition: opacity 0.4s var(--bd-ease), transform 0.4s var(--bd-ease);
  pointer-events: none;
}
.path-dot.is-current b {
  opacity: 1;
  transform: translate(-50%, 0);
}
.path-stops {
  display: grid;
  grid-template-columns: repeat(9, 1fr);
  margin-top: 44px;
  border-top: 1px solid var(--bd-line-2);
}
.path-stops li {
  position: relative;
  padding: 24px 12px 0 0;
  opacity: 0.45;
  transition: opacity 0.5s var(--bd-ease);
}
.path-stops li::before {
  content: "";
  position: absolute;
  top: -2px;
  left: 0;
  right: 16px;
  height: 3px;
  background: var(--bd-gold);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.7s var(--bd-ease);
}
.path-stops li.is-lit {
  opacity: 1;
}
.path-stops li.is-lit::before {
  transform: scaleX(1);
}
.path-stops b {
  display: block;
  font-family: var(--bd-ff-heading);
  font-size: 25px;
  font-style: italic;
  font-weight: 600;
  line-height: 1.15;
  color: var(--bd-gold-light);
}
.path-stops span {
  display: block;
  margin-top: 4px;
  font-size: 15px;
  font-weight: 600;
  color: var(--bd-heading);
}
.path-stops small {
  display: block;
  font-size: 13px;
  line-height: 1.5;
  color: var(--bd-muted);
}

/*----- 6.7 What We Provide -----*/
.provide-list li a {
  display: grid;
  grid-template-columns: 64px 1fr 34px;
  align-items: start;
  gap: 10px;
  padding: 28px 0;
  border-top: 1px solid var(--bd-line-2);
  color: var(--bd-text);
}
.provide-list li:last-child a {
  border-bottom: 1px solid var(--bd-line-2);
}
.provide-list .num {
  padding-top: 10px;
  font-family: var(--bd-ff-heading);
  font-size: 22px;
  font-style: italic;
  font-weight: 600;
  color: var(--bd-accent-text);
}
.provide-list .txt b {
  display: block;
  font-family: var(--bd-ff-heading);
  font-size: 46px;
  font-weight: 600;
  line-height: 1.1;
  color: rgba(var(--bd-heading-rgb), 0.32);
  transition: color 0.45s var(--bd-ease);
}
.provide-list .txt span {
  display: block;
  max-height: 0;
  overflow: hidden;
  font-size: 15.5px;
  line-height: 1.75;
  opacity: 0;
  transition: max-height 0.6s var(--bd-ease), opacity 0.5s var(--bd-ease), margin 0.5s var(--bd-ease);
}
.provide-list li > a > i {
  padding-top: 20px;
  font-size: 14px;
  color: var(--bd-accent);
  transition: transform 0.4s var(--bd-ease);
}
.provide-list li.is-active .txt b {
  color: var(--bd-heading);
}
.provide-list li.is-active .txt span {
  max-height: 120px;
  margin-top: 10px;
  opacity: 1;
}
.provide-list li.is-active > a > i {
  transform: rotate(-45deg);
}
.provide-media {
  position: relative;
  height: 540px;
  margin: 0 0 24px 24px;
}
.provide-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transform: scale(1.05);
  transition: opacity 0.9s var(--bd-ease), transform 1.6s var(--bd-ease);
}
.provide-media img.is-shown {
  opacity: 1;
  transform: scale(1);
}
.provide-glyph {
  position: absolute;
  top: -34px;
  right: -34px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 118px;
  height: 118px;
  border-radius: 50%;
  background: var(--bd-maroon);
  color: var(--bd-gold-light);
  font-size: 52px;
  box-shadow: 0 0 0 10px var(--bd-surface), 0 20px 40px rgba(var(--bd-night-rgb), 0.25);
}

/*----- 6.8 Community Band -----*/
.bd-community-band {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--bd-maroon-deep);
}
.bd-community-band > .bd-gl {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
}
.bd-community-band .band-mandala {
  position: absolute;
  top: -200px;
  right: -220px;
  z-index: -1;
  width: 760px;
  opacity: 0.12;
}
.community-card {
  position: relative;
}
.community-card > a {
  display: block;
}
.community-card img {
  width: 100%;
  height: 480px;
  object-fit: cover;
}
.community-caption {
  position: absolute;
  left: 30px;
  right: 30px;
  bottom: 0;
  z-index: 3;
  padding: 24px 30px;
  background: var(--bd-surface);
  transition: transform 0.5s var(--bd-ease);
}
.community-card:hover .community-caption {
  transform: translateY(-12px);
}
.community-caption span {
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.community-caption h3 {
  font-size: 30px;
}
.community-caption h3 a {
  color: var(--bd-heading);
}
.community-caption h3 a:hover {
  color: var(--bd-em);
}

/*----- 6.9 FAQ & Accordion -----*/
.faq-art {
  position: relative;
  max-width: 520px;
  margin: 0 auto;
}
.faq-art::before {
  content: "";
  position: absolute;
  inset: 10% 6%;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(var(--bd-gold-rgb), 0.22), rgba(var(--bd-gold-rgb), 0));
}
.faq-art .float-mid,
.faq-art .float-in {
  position: relative;
  display: block;
}
.bd-accordion {
  border-top: 1px solid var(--bd-line-2);
}
.bd-accordion .acc-item {
  border-bottom: 1px solid var(--bd-line-2);
}
.acc-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  padding: 24px 0;
  font-family: var(--bd-ff-heading);
  font-size: 25px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--bd-heading);
  text-align: left;
  transition: color 0.3s var(--bd-ease);
}
.acc-head i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px var(--bd-line-2);
  font-size: 12px;
  color: var(--bd-accent);
  transition: transform 0.35s var(--bd-ease), background-color 0.3s var(--bd-ease), color 0.3s var(--bd-ease);
}
.acc-head:hover {
  color: var(--bd-em);
}
.acc-item.is-open .acc-head {
  color: var(--bd-em);
}
.acc-item.is-open .acc-head i {
  background: var(--bd-primary);
  box-shadow: none;
  color: var(--bd-on-primary);
  transform: rotate(45deg);
}
.acc-body {
  padding: 0 60px 26px 0;
  font-size: 16px;
}

/*----- 6.10 Video Band -----*/
.bd-video-band {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 190px 0;
  text-align: center;
}
.bd-video-band .band-photo {
  position: absolute;
  inset: 0;
  z-index: -3;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bd-video-band::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: linear-gradient(0deg, rgba(var(--bd-night-rgb), 0.92) 0%, rgba(74, 18, 28, 0.62) 50%, rgba(var(--bd-night-rgb), 0.82) 100%);
}
.bd-video-band > .bd-gl {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  mix-blend-mode: screen;
}
.bd-video-band h2 {
  margin-bottom: 46px;
}
.bd-play {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 116px;
  height: 116px;
  border-radius: 50%;
  background: var(--bd-gold);
  color: var(--bd-night);
  font-size: 26px;
  transition: transform 0.4s var(--bd-ease), background-color 0.3s var(--bd-ease);
}
.bd-play::before,
.bd-play::after {
  content: "";
  position: absolute;
  inset: -16px;
  border-radius: 50%;
  border: 1px solid rgba(var(--bd-gold-rgb), 0.7);
  animation: bdPulse 2.8s ease-out infinite;
}
.bd-play::after {
  animation-delay: 1.4s;
}
.bd-play i {
  margin-left: 5px;
}
.bd-play:hover {
  background: var(--bd-ivory);
  color: var(--bd-night);
  transform: scale(1.06);
}

/*----- 6.11 Retreat Cards -----*/
.retreat-card {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow);
  transition: transform 0.5s var(--bd-ease), box-shadow 0.5s var(--bd-ease);
}
.retreat-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--bd-shadow-lg);
}
.retreat-media img {
  width: 100%;
  height: 330px;
  object-fit: cover;
}
.retreat-top {
  position: absolute;
  top: 26px;
  left: 26px;
  right: 26px;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  gap: 10px;
}
.retreat-nights {
  padding: 6px 15px;
  border-radius: 20px;
  background: var(--bd-gold);
  color: var(--bd-night);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.retreat-from {
  padding: 6px 15px;
  border-radius: 20px;
  background: rgba(var(--bd-night-rgb), 0.55);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  color: var(--bd-ivory);
  font-size: 12.5px;
}
.retreat-from b {
  font-weight: 700;
}
.retreat-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 32px 34px 30px;
}
.retreat-body h3 {
  margin-bottom: 10px;
  font-size: 31px;
}
.retreat-body h3 a {
  color: inherit;
}
.retreat-body h3 a:hover {
  color: var(--bd-em);
}
.retreat-body > p {
  font-size: 15px;
}
.retreat-facts {
  margin-top: auto;
}
.retreat-facts li {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 0;
  border-top: 1px solid var(--bd-line);
  font-size: 14px;
}
.retreat-facts span {
  color: var(--bd-muted);
}
.retreat-facts b {
  font-weight: 600;
  color: var(--bd-heading);
  text-align: right;
}

/*----- 6.12 Post Cards -----*/
.post-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.post-thumb {
  display: block;
  overflow: hidden;
}
.post-thumb img {
  width: 100%;
  height: 280px;
  object-fit: cover;
}
.post-body {
  position: relative;
  z-index: 3;
  flex: 1 1 auto;
  margin: -60px 24px 0;
  padding: 28px 30px 26px;
  border-top: 2px solid var(--bd-gold);
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow);
  transition: transform 0.5s var(--bd-ease), box-shadow 0.5s var(--bd-ease);
}
.post-card:hover .post-body {
  transform: translateY(-8px);
  box-shadow: var(--bd-shadow-lg);
}
.post-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px;
  margin-bottom: 12px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.post-meta i {
  margin-right: 5px;
  color: var(--bd-accent);
}
.post-body h3 {
  margin-bottom: 18px;
  font-size: 27px;
}
.post-body h3 a {
  color: var(--bd-heading);
}
.post-body h3 a:hover {
  color: var(--bd-em);
}
.post-author {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 16px;
  border-top: 1px solid var(--bd-line);
  font-size: 14px;
  color: var(--bd-text);
}
.post-author img {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  object-fit: cover;
}
.post-author b {
  font-weight: 600;
  color: var(--bd-heading);
}

/*======================
7. Home 02
========================*/
/*----- 7.1 Cut-Out Hero -----*/
.hero-two {
  height: 100vh;
  min-height: 880px;
  max-height: 1060px;
  background: var(--bd-bg);
}
.hero-two .bd-hero-slider,
.hero-two .swiper-wrapper,
.hero-two .swiper-slide {
  height: 100%;
}
.hero-two .swiper-slide {
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.hero-two .hero-media img {
  opacity: 0.16;
  filter: grayscale(0.4) sepia(0.4);
}
[data-theme="dark"] .hero-two .hero-media img {
  opacity: 0.1;
}
.hero-two > .bd-gl {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  --gl-1: #F7F1E8;
  --gl-2: #EADBC5;
  --gl-3: #C9973F;
  --gl-alpha: 0.7;
}
[data-theme="dark"] .hero-two > .bd-gl {
  --gl-1: #130B0C;
  --gl-2: #3A121B;
  --gl-3: #DDB46A;
  --gl-alpha: 0.85;
}
.hero-two .bd-hero-slider {
  z-index: 1;
}
.hero-two .container {
  position: relative;
  z-index: 2;
}
.hero-two-grid {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  align-items: center;
  gap: 40px;
  padding-top: 150px;
}
.hero-card {
  position: relative;
  padding: 62px 60px 60px;
  background: var(--bd-maroon);
  box-shadow: 0 46px 90px rgba(var(--bd-maroon-rgb), 0.32);
  outline: 1px solid rgba(var(--bd-gold-rgb), 0.55);
  outline-offset: -12px;
}
.hero-card .hero-title {
  margin-bottom: 28px;
  font-size: clamp(44px, 4.5vw, 74px);
}
.hero-card .bd-quote-line {
  max-width: 480px;
  font-size: 20px;
}
.hero-figure {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero-figure .hero-halo {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 118%;
  max-width: 640px;
  opacity: 0.28;
  transform: translate(-50%, -50%);
}
.hero-figure::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 78%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(var(--bd-gold-rgb), 0.38), rgba(var(--bd-gold-rgb), 0));
  transform: translate(-50%, -50%);
}
.hero-figure > img {
  position: relative;
  width: auto;
  max-height: 600px;
  filter: drop-shadow(0 34px 44px rgba(var(--bd-night-rgb), 0.28));
}
.hero-two .hero-controls {
  color: var(--bd-heading);
}
.hero-two .hero-controls button {
  box-shadow: inset 0 0 0 1px var(--bd-line-2);
  color: var(--bd-heading);
}
.hero-two .hero-controls button:hover {
  background: var(--bd-primary);
  color: var(--bd-on-primary);
  box-shadow: inset 0 0 0 1px var(--bd-primary);
}
.hero-two .hero-count {
  color: var(--bd-muted);
}
.hero-two .hero-count b {
  color: var(--bd-em);
}

/*----- 7.2 The Three Jewels -----*/
.bd-jewels-area {
  position: relative;
  z-index: 4;
  margin-top: -90px;
}
.bd-jewels {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  box-shadow: var(--bd-shadow-lg);
}
.jewel {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 56px 44px 50px;
  overflow: hidden;
  background: var(--bd-surface);
  text-align: center;
}
.jewel-num {
  position: absolute;
  top: 6px;
  right: 22px;
  font-family: var(--bd-ff-heading);
  font-size: 120px;
  font-style: italic;
  font-weight: 600;
  line-height: 1;
  color: rgba(var(--bd-gold-rgb), 0.14);
  pointer-events: none;
}
.jewel .bd-glyph {
  margin-bottom: 26px;
}
.jewel-no {
  margin-bottom: 8px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.jewel h3 {
  margin-bottom: 16px;
  font-size: 38px;
}
.jewel p {
  font-size: 15.5px;
}
.jewel .bd-link {
  margin-top: auto;
}
.jewel.is-maroon {
  background: var(--bd-maroon);
  outline: 1px solid rgba(var(--bd-gold-rgb), 0.5);
  outline-offset: -10px;
}
.jewel.is-night {
  background: var(--bd-band);
}
.jewel.is-dark .bd-glyph {
  background: rgba(var(--bd-ivory-rgb), 0.08);
}
.jewel.is-dark.bd-card:hover .bd-glyph {
  background: var(--bd-gold);
  color: var(--bd-night);
}

/*----- 7.3 About With Badge -----*/
.about-two-figure {
  position: relative;
  max-width: 480px;
  margin: 0 auto;
}
.about-two-ring {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 94%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle at 50% 40%, rgba(var(--bd-gold-rgb), 0.28), rgba(var(--bd-gold-rgb), 0.08) 70%);
  box-shadow: inset 0 0 0 1px rgba(var(--bd-gold-rgb), 0.45);
  transform: translateX(-50%);
}
.about-two-ring::after {
  content: "";
  position: absolute;
  inset: -18px;
  border-radius: 50%;
  border: 1px dashed rgba(var(--bd-gold-rgb), 0.5);
}
.about-two-man {
  position: relative;
  width: 100%;
}
.about-badge {
  position: absolute;
  top: 6%;
  left: -8%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 176px;
  height: 176px;
  border-radius: 50%;
  background: var(--bd-maroon);
  box-shadow: 0 0 0 10px var(--bd-bg), 0 0 0 11px rgba(var(--bd-gold-rgb), 0.6);
  color: rgba(var(--bd-ivory-rgb), 0.86);
  text-align: center;
}
.about-badge b {
  font-family: var(--bd-ff-heading);
  font-size: 64px;
  font-weight: 600;
  line-height: 0.9;
  color: var(--bd-ivory);
}
.about-badge small {
  font-size: 34px;
  color: var(--bd-gold-light);
}
.about-badge > span {
  max-width: 110px;
  margin-top: 6px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.4;
  text-transform: uppercase;
}
.about-two-copy {
  padding-bottom: 70px;
}
.bd-defs {
  margin: 0 0 34px;
}
.bd-defs > div {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 20px;
  padding: 18px 0;
  border-top: 1px solid var(--bd-line);
}
.bd-defs > div:last-child {
  border-bottom: 1px solid var(--bd-line);
}
.bd-defs dt {
  font-family: var(--bd-ff-heading);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--bd-heading);
}
.bd-defs dd {
  margin: 0;
  font-size: 15.5px;
}
.bd-help-panels {
  display: grid;
  grid-template-columns: 1fr auto 1.2fr;
  align-items: stretch;
}
.help-call {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 38px 48px;
  background: var(--bd-maroon);
}
.help-call span {
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bd-gold-light);
}
.help-call a {
  font-family: var(--bd-ff-heading);
  font-size: 40px;
  font-weight: 600;
  color: var(--bd-ivory);
}
.help-call a:hover {
  color: var(--bd-gold-light);
}
.help-or {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: 58px;
  height: 58px;
  margin: 0 -29px;
  border-radius: 50%;
  background: var(--bd-gold);
  box-shadow: 0 0 0 6px var(--bd-bg);
  font-family: var(--bd-ff-heading);
  font-size: 20px;
  font-style: italic;
  font-weight: 600;
  color: var(--bd-night);
}
.help-news {
  padding: 32px 48px 32px 60px;
  background: var(--bd-band);
}
.help-news label {
  display: block;
  margin-bottom: 12px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bd-gold-light);
}
.news-row {
  display: flex;
  border-bottom: 1px solid rgba(var(--bd-ivory-rgb), 0.3);
}
.news-row input {
  flex: 1 1 auto;
  min-width: 0;
  height: 54px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--bd-ivory);
  font-family: var(--bd-ff-heading);
  font-size: 22px;
  outline: none;
}
.news-row input::placeholder {
  color: rgba(var(--bd-ivory-rgb), 0.5);
}
.news-row button {
  width: 50px;
  color: var(--bd-gold-light);
  font-size: 18px;
  transition: transform 0.3s var(--bd-ease);
}
.news-row button:hover {
  transform: translateX(4px);
}
.help-news .form-status {
  margin-top: 8px;
  color: var(--bd-ivory);
}

/*----- 7.4 The Eightfold Path -----*/
.eightfold-head {
  position: sticky;
  top: 140px;
}
.eightfold-trainings li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 16px 0;
  border-top: 1px solid var(--bd-line-2);
}
.eightfold-trainings li:last-child {
  border-bottom: 1px solid var(--bd-line-2);
}
.eightfold-trainings b {
  font-family: var(--bd-ff-heading);
  font-size: 26px;
  font-weight: 600;
  color: var(--bd-heading);
}
.eightfold-trainings span {
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.eightfold-wheel {
  width: 320px;
  margin: 54px 0 0 -40px;
  opacity: 0.2;
}
.eightfold-stack {
  position: relative;
  padding-bottom: 20px;
}
.path-card {
  position: sticky;
  top: 140px;
  display: grid;
  grid-template-columns: 96px 1fr auto;
  align-items: center;
  gap: 30px;
  min-height: 220px;
  margin-bottom: 50px;
  padding: 44px 48px;
  background: var(--bd-surface);
  box-shadow: 0 -12px 44px rgba(var(--bd-night-rgb), 0.08);
  outline: 1px solid var(--bd-gild);
  outline-offset: -10px;
  transform-origin: 50% 0;
}
.path-card:nth-child(2) {
  top: 156px;
}
.path-card:nth-child(3) {
  top: 172px;
}
.path-card:nth-child(4) {
  top: 188px;
}
.path-card:nth-child(5) {
  top: 204px;
}
.path-card:nth-child(6) {
  top: 220px;
}
.path-card:nth-child(7) {
  top: 236px;
}
.path-card:nth-child(8) {
  top: 252px;
  margin-bottom: 0;
}
.path-card:nth-child(even) {
  background: var(--bd-maroon);
  --bd-heading: #F4E8D8;
  --bd-text: rgba(244, 232, 216, 0.76);
  --bd-accent-text: #DDB46A;
  color: var(--bd-text);
}
.path-card:nth-child(even) .path-num {
  color: var(--bd-gold-light);
}
.path-card:nth-child(even) .bd-glyph {
  background: rgba(var(--bd-ivory-rgb), 0.1);
  color: var(--bd-gold-light);
}
.path-num {
  font-family: var(--bd-ff-heading);
  font-size: 80px;
  font-style: italic;
  font-weight: 600;
  line-height: 0.9;
  color: var(--bd-gold);
}
.path-training {
  display: block;
  margin-bottom: 6px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.path-copy h3 {
  margin-bottom: 8px;
  font-size: 36px;
}
.path-copy p {
  margin: 0;
  font-size: 15.5px;
}
.path-card .bd-glyph {
  width: 72px;
  height: 72px;
  font-size: 34px;
}

/*----- 7.5 Cause Cards -----*/
.cause-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow);
  transition: transform 0.5s var(--bd-ease), box-shadow 0.5s var(--bd-ease);
}
.cause-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--bd-shadow-lg);
}
.cause-media {
  position: relative;
  display: block;
}
.cause-media img {
  width: 100%;
  height: 230px;
  object-fit: cover;
}
.cause-type {
  position: absolute;
  top: 24px;
  left: 24px;
  z-index: 3;
  padding: 5px 14px;
  border-radius: 20px;
  background: var(--bd-gold);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--bd-night);
}
.cause-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1 1 auto;
  padding: 32px 34px 34px;
}
.cause-body h3 {
  margin-bottom: 10px;
  font-size: 31px;
}
.cause-body h3 a {
  color: inherit;
}
.cause-body h3 a:hover {
  color: var(--bd-em);
}
.cause-body > p {
  font-size: 15px;
}
.cause-figures {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: auto 0 12px;
  font-size: 14px;
  color: var(--bd-muted);
}
.cause-figures b {
  font-family: var(--bd-ff-heading);
  font-size: 22px;
  font-weight: 600;
  color: var(--bd-heading);
}
.cause-card .bd-meter {
  width: 100%;
}
.cause-foot {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: 12px 0 24px;
  font-size: 13px;
  font-weight: 600;
}
.cause-pct {
  color: var(--bd-em);
}
.cause-left i {
  margin-right: 4px;
  color: var(--bd-accent);
}

/*----- 7.6 Broadcast -----*/
.broadcast-main {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  align-items: center;
  margin-bottom: 34px;
}
.broadcast-video {
  position: relative;
  display: block;
  overflow: hidden;
}
.broadcast-video img {
  width: 100%;
  height: 500px;
  object-fit: cover;
  transition: transform 1.2s var(--bd-ease);
}
.broadcast-video:hover img {
  transform: scale(1.05);
}
.broadcast-video .bd-play {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  width: 96px;
  height: 96px;
  margin: -48px 0 0 -48px;
}
.broadcast-card {
  position: relative;
  z-index: 2;
  margin-left: -70px;
  padding: 50px 50px;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-lg);
  outline: 1px solid var(--bd-gild);
  outline-offset: -10px;
}
.broadcast-date {
  display: block;
  margin-bottom: 6px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.broadcast-card h3 {
  margin-bottom: 14px;
  font-size: 38px;
}
.broadcast-card .bd-kv {
  margin-bottom: 30px;
}
.live-badge {
  position: absolute;
  top: 30px;
  right: 30px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 14px;
  border-radius: 20px;
  background: var(--bd-tonal);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--bd-muted);
}
.live-badge i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--bd-muted);
}
.live-badge.is-live {
  background: rgba(var(--bd-ember-rgb), 0.12);
  color: var(--bd-ember);
}
.live-badge.is-live i {
  background: var(--bd-ember);
  animation: bdBlink 1.2s ease-in-out infinite;
}
@keyframes bdBlink {
  50% {
    opacity: 0.3;
  }
}
.video-thumb {
  display: block;
}
.vt-media {
  position: relative;
  display: block;
}
.vt-media img {
  width: 100%;
  height: 190px;
  object-fit: cover;
}
.vt-media i {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin: -24px 0 0 -24px;
  padding-left: 3px;
  border-radius: 50%;
  background: var(--bd-gold);
  color: var(--bd-night);
  font-size: 13px;
  transition: transform 0.4s var(--bd-ease);
}
.video-thumb:hover .vt-media i {
  transform: scale(1.14);
}
.vt-title {
  display: block;
  margin-top: 16px;
  font-family: var(--bd-ff-heading);
  font-size: 23px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--bd-heading);
}
.video-thumb:hover .vt-title {
  color: var(--bd-em);
}

/*----- 7.7 Gallery & Filter Tabs -----*/
.bd-filter-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.bd-filter-tabs button {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 11px 20px;
  border-radius: 26px;
  background: var(--bd-tonal);
  font-size: 13.5px;
  font-weight: 600;
  color: var(--bd-heading);
  transition: background-color 0.3s var(--bd-ease), color 0.3s var(--bd-ease);
}
.bd-filter-tabs button span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  border-radius: 11px;
  background: var(--bd-surface);
  font-size: 11px;
  color: var(--bd-accent-text);
}
.bd-filter-tabs button:hover {
  background: var(--bd-tonal-2);
}
.bd-filter-tabs button.is-active {
  background: var(--bd-primary);
  color: var(--bd-on-primary);
}
[data-filter-grid] > .is-hidden {
  display: none;
}
.gallery-item {
  position: relative;
  display: block;
  overflow: hidden;
}
.gallery-item img {
  width: 100%;
  height: 440px;
  object-fit: cover;
}
.gallery-cap {
  position: absolute;
  left: 30px;
  right: 30px;
  bottom: 28px;
  z-index: 3;
  color: rgba(var(--bd-ivory-rgb), 0.86);
  font-size: 14px;
  line-height: 1.5;
}
.gallery-cap b {
  display: block;
  font-family: var(--bd-ff-heading);
  font-size: 30px;
  font-weight: 600;
  color: var(--bd-ivory);
}
.gallery-zoom {
  position: absolute;
  top: 26px;
  right: 26px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--bd-gold);
  color: var(--bd-night);
  font-size: 14px;
  opacity: 0;
  transform: scale(0.7);
  transition: opacity 0.4s var(--bd-ease), transform 0.4s var(--bd-ease);
}
.gallery-item:hover .gallery-zoom {
  opacity: 1;
  transform: scale(1);
}

/*----- 7.8 Volunteer Band -----*/
.bd-volunteer-band,
.bd-news-band {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--bd-band);
}
.bd-volunteer-band .band-photo,
.bd-news-band .band-photo {
  position: absolute;
  inset: 0;
  z-index: -3;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bd-volunteer-band::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: linear-gradient(0deg, rgba(var(--bd-night-rgb), 0.97) 0%, rgba(var(--bd-night-rgb), 0.82) 55%, rgba(74, 18, 28, 0.72) 100%);
}
.bd-volunteer-band > .bd-gl {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  mix-blend-mode: screen;
  --gl-2: #F1D9A8;
  --gl-3: #DDB46A;
  --gl-alpha: 0.28;
}
.volunteer-round {
  text-align: center;
}
.vr-photo {
  position: relative;
  width: 210px;
  height: 210px;
  margin: 0 auto 24px;
  border-radius: 50%;
  box-shadow: 0 0 0 6px rgba(var(--bd-ivory-rgb), 0.08), 0 0 0 7px rgba(var(--bd-gold-rgb), 0.35);
  transition: box-shadow 0.45s var(--bd-ease);
}
.vr-photo img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  object-position: center top;
}
.volunteer-round:hover .vr-photo {
  box-shadow: 0 0 0 6px rgba(var(--bd-gold-rgb), 0.25), 0 0 0 7px var(--bd-gold);
}
.vr-social {
  position: absolute;
  left: 50%;
  bottom: -16px;
  display: flex;
  gap: 6px;
  transform: translateX(-50%);
}
.vr-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--bd-gold);
  color: var(--bd-night);
  font-size: 12px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.35s var(--bd-ease), transform 0.35s var(--bd-ease), background-color 0.3s var(--bd-ease);
}
.vr-social a:nth-child(2) {
  transition-delay: 0.05s;
}
.vr-social a:nth-child(3) {
  transition-delay: 0.1s;
}
.volunteer-round:hover .vr-social a,
.vr-social a:focus {
  opacity: 1;
  transform: translateY(0);
}
.vr-social a:hover {
  background: var(--bd-ivory);
  color: var(--bd-night);
}
.vr-role {
  display: block;
  margin-top: 16px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bd-gold-light);
}
.volunteer-round h3 {
  font-size: 32px;
}

/*----- 7.9 Testimonials With Cut-Outs -----*/
.quote-panel {
  position: relative;
  margin-top: 140px;
  padding: 128px 60px 56px;
  background: var(--bd-maroon);
  outline: 1px solid rgba(var(--bd-gold-rgb), 0.5);
  outline-offset: -12px;
}
.quote-panel .bd-cutout {
  z-index: 3;
}
.quote-buddha {
  top: -156px;
  left: 50%;
  width: 260px;
  margin-left: -130px;
}
.quote-lamp {
  top: -38px;
  left: 11%;
  width: 156px;
}
.quote-bell {
  top: -62px;
  right: 11%;
  width: 120px;
}
.quote-item {
  margin: 0;
}
.quote-item > i {
  margin-bottom: 18px;
  font-size: 30px;
  color: var(--bd-gold-light);
}
.quote-item p {
  margin-bottom: 30px;
  font-family: var(--bd-ff-heading);
  font-size: 29px;
  font-style: italic;
  line-height: 1.4;
  color: var(--bd-ivory);
}
.quote-item footer {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bd-gold-light);
}
.quote-item footer img {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 3px var(--bd-maroon), 0 0 0 4px var(--bd-gold);
}
.quote-item footer b {
  display: block;
  font-family: var(--bd-ff-heading);
  font-size: 23px;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  color: var(--bd-ivory);
}
.quote-dots {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 8px;
}
.quote-dots .swiper-pagination-bullet {
  width: 28px;
  height: 3px;
  margin: 0;
  border-radius: 0;
  background: rgba(var(--bd-ivory-rgb), 0.35);
  opacity: 1;
}
.quote-dots .swiper-pagination-bullet-active {
  background: var(--bd-gold);
}

/*----- 7.10 News Band -----*/
.bd-news-band::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: linear-gradient(0deg, rgba(var(--bd-night-rgb), 0.96), rgba(var(--bd-night-rgb), 0.82));
}

/*======================
8. Home 03
========================*/
/*----- 8.1 Stone Hero -----*/
.hero-three {
  height: 820px;
  background: var(--bd-bg);
}
.hero-three .bd-hero-slider,
.hero-three .swiper-wrapper,
.hero-three .swiper-slide {
  height: 100%;
}
.hero-three .swiper-slide {
  position: relative;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--bd-bg);
}
.hero-three .hero-media {
  left: 32%;
}
.hero-three .hero-media img {
  filter: brightness(var(--bd-photo-dim));
}
.hero-three .hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(var(--bd-bg-rgb), 1) 0%, rgba(var(--bd-bg-rgb), 0.55) 22%, rgba(var(--bd-bg-rgb), 0) 52%),
    linear-gradient(0deg, rgba(var(--bd-maroon-rgb), 0.35) 0%, rgba(var(--bd-maroon-rgb), 0) 36%);
}
.hero-three .hero-media::before {
  content: "";
  position: absolute;
  top: 40px;
  bottom: 40px;
  right: 40px;
  left: 18%;
  z-index: 1;
  border: 1px solid rgba(255, 244, 222, 0.6);
  pointer-events: none;
}
.hero-three .container {
  position: relative;
  z-index: 2;
}
.hero-three .hero-copy {
  max-width: 640px;
}
.hero-three .hero-title {
  font-size: clamp(46px, 5vw, 82px);
}
.hero-three .bd-quote-line {
  max-width: 520px;
  margin-bottom: 38px;
}
.hero-onair {
  position: absolute;
  right: 80px;
  bottom: 80px;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 18px;
  max-width: 380px;
  padding: 22px 26px;
  background: rgba(var(--bd-night-rgb), 0.72);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  outline: 1px solid rgba(var(--bd-gold-rgb), 0.45);
  outline-offset: -7px;
}
.hero-onair .live-badge {
  position: static;
  flex: 0 0 auto;
}
.hero-onair b {
  display: block;
  font-family: var(--bd-ff-heading);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--bd-ivory);
}
.hero-onair span.when {
  font-size: 13.5px;
  color: rgba(var(--bd-ivory-rgb), 0.72);
}
.hero-three .hero-controls {
  top: auto;
  bottom: 96px;
  right: auto;
  left: 50%;
  flex-direction: row;
  transform: none;
  margin-left: -660px;
  color: var(--bd-heading);
}
.hero-three .hero-controls button {
  box-shadow: inset 0 0 0 1px var(--bd-line-2);
  color: var(--bd-heading);
}
.hero-three .hero-controls button:hover {
  background: var(--bd-primary);
  color: var(--bd-on-primary);
  box-shadow: inset 0 0 0 1px var(--bd-primary);
}
.hero-three .hero-count {
  color: var(--bd-muted);
}
.hero-three .hero-count b {
  color: var(--bd-em);
}

/*----- 8.2 Collage & Facts -----*/
.collage {
  position: relative;
  height: 600px;
}
.collage > img,
.collage-b img {
  object-fit: cover;
}
.collage-a {
  position: absolute;
  top: 0;
  left: 0;
  width: 230px;
  height: 280px;
}
.collage-b {
  position: absolute;
  top: 90px;
  left: 130px;
  z-index: 2;
  width: 360px;
  box-shadow: var(--bd-shadow-lg);
}
.collage-b img {
  width: 100%;
  height: 430px;
}
.collage-c {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 3;
  width: 190px;
  height: 230px;
  border: 10px solid var(--bd-surface);
  box-shadow: var(--bd-shadow);
}
.collage .collage-mandala {
  position: absolute;
  top: 30px;
  right: -30px;
  width: 330px;
  opacity: 0.2;
}
.fact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 34px;
  border-top: 1px solid var(--bd-line-2);
}
.fact-grid > div {
  padding: 22px 24px 22px 0;
  border-bottom: 1px solid var(--bd-line-2);
}
.fact-grid > div:nth-child(odd) {
  border-right: 1px solid var(--bd-line-2);
}
.fact-grid > div:nth-child(even) {
  padding-left: 26px;
}
.fact-grid b {
  display: block;
  margin-bottom: 4px;
  font-family: var(--bd-ff-heading);
  font-size: 27px;
  font-weight: 600;
  line-height: 1.15;
  color: var(--bd-heading);
}
.fact-grid span {
  font-size: 15px;
}

/*----- 8.3 Lotus Bloom -----*/
.bd-lotus-area {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.bd-lotus-area > .bd-gl {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.lotus {
  position: relative;
  width: 660px;
  max-width: 100%;
  aspect-ratio: 1;
  margin: 0 auto;
}
.lotus-ring {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}
.lotus-ring.is-outer {
  width: 100%;
  height: 100%;
  border: 1px dashed rgba(var(--bd-gold-rgb), 0.45);
}
.lotus-ring.is-inner {
  width: 80%;
  height: 80%;
  background: radial-gradient(circle, rgba(var(--bd-gold-rgb), 0.22), rgba(var(--bd-gold-rgb), 0) 70%);
}
.lotus-petal {
  position: absolute;
  bottom: 50%;
  left: 50%;
  transform-origin: 50% 100%;
  pointer-events: none;
  filter: drop-shadow(0 6px 10px rgba(var(--bd-maroon-rgb), 0.18));
}
.lotus-petal.is-outer {
  width: 100px;
  margin-left: -50px;
}
.lotus-petal.is-inner {
  width: 80px;
  margin-left: -40px;
}
.lotus-timer {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  width: 310px;
  height: 310px;
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

/*----- 8.4 Meditation Timer -----*/
.bd-timer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: var(--bd-surface);
  box-shadow: 0 30px 70px rgba(var(--bd-maroon-rgb), 0.25), 0 0 0 10px rgba(var(--bd-surface-rgb), 0.55), 0 0 0 11px rgba(var(--bd-gold-rgb), 0.5);
  text-align: center;
}
.timer-face {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 154px;
  height: 154px;
}
.timer-ring {
  --p: 0;
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: conic-gradient(var(--bd-gold) calc(var(--p) * 1%), var(--bd-line) 0);
}
.timer-ring::before {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: 50%;
  background: var(--bd-surface);
}
.timer-read {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.timer-read b {
  font-family: var(--bd-ff-heading);
  font-size: 46px;
  font-weight: 600;
  line-height: 1;
  color: var(--bd-heading);
  font-variant-numeric: tabular-nums;
}
.timer-read span {
  margin-top: 6px;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.timer-lengths {
  display: flex;
  gap: 6px;
}
.timer-lengths button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 30px;
  padding: 0 8px;
  border-radius: 15px;
  background: var(--bd-tonal);
  font-size: 12.5px;
  font-weight: 700;
  color: var(--bd-heading);
  transition: background-color 0.3s var(--bd-ease), color 0.3s var(--bd-ease);
}
.timer-lengths button.is-active {
  background: var(--bd-primary);
  color: var(--bd-on-primary);
}
.timer-lengths button:disabled {
  opacity: 0.5;
  cursor: default;
}
.bd-timer.is-compact .timer-go {
  padding: 11px 22px;
}
.bd-timer.is-running .timer-ring {
  box-shadow: 0 0 0 4px rgba(var(--bd-gold-rgb), 0.16);
}

/*----- 8.5 Help Band -----*/
.bd-help-band {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding-bottom: 90px;
  background: var(--bd-band);
}
.bd-help-band .band-photo {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bd-help-band::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(var(--bd-night-rgb), 0.95) 0%, rgba(var(--bd-night-rgb), 0.72) 50%, rgba(74, 18, 28, 0.7) 100%);
}
.help-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: start;
  gap: 26px;
}
.help-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 48px 44px;
  background: var(--bd-surface);
  outline: 1px solid var(--bd-gild);
  outline-offset: -10px;
  transition: transform 0.5s var(--bd-ease), box-shadow 0.5s var(--bd-ease);
}
.help-card:nth-child(2) {
  margin-top: 56px;
}
.help-card:nth-child(3) {
  margin-top: 112px;
}
.help-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 34px 70px rgba(0, 0, 0, 0.35);
}
.help-card .bd-glyph {
  margin-bottom: 28px;
}
.help-card h3 {
  margin-bottom: 12px;
  font-size: 34px;
}
.help-card.is-maroon {
  background: var(--bd-maroon);
}
.help-card.is-night {
  background: var(--bd-band-2);
}
[data-theme="dark"] .help-card.is-night {
  background: #241417;
}
.help-card.is-dark .bd-glyph {
  background: rgba(var(--bd-ivory-rgb), 0.1);
}
.help-more {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  float: right;
  margin-top: -44px;
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

/*----- 8.6 Angels -----*/
.bd-angels {
  position: relative;
}
.bd-angels .bd-help-panels {
  max-width: 1040px;
  margin: 0 auto;
}
.angels-bell {
  left: calc(50% - 700px);
  top: 54%;
  width: 170px;
}
.angels-buddha {
  right: calc(50% - 712px);
  top: 46%;
  width: 190px;
}

/*----- 8.7 General Fund -----*/
.fund-row {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr 1fr;
  align-items: center;
  gap: 50px;
}
.fund-art {
  position: relative;
}
.fund-art::before {
  content: "";
  position: absolute;
  inset: 4% 8%;
  border-radius: 50%;
  background: radial-gradient(closest-side, rgba(var(--bd-gold-rgb), 0.2), rgba(var(--bd-gold-rgb), 0));
}
.fund-art img {
  position: relative;
  width: 100%;
  max-width: 360px;
  margin: 0 auto;
}
.fund-card {
  padding: 54px 50px;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-lg);
  outline: 1px solid var(--bd-gild);
  outline-offset: -10px;
}
.fund-card .bd-ring {
  margin-bottom: 26px;
}
.fund-card h3 {
  margin-bottom: 16px;
  font-size: 36px;
}
.fund-photo img {
  width: 100%;
  height: 340px;
  object-fit: cover;
}

/*----- 8.8 People Cards -----*/
.person-card {
  position: relative;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow);
}
.person-photo {
  display: block;
}
.person-photo img {
  width: 100%;
  height: 350px;
  object-fit: cover;
  object-position: center top;
}
.person-plus {
  position: absolute;
  top: 24px;
  right: 24px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--bd-gold);
  color: var(--bd-night);
  font-size: 13px;
  transition: background-color 0.3s var(--bd-ease), transform 0.4s var(--bd-ease);
}
.person-plus:hover {
  background: var(--bd-ivory);
  color: var(--bd-night);
  transform: rotate(90deg);
}
.person-body {
  padding: 24px 20px 26px;
  text-align: center;
}
.person-body span {
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.person-body h3 {
  font-size: 30px;
}
.person-body h3 a {
  color: inherit;
}

/*----- 8.9 Community Cards -----*/
.gcard {
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow);
  transition: transform 0.5s var(--bd-ease), box-shadow 0.5s var(--bd-ease);
}
.gcard:hover {
  transform: translateY(-6px);
  box-shadow: var(--bd-shadow-lg);
}
.gcard img {
  width: 100%;
  height: 240px;
  object-fit: cover;
}
.gcard h3 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22px 28px;
  font-size: 27px;
}
.gcard h3 a {
  color: inherit;
}
.gcard h3 i {
  font-size: 12px;
  color: var(--bd-accent);
  transition: transform 0.4s var(--bd-ease);
}
.gcard:hover h3 i {
  transform: translateX(4px);
}

/*----- 8.10 Quote Cards -----*/
.bd-testimonials-three {
  position: relative;
  overflow: hidden;
}
.testi-map {
  position: absolute;
  top: 70px;
  left: 50%;
  width: 1120px;
  max-width: none;
  opacity: 0.55;
  transform: translateX(-50%);
  pointer-events: none;
}
[data-theme="dark"] .testi-map {
  opacity: 0.12;
}
.bd-testimonials-three .container {
  position: relative;
}
.quote-card {
  height: 100%;
  margin: 0;
  padding: 44px 44px 36px;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow);
  outline: 1px solid var(--bd-gild);
  outline-offset: -10px;
}
.qc-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
}
.qc-photo {
  position: relative;
}
.qc-photo img {
  width: 78px;
  height: 78px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 3px var(--bd-surface), 0 0 0 4px var(--bd-gold);
}
.qc-photo i {
  position: absolute;
  right: -6px;
  bottom: -4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--bd-primary);
  color: var(--bd-on-primary);
  font-size: 12px;
}
.qc-stars {
  color: var(--bd-gold);
  font-size: 13px;
}
.quote-card p {
  font-family: var(--bd-ff-heading);
  font-size: 24px;
  font-style: italic;
  line-height: 1.45;
  color: var(--bd-heading);
}
.quote-card footer {
  padding-top: 20px;
  border-top: 1px solid var(--bd-line);
}
.quote-card footer b {
  display: block;
  font-family: var(--bd-ff-heading);
  font-size: 24px;
  font-weight: 600;
  color: var(--bd-heading);
}
.quote-card footer span {
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}

/*----- 8.11 Contact Band -----*/
.bd-contact-band {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--bd-band);
}
.bd-contact-band .band-photo {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bd-contact-band::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(var(--bd-night-rgb), 0.95) 0%, rgba(var(--bd-night-rgb), 0.8) 55%, rgba(74, 18, 28, 0.72) 100%);
}
.bd-contact-band .bd-field {
  margin-bottom: 0;
}
.client-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border: 1px solid var(--bd-line);
}
.client-grid img {
  width: 100%;
  max-width: 225px;
  margin: 0 auto;
  padding: 34px 20px;
  opacity: 0.8;
  transition: opacity 0.3s var(--bd-ease), transform 0.3s var(--bd-ease);
}
.client-grid img:nth-child(odd) {
  border-right: 1px solid var(--bd-line);
}
.client-grid img:nth-child(-n+4) {
  border-bottom: 1px solid var(--bd-line);
}
.client-grid img {
  max-width: none;
}
.client-grid img:hover {
  opacity: 1;
}

/*----- 8.12 News Pattern -----*/
.bd-news-three {
  position: relative;
  overflow: hidden;
}
.bd-news-three .news-mandala {
  position: absolute;
  width: 560px;
  opacity: 0.12;
  pointer-events: none;
}
.bd-news-three .news-mandala.is-left {
  left: -260px;
  bottom: -200px;
}
.bd-news-three .news-mandala.is-right {
  right: -260px;
  top: -180px;
}
.bd-news-three .container {
  position: relative;
}

/*======================
9. Inner Pages
========================*/
/*----- 9.1 Panels & Sidebar -----*/
.bd-panel {
  position: relative;
  padding: 40px 38px;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow);
  outline: 1px solid var(--bd-gild);
  outline-offset: -10px;
}
.bd-panel h3,
.bd-panel .bd-h3 {
  margin-bottom: 18px;
  font-size: 30px;
}
.bd-sidebar {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.bd-sidebar .widget {
  padding: 36px 34px;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow);
}
.bd-sidebar .widget h2 {
  position: relative;
  margin-bottom: 24px;
  padding-bottom: 14px;
  font-size: 26px;
}
.bd-sidebar .widget h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 42px;
  height: 7px;
  background: radial-gradient(circle at 3.5px 3.5px, var(--bd-gold) 2.4px, transparent 2.9px) 0 0 / 11px 7px repeat-x;
}
.widget-search {
  position: relative;
  display: flex;
}
.widget-search input {
  flex: 1 1 auto;
  min-width: 0;
  height: 54px;
  padding: 0 56px 0 18px;
  border: 1px solid var(--bd-line-2);
  background: var(--bd-bg);
  color: var(--bd-heading);
  font-family: var(--bd-ff-body);
  font-size: 15px;
  outline: none;
}
.widget-search input:focus {
  border-color: var(--bd-gold);
}
.widget-search button {
  position: absolute;
  top: 5px;
  right: 5px;
  bottom: 5px;
  width: 44px;
  background: var(--bd-primary);
  color: var(--bd-on-primary);
}
.widget-cats li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 0;
  border-bottom: 1px solid var(--bd-line);
  font-size: 15px;
  color: var(--bd-text);
}
.widget-cats li:last-child a {
  border-bottom: 0;
}
.widget-cats li a span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 26px;
  padding: 0 8px;
  border-radius: 13px;
  background: var(--bd-tonal);
  font-size: 12px;
  font-weight: 700;
  color: var(--bd-accent-text);
}
.widget-cats li a:hover {
  color: var(--bd-heading);
}
.widget-cats li a:hover span {
  background: var(--bd-primary);
  color: var(--bd-on-primary);
}
.widget-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.widget-tags a {
  padding: 7px 15px;
  border-radius: 20px;
  background: var(--bd-tonal);
  font-size: 13px;
  font-weight: 600;
  color: var(--bd-heading);
}
.widget-tags a:hover {
  background: var(--bd-primary);
  color: var(--bd-on-primary);
}
.widget-person {
  text-align: center;
}
.widget-person img {
  width: 116px;
  height: 116px;
  margin: 0 auto 16px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 4px var(--bd-surface), 0 0 0 5px var(--bd-gold);
}
.widget-person b {
  display: block;
  font-family: var(--bd-ff-heading);
  font-size: 26px;
  font-weight: 600;
  color: var(--bd-heading);
}
.widget-person p {
  margin: 10px 0 0;
  font-family: var(--bd-ff-heading);
  font-size: 19px;
  font-style: italic;
  line-height: 1.5;
}
.widget-cta {
  position: relative;
  overflow: hidden;
  padding: 44px 34px;
  background: var(--bd-maroon);
  text-align: center;
}
.widget-cta img {
  position: absolute;
  inset: -40px;
  width: calc(100% + 80px);
  max-width: none;
  opacity: 0.12;
}
.widget-cta h2 {
  position: relative;
  margin-bottom: 12px;
  font-size: 30px;
}
.widget-cta p {
  position: relative;
}
.widget-cta .bd-btn {
  position: relative;
}

/*----- 9.2 Shared Bands & Rows -----*/
.bd-cta-band {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 100px 0;
  background: var(--bd-band);
}
.bd-cta-band > .bd-gl {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.bd-cta-band .cta-mandala {
  position: absolute;
  top: 50%;
  right: -120px;
  z-index: -1;
  width: 520px;
  margin-top: -260px;
  opacity: 0.12;
}
.cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
}
.cta-inner h2 {
  margin-bottom: 12px;
}
.cta-inner p {
  max-width: 640px;
  margin: 0;
}
.bd-stat-band {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--bd-line-2);
}
.bd-stat-band > div {
  padding: 40px 34px;
  border-right: 1px solid var(--bd-line-2);
}
.bd-stat-band > div:last-child {
  border-right: 0;
}
.bd-stat-band b {
  display: block;
  font-family: var(--bd-ff-heading);
  font-size: 64px;
  font-weight: 600;
  line-height: 1;
  color: var(--bd-heading);
}
.bd-stat-band b small {
  font-size: 36px;
  color: var(--bd-accent);
}
.bd-stat-band > div > span {
  display: block;
  margin-top: 10px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}

/*----- 9.3 Quantity Stepper -----*/
.bd-qty {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--bd-line-2);
  background: var(--bd-surface);
}
.bd-qty button {
  width: 46px;
  height: 52px;
  font-size: 12px;
  color: var(--bd-heading);
  transition: color 0.3s var(--bd-ease), background-color 0.3s var(--bd-ease);
}
.bd-qty button:hover {
  background: var(--bd-tonal);
  color: var(--bd-em);
}
.bd-qty input {
  width: 54px;
  height: 52px;
  border: 0;
  border-left: 1px solid var(--bd-line);
  border-right: 1px solid var(--bd-line);
  background: transparent;
  color: var(--bd-heading);
  font-family: var(--bd-ff-heading);
  font-size: 22px;
  font-weight: 600;
  text-align: center;
  outline: none;
  -moz-appearance: textfield;
}
.bd-qty input::-webkit-outer-spin-button,
.bd-qty input::-webkit-inner-spin-button {
  margin: 0;
  -webkit-appearance: none;
}
.bd-qty.is-sm button {
  width: 36px;
  height: 40px;
}
.bd-qty.is-sm input {
  width: 42px;
  height: 40px;
  font-size: 18px;
}

/*----- 9.4 Daily Timetable -----*/
.bd-schedule {
  border-top: 1px solid var(--bd-line-2);
}
.sched-row {
  position: relative;
  display: grid;
  grid-template-columns: 150px 64px 1fr auto;
  align-items: center;
  gap: 20px;
  padding: 22px 6px;
  border-bottom: 1px solid var(--bd-line-2);
  transition: background-color 0.4s var(--bd-ease);
}
.sched-time {
  font-family: var(--bd-ff-heading);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.1;
  color: var(--bd-heading);
}
.sched-time small {
  display: block;
  font-family: var(--bd-ff-body);
  font-size: 12.5px;
  font-weight: 500;
  color: var(--bd-muted);
}
.sched-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: var(--bd-tonal);
  color: var(--bd-primary);
  font-size: 26px;
}
[data-theme="dark"] .sched-icon {
  color: var(--bd-gold-light);
}
.sched-name b {
  display: block;
  font-family: var(--bd-ff-heading);
  font-size: 25px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--bd-heading);
}
.sched-name small {
  font-size: 14px;
}
.sched-tag {
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bd-muted);
}
.sched-tag i {
  margin-right: 6px;
  color: var(--bd-accent);
}
.sched-bar {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
}
.sched-bar i {
  display: block;
  width: 0;
  height: 100%;
  background: var(--bd-gold);
}
.sched-row.is-done {
  opacity: 0.5;
}
.sched-row.is-done .sched-bar i {
  background: transparent;
}
.sched-row.is-now {
  background: var(--bd-tonal);
}
.sched-row.is-now .sched-icon {
  background: var(--bd-primary);
  color: var(--bd-on-primary);
}
.sched-row.is-now .sched-tag::after,
.sched-row.is-next .sched-tag::after {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  letter-spacing: 0.18em;
}
.sched-row.is-now .sched-tag::after {
  content: "Happening Now";
  color: var(--bd-ember);
}
.sched-row.is-next .sched-tag::after {
  content: "Up Next";
  color: var(--bd-accent-text);
}
.bd-sidebar .widget-cta {
  background: var(--bd-maroon);
}
.widget-person h2::after {
  left: 50%;
  transform: translateX(-50%);
}

/*======================
10. Practice Pages
========================*/
/*----- 10.1 Meditation Timer Page -----*/
.bd-timer-area {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.bd-timer-area > .bd-gl {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.bd-timer.is-full {
  gap: 26px;
  padding: 60px 50px;
  border-radius: 0;
  outline: 1px solid var(--bd-gild);
  outline-offset: -12px;
}
.bd-timer.is-full .timer-face {
  width: 300px;
  height: 300px;
}
.bd-timer.is-full .timer-ring::before {
  inset: 7px;
}
.bd-timer.is-full .timer-read b {
  font-size: 84px;
}
.bd-timer.is-full .timer-read span {
  font-size: 12px;
}
.bd-timer.is-full .timer-lengths button {
  min-width: 48px;
  height: 38px;
  border-radius: 19px;
  font-size: 14px;
}
.timer-options {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: center;
  gap: 18px 30px;
  width: 100%;
  max-width: 560px;
  text-align: left;
}
.timer-options .bd-field {
  flex: 1 1 240px;
  margin: 0;
}
.timer-options .bd-check {
  padding-bottom: 16px;
}
.timer-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}
.sit-stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 34px;
  border: 1px solid var(--bd-line-2);
  background: var(--bd-surface);
}
.sit-stats > div {
  padding: 26px 24px;
}
.sit-stats > div + div {
  border-left: 1px solid var(--bd-line-2);
}
.sit-stats b {
  display: block;
  font-family: var(--bd-ff-heading);
  font-size: 54px;
  font-weight: 600;
  line-height: 1;
  color: var(--bd-heading);
}
.sit-stats span {
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.sit-log-title {
  margin-bottom: 12px;
}
.sit-note {
  margin-top: 16px;
  color: var(--bd-muted);
}

/*----- 10.2 Teaching Cards -----*/
.teach-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow);
  transition: transform 0.5s var(--bd-ease), box-shadow 0.5s var(--bd-ease);
}
.teach-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--bd-shadow-lg);
}
.teach-media {
  position: relative;
  display: block;
}
.teach-media img {
  width: 100%;
  height: 250px;
  object-fit: cover;
}
.teach-type {
  position: absolute;
  left: 24px;
  bottom: 22px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 15px;
  border-radius: 20px;
  background: var(--bd-gold);
  color: var(--bd-night);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.teach-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1 1 auto;
  padding: 28px 30px 30px;
}
.teach-body h3 {
  margin-bottom: 18px;
  font-size: 28px;
}
.teach-body h3 a {
  color: var(--bd-heading);
}
.teach-body h3 a:hover {
  color: var(--bd-em);
}
.teach-body .bd-link {
  margin-top: auto;
}

/*----- 10.3 Retreat Booking -----*/
.bd-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin-bottom: 44px;
  border-bottom: 1px solid var(--bd-line-2);
}
.bd-steps li {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 0 20px;
  cursor: default;
  color: var(--bd-muted);
}
.bd-steps li::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: var(--bd-gold);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.6s var(--bd-ease);
}
.bd-steps li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--bd-tonal);
  font-family: var(--bd-ff-heading);
  font-size: 19px;
  font-weight: 600;
  color: var(--bd-heading);
}
.bd-steps li b {
  font-size: 14px;
  font-weight: 600;
}
.bd-steps li.is-active,
.bd-steps li.is-done {
  color: var(--bd-heading);
}
.bd-steps li.is-active::after,
.bd-steps li.is-done::after {
  transform: scaleX(1);
}
.bd-steps li.is-active span {
  background: var(--bd-primary);
  color: var(--bd-on-primary);
}
.bd-steps li.is-done {
  cursor: pointer;
}
.bd-steps li.is-done span {
  background: var(--bd-gold);
  color: var(--bd-night);
}
.booking-step {
  display: none;
  margin: 0;
  padding: 0;
  border: 0;
}
.booking-step.is-active {
  display: block;
}
.booking-step legend {
  margin-bottom: 22px;
  font-family: var(--bd-ff-heading);
  font-size: 38px;
  font-weight: 600;
  line-height: 1.1;
  color: var(--bd-heading);
}
.step-note {
  margin-top: -8px;
}
.choice-list {
  display: grid;
  gap: 14px;
}
.choice-list.is-rooms {
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 30px;
}
.choice-card,
.date-choice {
  position: relative;
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 16px 56px 16px 16px;
  border: 1px solid var(--bd-line-2);
  background: var(--bd-surface);
  cursor: pointer;
  transition: border-color 0.3s var(--bd-ease), box-shadow 0.3s var(--bd-ease);
}
.choice-card input,
.date-choice input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.choice-card:hover,
.date-choice:hover {
  border-color: var(--bd-gold);
}
.choice-tick {
  position: absolute;
  top: 50%;
  right: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  margin-top: -14px;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px var(--bd-line-2);
  font-size: 11px;
  color: transparent;
  transition: background-color 0.3s var(--bd-ease), color 0.3s var(--bd-ease);
}
.choice-card.is-checked,
.date-choice.is-checked {
  border-color: var(--bd-gold);
  box-shadow: 0 0 0 1px var(--bd-gold), var(--bd-shadow);
}
.choice-card.is-checked .choice-tick,
.date-choice.is-checked .choice-tick {
  background: var(--bd-primary);
  box-shadow: none;
  color: var(--bd-on-primary);
}
.choice-img {
  flex: 0 0 auto;
  width: 150px;
}
.choice-img img {
  width: 100%;
  height: 100px;
  object-fit: cover;
}
.choice-img.bd-gilded::after {
  inset: 6px;
}
.choice-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.choice-body b {
  font-family: var(--bd-ff-heading);
  font-size: 25px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--bd-heading);
}
.choice-body > span {
  font-size: 14.5px;
}
.choice-meta {
  display: flex;
  gap: 16px;
  font-size: 13px;
  font-weight: 600;
  color: var(--bd-accent-text);
}
.choice-meta em {
  font-style: normal;
  color: var(--bd-em);
}
.room-choice {
  flex-direction: column;
  align-items: flex-start;
  padding: 24px 22px;
}
.room-choice .choice-tick {
  top: 24px;
  margin-top: 0;
}
.choice-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--bd-tonal);
  color: var(--bd-primary);
  font-size: 19px;
}
[data-theme="dark"] .choice-ico {
  color: var(--bd-gold-light);
}
.date-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.dc-day {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 72px;
  height: 72px;
  background: var(--bd-primary);
  color: var(--bd-gold-light);
  font-family: var(--bd-ff-heading);
  font-size: 30px;
  font-weight: 600;
  line-height: 1;
}
.dc-day small {
  margin-top: 4px;
  font-family: var(--bd-ff-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--bd-on-primary);
}
.dc-body b {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: var(--bd-heading);
}
.dc-body span {
  font-size: 13.5px;
}
.dc-body em {
  font-style: normal;
  font-weight: 700;
  color: var(--bd-em);
}
.guest-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  margin-bottom: 30px;
}
.guest-row .bd-label {
  margin: 0;
}
.guest-note {
  font-size: 14px;
  color: var(--bd-muted);
}
.extra-list {
  display: grid;
  gap: 12px;
}
.extra-check {
  padding: 16px 18px;
  border: 1px solid var(--bd-line);
  background: var(--bd-surface);
}
.extra-check b {
  margin-left: 8px;
  font-weight: 600;
  color: var(--bd-accent-text);
}
.booking-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 40px;
  padding-top: 30px;
  border-top: 1px solid var(--bd-line-2);
}
.booking-nav .bd-btn:disabled {
  opacity: 0.4;
  cursor: default;
  transform: none;
  box-shadow: none;
}
.booking-error {
  flex: 1 1 auto;
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: #C0392B;
  text-align: center;
}
[data-theme="dark"] .booking-error {
  color: #FFB4A6;
}
.is-invalid {
  border-color: #C0392B !important;
}
.booking-done {
  padding: 60px 50px;
  background: var(--bd-surface);
  text-align: center;
  outline: 1px solid var(--bd-gild);
  outline-offset: -12px;
}
.done-seal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 92px;
  height: 92px;
  margin-bottom: 24px;
  border-radius: 50%;
  background: var(--bd-primary);
  color: var(--bd-gold-light);
  font-size: 34px;
  box-shadow: 0 0 0 8px rgba(var(--bd-gold-rgb), 0.2);
}
.booking-done h2 {
  margin-bottom: 12px;
  font-size: 40px;
}
.booking-done p b {
  color: var(--bd-em);
}
.booking-summary {
  position: sticky;
  top: 120px;
}
.booking-summary .bd-kv {
  margin-bottom: 18px;
}
.sum-lines li {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 6px 0;
  font-size: 14px;
}
.sum-lines li b {
  font-weight: 600;
  color: var(--bd-heading);
  white-space: nowrap;
}
.sum-total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin: 16px 0 18px;
  padding-top: 18px;
  border-top: 1px solid var(--bd-line-2);
}
.sum-total span {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.sum-total b {
  font-family: var(--bd-ff-heading);
  font-size: 46px;
  font-weight: 600;
  line-height: 1;
  color: var(--bd-heading);
}
.sum-note {
  margin: 0;
  color: var(--bd-muted);
}

/*----- 10.4 Temple Calendar -----*/
.moon-board {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  align-items: center;
  gap: 50px;
  overflow: hidden;
  padding: 60px 64px;
  background: var(--bd-band);
  outline: 1px solid rgba(var(--bd-gold-rgb), 0.4);
  outline-offset: -12px;
}
.moon-board > .bd-gl {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.moon-now {
  display: flex;
  align-items: center;
  gap: 40px;
}
.moon-now h2 {
  margin-bottom: 8px;
}
.moon-now p {
  margin: 0;
}
.bd-moon.is-xl {
  width: 190px;
  height: 190px;
  background: radial-gradient(circle at 35% 35%, #FBEBC8, #E3BE77 55%, var(--bd-gold));
  box-shadow: 0 0 0 14px rgba(var(--bd-gold-rgb), 0.08), 0 0 90px rgba(var(--bd-gold-rgb), 0.55);
}
.bd-moon.is-xl i {
  background: rgba(12, 6, 7, 0.92);
}
.moon-facts {
  display: grid;
  border-top: 1px solid var(--bd-line);
}
.moon-facts li {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  gap: 2px 20px;
  padding: 16px 0;
  border-bottom: 1px solid var(--bd-line);
}
.moon-facts span {
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.moon-facts b {
  grid-row: span 2;
  font-family: var(--bd-ff-heading);
  font-size: 30px;
  font-weight: 600;
  color: var(--bd-heading);
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.moon-facts small {
  font-size: 14px;
  color: var(--bd-muted);
}
.lunar-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 1px;
  border: 1px solid var(--bd-line);
  background: var(--bd-line);
}
.lunar-dow {
  padding: 12px 4px;
  background: var(--bd-surface-2);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-align: center;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
[data-theme="dark"] .lunar-dow {
  background: var(--bd-band-2);
}
.lunar-cell {
  position: relative;
  min-height: 104px;
  padding: 10px 12px;
  background: var(--bd-surface);
}
.lunar-cell.is-blank {
  background: var(--bd-bg);
}
.lunar-cell b {
  font-family: var(--bd-ff-heading);
  font-size: 22px;
  font-weight: 600;
  color: var(--bd-heading);
}
.lunar-cell small {
  display: block;
  margin-top: 6px;
  font-size: 11.5px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--bd-accent-text);
}
.lc-moon {
  position: absolute;
  top: 12px;
  right: 12px;
  font-size: 15px;
  color: var(--bd-gold);
}
.lunar-cell.is-upo {
  background: rgba(var(--bd-gold-rgb), 0.12);
}
.lunar-cell.is-full {
  background: rgba(var(--bd-gold-rgb), 0.22);
}
.lunar-cell.is-fest {
  background: var(--bd-maroon);
}
.lunar-cell.is-fest b,
.lunar-cell.is-fest small {
  color: var(--bd-ivory);
}
.lunar-cell.is-today {
  box-shadow: inset 0 0 0 2px var(--bd-primary);
}
[data-theme="dark"] .lunar-cell.is-today {
  box-shadow: inset 0 0 0 2px var(--bd-gold);
}
.lunar-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-top: 20px;
  font-size: 14px;
}
.lunar-legend li {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.lunar-legend i {
  width: 16px;
  height: 16px;
}
.lunar-legend .is-upo {
  background: rgba(var(--bd-gold-rgb), 0.35);
}
.lunar-legend .is-fest {
  background: var(--bd-maroon);
}
.lunar-legend .is-today {
  box-shadow: inset 0 0 0 2px var(--bd-primary);
}
.lunar-list li {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 14px 0;
  border-bottom: 1px solid var(--bd-line);
}
.ll-date {
  flex: 0 0 auto;
  width: 58px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-align: center;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.ll-date b {
  display: block;
  font-family: var(--bd-ff-heading);
  font-size: 32px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  color: var(--bd-heading);
}
.ll-name {
  font-family: var(--bd-ff-heading);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--bd-heading);
}
.ll-name small {
  display: block;
  font-family: var(--bd-ff-body);
  font-size: 13px;
  font-weight: 500;
  color: var(--bd-muted);
}
.lunar-list li.is-fest .ll-name {
  color: var(--bd-em);
}
.lunar-side .bd-small {
  margin: 18px 0 0;
  color: var(--bd-muted);
}

/*======================
11. Teachings, Classes & Giving
========================*/
/*----- 11.1 Dana Engine -----*/
.dana-form .dana-title {
  margin-bottom: 30px;
}
.chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 24px;
}
.chip-choice {
  position: relative;
  cursor: pointer;
}
.chip-choice input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.chip-choice span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 86px;
  height: 52px;
  padding: 0 20px;
  border: 1px solid var(--bd-line-2);
  background: var(--bd-surface);
  font-family: var(--bd-ff-heading);
  font-size: 22px;
  font-weight: 600;
  color: var(--bd-heading);
  transition: border-color 0.3s var(--bd-ease), background-color 0.3s var(--bd-ease), color 0.3s var(--bd-ease);
}
.chip-choice:hover span {
  border-color: var(--bd-gold);
}
.chip-choice.is-checked span {
  border-color: var(--bd-primary);
  background: var(--bd-primary);
  color: var(--bd-on-primary);
}
.chip-choice input:focus-visible + span {
  outline: 2px solid var(--bd-gold);
  outline-offset: 3px;
}
.dana-fee {
  margin-bottom: 26px;
}
.dana-impact {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 10px 0 20px;
  padding: 18px 20px;
  background: var(--bd-tonal);
  font-size: 15px;
}
.dana-impact i {
  font-size: 28px;
  line-height: 1;
  color: var(--bd-accent);
}
.dana-impact b {
  color: var(--bd-em);
}
.dana-sum {
  margin-bottom: 26px;
}
.dana-sum li.is-total b {
  font-family: var(--bd-ff-heading);
  font-size: 32px;
}
.dana-sum small {
  margin-left: 6px;
  font-size: 12px;
  color: var(--bd-muted);
}
.dana-cause {
  margin-bottom: 30px;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow);
}
.dana-cause-media {
  position: relative;
  display: block;
}
.dana-cause-media img {
  width: 100%;
  height: 260px;
  object-fit: cover;
}
.dana-cause-body {
  padding: 30px 34px 30px;
}
.dana-cause-body h3 {
  margin-bottom: 18px;
  font-size: 32px;
}
.dana-cause .bd-meter span {
  transition: width 1s var(--bd-ease);
}
.recent-dana li {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid var(--bd-line);
}
.rd-avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--bd-primary);
  color: var(--bd-gold-light);
  font-family: var(--bd-ff-heading);
  font-size: 20px;
  font-weight: 600;
}
.rd-name {
  flex: 1 1 auto;
}
.rd-name b {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: var(--bd-heading);
}
.rd-name small {
  font-size: 13px;
  color: var(--bd-muted);
}
.rd-amt {
  font-family: var(--bd-ff-heading);
  font-size: 24px;
  font-weight: 600;
  color: var(--bd-em);
}

/*----- 11.2 Teachings -----*/
.feature-teach {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  align-items: center;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-lg);
}
.ft-media img {
  width: 100%;
  height: 440px;
  object-fit: cover;
}
.ft-body {
  padding: 50px 56px;
}
.ft-body h2 {
  margin-bottom: 18px;
}
.ft-body .bd-player {
  margin-bottom: 26px;
  background: var(--bd-bg);
}
.teach-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
}
.teach-search {
  width: 280px;
}
[data-filter-grid] > .is-unmatched,
[data-class-list] > .is-hidden,
[data-class-list] > .is-unmatched,
[data-post-list] > .is-unmatched {
  display: none;
}
.grid-empty {
  margin-top: 40px;
  padding: 30px;
  border: 1px dashed var(--bd-line-2);
  font-family: var(--bd-ff-heading);
  font-size: 22px;
  text-align: center;
  color: var(--bd-heading);
}

/*----- 11.3 Articles -----*/
.article-hero {
  margin-bottom: 34px;
}
.article-hero img {
  width: 100%;
  height: 480px;
  object-fit: cover;
}
.article-body > h2 {
  margin-bottom: 14px;
}
.article-body > h3 {
  margin: 40px 0 20px;
  font-size: 34px;
}
.article-body > p {
  font-size: 17px;
  line-height: 1.85;
}
.article-meta {
  margin-bottom: 24px;
}
.article-quote {
  position: relative;
  margin: 40px 0;
  padding: 40px 46px;
  background: var(--bd-maroon);
  outline: 1px solid rgba(var(--bd-gold-rgb), 0.5);
  outline-offset: -10px;
}
.article-quote i {
  font-size: 28px;
  color: var(--bd-gold-light);
}
.article-quote p {
  margin: 14px 0 16px;
  font-family: var(--bd-ff-heading);
  font-size: 30px;
  font-style: italic;
  line-height: 1.35;
  color: var(--bd-ivory);
}
.article-quote cite {
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bd-gold-light);
}
.article-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 40px;
  padding-top: 30px;
  border-top: 1px solid var(--bd-line-2);
}
.teach-player {
  margin: -90px 30px 40px;
  padding: 30px;
}
.teach-player .bd-player {
  background: var(--bd-bg);
}
.player-extras {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-top: 20px;
}
.chapters li button {
  display: flex;
  gap: 14px;
  padding: 6px 0;
  font-size: 15px;
  color: var(--bd-text);
  text-align: left;
}
.chapters li button b {
  font-weight: 600;
  color: var(--bd-accent-text);
  font-variant-numeric: tabular-nums;
}
.chapters li button:hover,
.chapters li button.is-current {
  color: var(--bd-heading);
}
.chapters li button.is-current b {
  color: var(--bd-em);
}
.speeds {
  display: flex;
  gap: 6px;
}
.speeds button {
  min-width: 56px;
  height: 36px;
  padding: 0 10px;
  border-radius: 18px;
  background: var(--bd-tonal);
  font-size: 13px;
  font-weight: 700;
  color: var(--bd-heading);
}
.speeds button.is-active {
  background: var(--bd-primary);
  color: var(--bd-on-primary);
}
.side-posts h3 a {
  color: var(--bd-heading);
}

/*----- 11.4 Classes -----*/
.bd-title-row.is-tight {
  margin-bottom: 40px;
}
.class-list {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.class-card {
  position: relative;
  display: grid;
  grid-template-columns: 300px 1fr;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow);
  transition: transform 0.5s var(--bd-ease), box-shadow 0.5s var(--bd-ease);
}
.class-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--bd-shadow-lg);
}
.class-media {
  display: block;
}
.class-media img {
  width: 100%;
  height: 100%;
  min-height: 300px;
  object-fit: cover;
}
.class-date {
  position: absolute;
  top: 24px;
  left: 24px;
  z-index: 3;
}
.class-body {
  padding: 34px 38px;
}
.class-cat {
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.class-body h3 {
  margin: 6px 0 12px;
  font-size: 30px;
}
.class-body h3 a {
  color: var(--bd-heading);
}
.class-body h3 a:hover {
  color: var(--bd-em);
}
.class-body > p {
  font-size: 15px;
}
.class-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 22px;
  margin-bottom: 22px;
  font-size: 14px;
}
.class-meta i {
  margin-right: 6px;
  color: var(--bd-accent);
}
.class-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--bd-line);
}
.class-seats {
  flex: 1 1 auto;
  max-width: 260px;
}
.class-seats small {
  display: block;
  margin-top: 8px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.class-facts {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-bottom: 34px;
}
.class-facts .bd-kv {
  flex: 1 1 auto;
}
.session-list li {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 16px 0;
  border-bottom: 1px solid var(--bd-line);
}
.ss-date {
  flex: 0 0 auto;
  width: 60px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-align: center;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.ss-date b {
  display: block;
  font-family: var(--bd-ff-heading);
  font-size: 34px;
  line-height: 1;
  letter-spacing: 0;
  color: var(--bd-heading);
}
.ss-body {
  flex: 1 1 auto;
  font-size: 14.5px;
}
.ss-body b {
  display: block;
  font-size: 16px;
  font-weight: 600;
  color: var(--bd-heading);
}
.ss-seats {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--bd-em);
}
.rsvp-form {
  margin-top: 46px;
}
.rsvp-form .bd-btn {
  margin-top: 24px;
}

/*----- 11.5 Broadcast & Gallery Details -----*/
.live-screen {
  position: relative;
  display: block;
  height: 100%;
  min-height: 460px;
  overflow: hidden;
}
.live-screen img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.live-screen::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(0deg, rgba(var(--bd-night-rgb), 0.9), rgba(var(--bd-night-rgb), 0) 55%);
}
.live-screen .live-badge {
  top: 34px;
  left: 34px;
  right: auto;
  z-index: 3;
  background: rgba(var(--bd-night-rgb), 0.6);
  color: var(--bd-ivory);
}
.live-screen .bd-play {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 3;
  margin: -58px 0 0 -58px;
}
.live-caption {
  position: absolute;
  left: 34px;
  bottom: 30px;
  z-index: 3;
  color: rgba(var(--bd-ivory-rgb), 0.8);
}
.live-caption b {
  display: block;
  font-family: var(--bd-ff-heading);
  font-size: 34px;
  font-weight: 600;
  color: var(--bd-ivory);
}
.live-side {
  height: 100%;
}
.bd-schedule.is-mini .sched-row {
  grid-template-columns: 90px 1fr;
  padding: 16px 4px;
}
.bd-schedule.is-mini .sched-time {
  font-size: 19px;
}
.bd-schedule.is-mini .sched-name b {
  font-size: 21px;
}
.bd-schedule.is-mini .sched-row.is-now .sched-name::after,
.bd-schedule.is-mini .sched-row.is-next .sched-name::after {
  display: block;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
.bd-schedule.is-mini .sched-row.is-now .sched-name::after {
  content: "On Air";
  color: var(--bd-ember);
}
.bd-schedule.is-mini .sched-row.is-next .sched-name::after {
  content: "Up Next";
  color: var(--bd-accent-text);
}
.live-side .bd-small {
  margin-top: 18px;
  color: var(--bd-muted);
}
.gd-hero img {
  width: 100%;
  height: 560px;
  object-fit: cover;
}
.gd-body {
  margin: 50px 0;
}
.gd-gallery .gallery-item img {
  height: 320px;
}
.post-nav {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 20px;
  margin-top: 60px;
  padding: 26px 0;
  border-top: 1px solid var(--bd-line-2);
  border-bottom: 1px solid var(--bd-line-2);
}
.post-nav a {
  display: flex;
  align-items: center;
  gap: 16px;
  color: var(--bd-heading);
}
.post-nav .pn-next {
  justify-content: flex-end;
  text-align: right;
}
.post-nav a > i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px var(--bd-line-2);
  color: var(--bd-accent);
  transition: background-color 0.3s var(--bd-ease), color 0.3s var(--bd-ease);
}
.post-nav a:hover > i {
  background: var(--bd-primary);
  color: var(--bd-on-primary);
  box-shadow: none;
}
.post-nav small {
  display: block;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.post-nav b {
  font-family: var(--bd-ff-heading);
  font-size: 23px;
  font-weight: 600;
}
.post-nav .pn-all > i {
  background: var(--bd-tonal);
  box-shadow: none;
}

/*======================
12. Temple Pages
========================*/
/*----- 12.1 About Mosaic & Timeline -----*/
.about-mosaic {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  padding: 0 0 50px;
}
.about-mosaic > span img {
  width: 100%;
  height: 290px;
  object-fit: cover;
}
.about-mosaic .am-b,
.about-mosaic .am-d {
  transform: translateY(50px);
}
.about-mosaic .am-mandala {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  width: 120%;
  max-width: none;
  opacity: 0.16;
  transform: translate(-50%, -50%);
}
.bd-about-page {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.bd-timeline {
  position: relative;
  max-width: 1060px;
  margin: 0 auto;
}
.bd-timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  background: linear-gradient(180deg, rgba(var(--bd-gold-rgb), 0), var(--bd-gold) 10%, var(--bd-gold) 90%, rgba(var(--bd-gold-rgb), 0));
}
.bd-timeline li {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px;
  align-items: center;
  margin-bottom: 40px;
}
.bd-timeline li:last-child {
  margin-bottom: 0;
}
.bd-timeline li::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 18px;
  margin: -9px 0 0 -9px;
  border-radius: 50%;
  background: var(--bd-primary);
  box-shadow: 0 0 0 5px var(--bd-surface-2), 0 0 0 6px var(--bd-gold);
}
[data-theme="dark"] .bd-timeline li::after {
  box-shadow: 0 0 0 5px var(--bd-band-2), 0 0 0 6px var(--bd-gold);
}
.tl-year {
  font-family: var(--bd-ff-heading);
  font-size: 76px;
  font-style: italic;
  font-weight: 600;
  line-height: 1;
  text-align: right;
  /* a deeper gold on the sand ground (3.6:1); the dark theme keeps the bright gold */
  color: #9A6F25;
}
[data-theme="dark"] .tl-year {
  color: var(--bd-gold);
}
.tl-card {
  padding: 34px 36px;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow);
  outline: 1px solid var(--bd-gild);
  outline-offset: -9px;
}
.tl-card h3 {
  margin-bottom: 10px;
  font-size: 29px;
}
.tl-card p {
  font-size: 15px;
}
.bd-timeline li:nth-child(even) .tl-year {
  order: 2;
  text-align: left;
}
.bd-timeline li:nth-child(even) .tl-card {
  order: 1;
}

/*----- 12.2 Service Cards & Clients -----*/
.service-card {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
  padding: 50px 44px 44px;
  overflow: hidden;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow);
  transition: transform 0.5s var(--bd-ease), box-shadow 0.5s var(--bd-ease), background-color 0.5s var(--bd-ease);
}
.service-card::before {
  content: "";
  position: absolute;
  inset: 10px;
  border: 1px solid var(--bd-gild);
  pointer-events: none;
  transition: inset 0.5s var(--bd-ease);
}
.service-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--bd-shadow-lg);
}
.service-card:hover::before {
  inset: 16px;
}
.service-num {
  position: absolute;
  top: 26px;
  right: 34px;
  font-family: var(--bd-ff-heading);
  font-size: 64px;
  font-style: italic;
  font-weight: 600;
  line-height: 1;
  color: rgba(var(--bd-gold-rgb), 0.22);
}
.service-card .bd-glyph {
  margin-bottom: 30px;
}
.service-card h3 {
  margin-bottom: 12px;
  font-size: 32px;
}
.service-card h3 a {
  color: var(--bd-heading);
}
.service-card h3 a:hover {
  color: var(--bd-em);
}
.service-card p {
  font-size: 15.5px;
}
.service-card .bd-link {
  margin-top: auto;
}
.bd-clients-band {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 70px 0;
  background: var(--bd-maroon-deep);
}
.bd-clients-band > .bd-gl {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  --gl-1: #2E0A12;
  --gl-2: #6F1D2A;
  --gl-3: #DDB46A;
  --gl-alpha: 1;
}
.client-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.client-row img {
  width: 190px;
  opacity: 0.85;
  transition: opacity 0.3s var(--bd-ease);
}
.client-row img:hover {
  opacity: 1;
}

/*----- 12.3 Service Details Sidebar -----*/
.service-nav li a {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  margin-bottom: 6px;
  background: var(--bd-tonal);
  font-size: 15.5px;
  font-weight: 600;
  color: var(--bd-heading);
  transition: background-color 0.3s var(--bd-ease), color 0.3s var(--bd-ease);
}
.service-nav li a i {
  font-size: 22px;
  color: var(--bd-accent);
}
.service-nav li a span {
  margin-left: auto;
  font-size: 11px;
  color: var(--bd-accent);
  opacity: 0;
  transition: opacity 0.3s var(--bd-ease), transform 0.3s var(--bd-ease);
  transform: translateX(-6px);
}
.service-nav li a:hover,
.service-nav li.is-current a {
  background: var(--bd-primary);
  color: var(--bd-on-primary);
}
.service-nav li a:hover i,
.service-nav li.is-current a i,
.service-nav li a:hover span,
.service-nav li.is-current a span {
  color: var(--bd-gold-light);
}
.service-nav li a:hover span,
.service-nav li.is-current a span {
  opacity: 1;
  transform: none;
}
.widget-contact a,
.widget-contact span {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--bd-line);
  font-size: 15px;
  color: var(--bd-heading);
}
.widget-contact i {
  color: var(--bd-accent);
}
.sd-gallery {
  margin: 34px 0 6px;
}
.sd-gallery .gallery-item img {
  height: 300px;
}

/*----- 12.4 Profile & Roster -----*/
.profile-photo img {
  width: 100%;
  height: 560px;
  object-fit: cover;
  object-position: center top;
}
.profile-photo {
  margin: 0 0 24px 24px;
}
.bd-profile h2 {
  margin-bottom: 20px;
  font-size: clamp(48px, 5vw, 76px);
}
.bd-profile .bd-kv {
  margin: 30px 0 26px;
}
.roster-list li {
  display: grid;
  grid-template-columns: 150px 1fr auto;
  align-items: baseline;
  gap: 20px;
  padding: 20px 18px;
  border-bottom: 1px solid var(--bd-line-2);
  font-size: 14.5px;
}
.rl-day {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.roster-list b {
  font-family: var(--bd-ff-heading);
  font-size: 25px;
  font-weight: 600;
  color: var(--bd-heading);
}
.roster-list li.is-today {
  background: var(--bd-primary);
  color: rgba(var(--bd-ivory-rgb), 0.8);
}
.roster-list li.is-today b {
  color: var(--bd-ivory);
}
.roster-list li.is-today .rl-day {
  color: var(--bd-gold-light);
}
.roster-list li.is-today .rl-day::after {
  content: " \00B7  Today";
}

/*----- 12.5 FAQ Page & Volunteer Form -----*/
.faq-tools {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 30px;
}
.faq-search {
  width: 280px;
}
.faq-side {
  position: sticky;
  top: 130px;
  padding: 40px 36px;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow);
  outline: 1px solid var(--bd-gild);
  outline-offset: -10px;
  text-align: center;
}
.faq-side .faq-art {
  max-width: 230px;
  margin-bottom: 20px;
}
.faq-side h3,
.faq-side h2 {
  margin-bottom: 10px;
  font-size: 30px;
}
.chip-row.is-days .chip-choice span {
  min-width: 64px;
  height: 46px;
  font-size: 19px;
}

/*======================
13. Temple Shop
========================*/
/*----- 13.1 Shop Grid -----*/
.shop-cats button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 11px 0;
  border-bottom: 1px solid var(--bd-line);
  font-size: 15px;
  color: var(--bd-text);
  text-align: left;
}
.shop-cats li:last-child button {
  border-bottom: 0;
}
.shop-cats button span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 26px;
  border-radius: 13px;
  background: var(--bd-tonal);
  font-size: 12px;
  font-weight: 700;
  color: var(--bd-accent-text);
}
.shop-cats button:hover,
.shop-cats button.is-active {
  color: var(--bd-heading);
  font-weight: 600;
}
.shop-cats button.is-active span {
  background: var(--bd-primary);
  color: var(--bd-on-primary);
}
.bd-range {
  width: 100%;
  height: 4px;
  margin: 14px 0 10px;
  border-radius: 2px;
  background: var(--bd-line-2);
  accent-color: var(--bd-primary);
  -webkit-appearance: none;
  appearance: none;
}
.bd-range::-webkit-slider-thumb {
  width: 20px;
  height: 20px;
  border: 4px solid var(--bd-surface);
  border-radius: 50%;
  background: var(--bd-primary);
  box-shadow: 0 0 0 1px var(--bd-gold);
  cursor: pointer;
  -webkit-appearance: none;
}
.bd-range::-moz-range-thumb {
  width: 14px;
  height: 14px;
  border: 4px solid var(--bd-surface);
  border-radius: 50%;
  background: var(--bd-primary);
  cursor: pointer;
}
.range-ends {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: var(--bd-muted);
}
.side-posts .thumb.is-product {
  background: #FFFFFF;
}
.side-posts .thumb.is-product img {
  object-fit: contain;
}
.tr-price {
  font-family: var(--bd-ff-heading);
  font-size: 19px;
  font-weight: 600;
  color: var(--bd-em);
}
.shop-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 34px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--bd-line-2);
}
.shop-toolbar p {
  margin: 0;
}
.shop-toolbar p b {
  font-family: var(--bd-ff-heading);
  font-size: 26px;
  color: var(--bd-heading);
}
.shop-sort {
  width: 230px;
}
[data-shop-grid] > .is-hidden {
  display: none;
}
.product-card {
  height: 100%;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow);
  transition: transform 0.5s var(--bd-ease), box-shadow 0.5s var(--bd-ease);
}
.product-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--bd-shadow-lg);
}
.pc-media {
  position: relative;
  overflow: hidden;
  background: #FFFFFF;
}
.pc-media::after {
  content: "";
  position: absolute;
  inset: 10px;
  border: 1px solid rgba(var(--bd-gold-rgb), 0.35);
  pointer-events: none;
}
.pc-img {
  display: block;
  padding: 26px;
}
.pc-img img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
  transition: transform 1s var(--bd-ease);
}
.product-card:hover .pc-img img {
  transform: scale(1.06);
}
.pc-badge {
  position: absolute;
  top: 22px;
  left: 22px;
  z-index: 2;
  padding: 4px 13px;
  border-radius: 14px;
  background: var(--bd-primary);
  color: var(--bd-on-primary);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.pc-actions {
  position: absolute;
  top: 22px;
  right: 22px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pc-act {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #FFFFFF;
  box-shadow: 0 6px 16px rgba(var(--bd-night-rgb), 0.12);
  color: #2A1A1C;
  font-size: 14px;
  opacity: 0;
  transform: translateX(10px);
  transition: opacity 0.35s var(--bd-ease), transform 0.35s var(--bd-ease), background-color 0.3s var(--bd-ease), color 0.3s var(--bd-ease);
}
.pc-act:nth-child(2) {
  transition-delay: 0.05s;
}
.product-card:hover .pc-act,
.pc-act:focus,
.pc-act.is-on {
  opacity: 1;
  transform: none;
}
.pc-act:hover,
.pc-act.is-on {
  background: var(--bd-primary);
  color: var(--bd-on-primary);
}
.pc-add {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 52px;
  background: var(--bd-primary);
  color: var(--bd-on-primary);
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transform: translateY(100%);
  transition: transform 0.45s var(--bd-ease), background-color 0.3s var(--bd-ease);
}
.product-card:hover .pc-add,
.pc-add:focus {
  transform: none;
}
.pc-add:hover {
  background: var(--bd-gold);
  color: var(--bd-night);
}
.pc-body {
  padding: 22px 26px 26px;
}
.pc-cat {
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.pc-body h3 {
  margin: 4px 0 12px;
  font-size: 25px;
}
.pc-body h3 a {
  color: var(--bd-heading);
}
.pc-body h3 a:hover {
  color: var(--bd-em);
}
.pc-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.pc-price {
  font-family: var(--bd-ff-heading);
  font-size: 26px;
  font-weight: 600;
  color: var(--bd-heading);
}
.pc-price del {
  margin-left: 6px;
  font-size: 18px;
  color: var(--bd-muted);
}
.pc-stars {
  color: var(--bd-gold);
  font-size: 12px;
  letter-spacing: 1px;
}

/*----- 13.2 Product Page -----*/
.pd-main {
  position: relative;
  padding: 40px;
  background: #FFFFFF;
  box-shadow: var(--bd-shadow);
  outline: 1px solid rgba(var(--bd-gold-rgb), 0.4);
  outline-offset: -12px;
}
.pd-main img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
}
.pd-thumbs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 14px;
}
.pd-thumbs button {
  padding: 8px;
  background: #FFFFFF;
  box-shadow: inset 0 0 0 1px var(--bd-line-2);
  transition: box-shadow 0.3s var(--bd-ease);
}
.pd-thumbs button.is-active,
.pd-thumbs button:hover {
  box-shadow: inset 0 0 0 2px var(--bd-gold);
}
.pd-thumbs img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
}
.pd-info h2 {
  margin: 6px 0 14px;
}
.pd-rating {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
  font-size: 14px;
}
.pd-price {
  margin-bottom: 20px;
  font-family: var(--bd-ff-heading);
  font-size: 46px;
  font-weight: 600;
  line-height: 1;
  color: var(--bd-em);
}
.pd-price del {
  margin-left: 10px;
  font-size: 26px;
  color: var(--bd-muted);
}
.pd-info .bd-kv {
  margin: 24px 0 30px;
}
.pd-buy {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
}
.pd-buy .bd-btn {
  height: 54px;
}
.pd-wish {
  width: 54px;
  height: 54px;
}
.pd-wish.is-on {
  background: var(--bd-primary);
  color: var(--bd-on-primary);
}
.pd-note {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 26px;
  font-size: 14.5px;
}
.pd-note i {
  font-size: 26px;
  color: var(--bd-accent);
}
.pd-tabs {
  margin-top: 80px;
}
.pd-tablist {
  display: flex;
  flex-wrap: wrap;
  gap: 34px;
  margin-bottom: 34px;
  border-bottom: 1px solid var(--bd-line-2);
}
.pd-tablist button {
  position: relative;
  padding: 0 0 18px;
  font-family: var(--bd-ff-heading);
  font-size: 26px;
  font-weight: 600;
  color: var(--bd-muted);
}
.pd-tablist button::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: var(--bd-gold);
  transform: scaleX(0);
  transition: transform 0.4s var(--bd-ease);
}
.pd-tablist button.is-active {
  color: var(--bd-heading);
}
.pd-tablist button.is-active::after {
  transform: scaleX(1);
}
.pd-tabs [role="tabpanel"] {
  max-width: 900px;
}
.review-list li {
  display: flex;
  gap: 20px;
  padding: 24px 0;
  border-bottom: 1px solid var(--bd-line);
}
.review-list img {
  flex: 0 0 auto;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  object-fit: cover;
}
.review-list b {
  margin-right: 12px;
  font-family: var(--bd-ff-heading);
  font-size: 22px;
  font-weight: 600;
  color: var(--bd-heading);
}
.review-list p {
  margin: 6px 0 0;
}

/*----- 13.3 Bag, Checkout & Wishlist -----*/
.bag-lines {
  border-top: 1px solid var(--bd-line-2);
}
.bag-line {
  display: grid;
  grid-template-columns: 110px 1fr auto auto 40px;
  align-items: center;
  gap: 26px;
  padding: 22px 0;
  border-bottom: 1px solid var(--bd-line-2);
}
.bag-lines.is-wish .bag-line {
  grid-template-columns: 110px 1fr auto 40px;
}
.bl-img {
  padding: 8px;
  background: #FFFFFF;
  box-shadow: inset 0 0 0 1px var(--bd-line);
}
.bl-img img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
}
.bl-cat {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.bl-body h4 {
  margin: 2px 0 4px;
  font-size: 26px;
}
.bl-body h4 a {
  color: var(--bd-heading);
}
.bl-price {
  font-size: 14px;
  color: var(--bd-muted);
}
.bl-total {
  min-width: 90px;
  font-family: var(--bd-ff-heading);
  font-size: 26px;
  font-weight: 600;
  text-align: right;
  color: var(--bd-heading);
}
.bl-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--bd-tonal);
  color: var(--bd-heading);
  font-size: 13px;
  transition: background-color 0.3s var(--bd-ease), color 0.3s var(--bd-ease);
}
.bl-remove:hover {
  background: var(--bd-primary);
  color: var(--bd-on-primary);
}
.cart-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 30px;
}
.coupon-form {
  position: relative;
  display: flex;
  gap: 10px;
}
.coupon-form input {
  width: 220px;
  height: 54px;
  padding: 0 18px;
  border: 1px solid var(--bd-line-2);
  background: var(--bd-surface);
  color: var(--bd-heading);
  font-family: var(--bd-ff-body);
  font-size: 15px;
  outline: none;
}
.coupon-form input:focus {
  border-color: var(--bd-gold);
}
.coupon-form .form-status {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 8px;
  white-space: nowrap;
}
.order-summary {
  position: sticky;
  top: 120px;
}
.ship-meter {
  height: 4px;
  overflow: hidden;
  background: var(--bd-line);
}
.ship-meter span {
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, var(--bd-primary), var(--bd-gold));
  transition: width 0.8s var(--bd-ease);
}
.ship-note {
  margin: 10px 0 20px;
  font-size: 14px;
}
.ship-note b {
  color: var(--bd-em);
}
.order-lines li {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid var(--bd-line);
  font-size: 15px;
}
.ol-img {
  position: relative;
  flex: 0 0 auto;
  width: 62px;
  padding: 4px;
  background: #FFFFFF;
  box-shadow: inset 0 0 0 1px var(--bd-line);
}
.ol-img img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
}
.ol-img b {
  position: absolute;
  top: -8px;
  right: -8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--bd-primary);
  color: var(--bd-on-primary);
  font-size: 11px;
}
.ol-name {
  flex: 1 1 auto;
  color: var(--bd-heading);
}
.order-lines li > b {
  font-weight: 600;
  color: var(--bd-heading);
}
.order-summary .bd-kv {
  margin-top: 18px;
}
.choice-list.is-pay {
  margin: 10px 0 20px;
}
.pay-choice {
  padding: 14px 56px 14px 18px;
}
.pay-choice .choice-body b {
  font-size: 21px;
}
.co-terms {
  margin-bottom: 20px;
}
.cart-empty,
.order-done {
  max-width: 640px;
  margin: 0 auto;
  padding: 60px 50px;
  text-align: center;
}
.cart-empty > i {
  margin-bottom: 20px;
  font-size: 46px;
  color: var(--bd-accent);
}
.cart-empty h2,
.order-done h2 {
  font-size: 40px;
}
.order-done p b {
  color: var(--bd-em);
}

/*----- 13.4 Toast -----*/
.bd-toast {
  position: fixed;
  left: 50%;
  bottom: 30px;
  z-index: 2000;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 24px;
  background: var(--bd-night);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.3);
  outline: 1px solid rgba(var(--bd-gold-rgb), 0.5);
  outline-offset: -6px;
  color: var(--bd-ivory);
  font-size: 14.5px;
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 20px);
  transition: opacity 0.4s var(--bd-ease), transform 0.4s var(--bd-ease), visibility 0.4s;
}
.bd-toast i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--bd-gold);
  color: var(--bd-night);
  font-size: 11px;
}
.bd-toast.is-shown {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

/*======================
14. Blog, Contact & Account
========================*/
/*----- 14.1 Blog List -----*/
.post-grid .post-card .post-body {
  margin-top: -50px;
}
.post-thumb.is-video {
  position: relative;
}
.post-thumb.is-video::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(var(--bd-night-rgb), 0.3);
}
.bd-play.is-sm {
  position: absolute;
  top: 40%;
  left: 50%;
  z-index: 2;
  width: 74px;
  height: 74px;
  margin: -37px 0 0 -37px;
  font-size: 19px;
}
.post-quote {
  position: relative;
  justify-content: center;
  padding: 50px 44px;
  overflow: hidden;
  background: var(--bd-maroon);
  outline: 1px solid rgba(var(--bd-gold-rgb), 0.5);
  outline-offset: -10px;
}
.post-quote > i {
  margin-bottom: 18px;
  font-size: 34px;
  color: var(--bd-gold-light);
}
.post-quote > p {
  margin-bottom: 26px;
  font-family: var(--bd-ff-heading);
  font-size: 27px;
  font-style: italic;
  line-height: 1.4;
  color: var(--bd-ivory);
}
.post-quote h3 {
  font-size: 25px;
}
.post-quote h3 a {
  color: var(--bd-ivory);
}
.post-gallery {
  position: relative;
}
.post-gallery .swiper-slide {
  overflow: hidden;
}
.post-gallery img {
  width: 100%;
  height: 280px;
  object-fit: cover;
}
.mini-nav {
  position: absolute;
  top: 20px;
  right: 20px;
  z-index: 3;
  display: flex;
  gap: 6px;
}
.mini-nav button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(var(--bd-night-rgb), 0.6);
  color: var(--bd-ivory);
  font-size: 12px;
  transition: background-color 0.3s var(--bd-ease);
}
.mini-nav button:hover {
  background: var(--bd-gold);
  color: var(--bd-night);
}

/*----- 14.2 Blog Details -----*/
.article-pair {
  margin: 10px 0 30px;
}
.article-pair img {
  width: 100%;
  height: 300px;
  object-fit: cover;
}
.share-copy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--bd-tonal);
  color: var(--bd-heading);
  font-size: 14px;
  transition: background-color 0.3s var(--bd-ease), color 0.3s var(--bd-ease);
}
.share-copy:hover,
.share-copy.is-done {
  background: var(--bd-gold);
  color: var(--bd-night);
}
.author-box {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-top: 50px;
  padding: 40px;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow);
  outline: 1px solid var(--bd-gild);
  outline-offset: -10px;
}
.author-box img {
  flex: 0 0 auto;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 4px var(--bd-surface), 0 0 0 5px var(--bd-gold);
}
.author-box h4 {
  margin-bottom: 8px;
  font-size: 32px;
}
.author-box p {
  margin: 0;
}
.article-body > h3 + .comment-list {
  margin-top: -6px;
}
.comment-list li {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
  padding: 26px 0;
  border-bottom: 1px solid var(--bd-line);
}
.comment-list li > img {
  flex: 0 0 auto;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  object-fit: cover;
}
.comment-list li > div {
  flex: 1 1 0;
  min-width: 0;
}
.comment-list b {
  margin-right: 14px;
  font-family: var(--bd-ff-heading);
  font-size: 23px;
  font-weight: 600;
  color: var(--bd-heading);
}
.comment-list li > div > span {
  font-size: 13px;
  color: var(--bd-muted);
}
.comment-list p {
  margin: 8px 0 10px;
}
.comment-list ul {
  flex: 1 1 100%;
  padding-left: 92px;
}
.comment-list ul li {
  padding-bottom: 0;
  border-bottom: 0;
}
.comment-form {
  margin-top: 46px;
}
.comment-form .bd-btn {
  margin-top: 22px;
}

/*----- 14.3 Contact Page -----*/
.info-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  height: 100%;
  padding: 46px 42px;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow);
  outline: 1px solid var(--bd-gild);
  outline-offset: -10px;
  transition: transform 0.5s var(--bd-ease);
}
.info-card:hover {
  transform: translateY(-8px);
}
.info-card .bd-glyph {
  margin-bottom: 26px;
}
.info-card h3,
.info-card h2 {
  margin-bottom: 10px;
  font-size: 32px;
}
.info-card p {
  font-size: 16.5px;
}
.info-card p a {
  color: var(--bd-heading);
}
.info-note {
  margin-top: auto;
  font-size: 13.5px;
  color: var(--bd-muted);
}
.info-card.is-maroon {
  background: var(--bd-maroon);
}
.info-card.is-maroon .bd-glyph {
  background: rgba(var(--bd-ivory-rgb), 0.1);
}
.map-frame {
  position: relative;
  height: 470px;
  overflow: hidden;
  box-shadow: var(--bd-shadow);
}
.map-frame::after {
  content: "";
  position: absolute;
  inset: 10px;
  border: 1px solid rgba(var(--bd-gold-rgb), 0.6);
  pointer-events: none;
}
.map-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  filter: sepia(0.25) saturate(0.85);
}
[data-theme="dark"] .map-frame iframe {
  filter: invert(0.9) hue-rotate(180deg) sepia(0.2) brightness(0.9);
}
.contact-hours {
  margin-top: 30px;
}

/*----- 14.4 Account Pages -----*/
.account-wrap {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  max-width: 1100px;
  margin: 0 auto;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-lg);
}
.account-side {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 560px;
  padding: 50px;
  overflow: hidden;
  background: var(--bd-maroon-deep);
}
.account-side > .bd-gl {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  --gl-1: #2E0A12;
  --gl-2: #6F1D2A;
  --gl-3: #DDB46A;
  --gl-alpha: 1;
}
.account-side .as-mandala {
  position: absolute;
  top: -140px;
  right: -160px;
  z-index: -1;
  width: 480px;
  opacity: 0.14;
}
.account-side .as-seal {
  width: 92px;
  margin-bottom: auto;
}
.account-side h2 {
  margin: 40px 0 14px;
  font-size: 44px;
}
.account-side p {
  margin: 0;
}
.account-form {
  padding: 56px 54px;
}
.account-form h3 {
  margin-bottom: 26px;
  font-size: 36px;
}
.account-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 24px;
  font-size: 14px;
}
.account-row a {
  color: var(--bd-em);
}
.account-terms {
  margin-bottom: 24px;
}
.account-switch {
  margin: 22px 0 0;
  font-size: 14.5px;
  text-align: center;
}
.account-switch a {
  font-weight: 600;
  color: var(--bd-em);
}
.pass-toggle {
  position: absolute;
  top: 50%;
  right: 8px;
  width: 42px;
  height: 42px;
  color: var(--bd-accent);
  transform: translateY(-50%);
}
.pass-meter {
  height: 4px;
  margin-top: 10px;
  overflow: hidden;
  background: var(--bd-line);
}
.pass-meter span {
  display: block;
  width: 0;
  height: 100%;
  background: #C0392B;
  transition: width 0.4s var(--bd-ease), background-color 0.4s var(--bd-ease);
}
.pass-meter span[data-score="2"] {
  background: var(--bd-gold);
}
.pass-meter span[data-score="3"],
.pass-meter span[data-score="4"] {
  background: #2E7D4F;
}
.pass-hint {
  display: block;
  margin-top: 6px;
  font-size: 12.5px;
  color: var(--bd-muted);
}

/*----- 14.5 Coming Soon & 404 -----*/
.bd-bare {
  background: var(--bd-band);
}
.bd-bare-page {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  min-height: 100vh;
  padding: 80px 0;
  overflow: hidden;
  background: var(--bd-band);
  text-align: center;
}
.bd-bare-page .bare-photo {
  position: absolute;
  inset: 0;
  z-index: -3;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.22;
}
.bd-bare-page > .bd-gl {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
}
.bd-bare-page .bare-mandala {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  width: 900px;
  max-width: none;
  margin: -450px 0 0 -450px;
  opacity: 0.08;
}
.bare-inner {
  max-width: 820px;
  margin: 0 auto;
}
.bare-logo {
  display: inline-block;
  margin-bottom: 50px;
}
.bare-logo img {
  height: 66px;
  width: auto;
}
.bare-inner h1 {
  margin-bottom: 20px;
}
.launch-count {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  max-width: 640px;
  margin: 40px auto;
  border: 1px solid var(--bd-line-2);
}
.launch-count span {
  display: flex;
  flex-direction: column;
  padding: 24px 10px;
  border-right: 1px solid var(--bd-line-2);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.launch-count span:last-child {
  border-right: 0;
}
.launch-count b {
  font-family: var(--bd-ff-heading);
  font-size: 60px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  color: var(--bd-heading);
  font-variant-numeric: tabular-nums;
}
.bare-news {
  position: relative;
  display: flex;
  max-width: 520px;
  margin: 0 auto 30px;
}
.bare-news input {
  flex: 1 1 auto;
  min-width: 0;
  height: 58px;
  padding: 0 20px;
  border: 1px solid var(--bd-line-2);
  background: rgba(var(--bd-ivory-rgb), 0.06);
  color: var(--bd-ivory);
  font-family: var(--bd-ff-body);
  font-size: 15px;
  outline: none;
}
.bare-news input::placeholder {
  color: var(--bd-muted);
}
.bare-news .form-status {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 8px;
}
.bare-social {
  justify-content: center;
}
.error-code {
  display: block;
  margin-bottom: 10px;
  font-family: var(--bd-ff-heading);
  font-size: clamp(140px, 22vw, 260px);
  font-style: italic;
  font-weight: 600;
  line-height: 0.85;
  color: var(--bd-gold-light);
}
.bare-inner .bd-btn-group {
  justify-content: center;
  margin-top: 30px;
}

/*======================
15. Subheader
========================*/
.bd-subheader {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 260px 0 120px;
  background: var(--bd-band);
}
.bd-subheader .sub-bg {
  position: absolute;
  inset: 0;
  z-index: -3;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
}
.bd-subheader::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background: linear-gradient(90deg, rgba(var(--bd-night-rgb), 0.94) 0%, rgba(var(--bd-night-rgb), 0.78) 45%, rgba(var(--bd-maroon-rgb), 0.45) 100%);
}
.bd-subheader .bd-gl {
  position: absolute;
  inset: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  mix-blend-mode: screen;
}
.bd-subheader .sub-mandala {
  position: absolute;
  top: 50%;
  right: -170px;
  z-index: -1;
  width: 660px;
  margin-top: -290px;
  opacity: 0.14;
  pointer-events: none;
}
.bd-subheader .sub-inner {
  max-width: 760px;
}
.bd-subheader .bd-lead {
  margin: 22px 0 0;
}
.bd-crumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.bd-crumbs a {
  color: var(--bd-heading);
}
.bd-crumbs a:hover {
  color: var(--bd-gold-light);
}
.bd-crumbs i {
  font-size: 8px;
  color: var(--bd-gold);
}
.bd-crumbs span {
  color: var(--bd-gold-light);
}

/*----- 15.1 WebGL Textures -----*/
.bd-gl {
  display: block;
  pointer-events: none;
  opacity: 0;
  transition: opacity 1.6s var(--bd-ease);
}
.bd-gl.is-live {
  opacity: 1;
}
.bd-subheader .bd-gl {
  --gl-1: #120809;
  --gl-2: #3A0F18;
  --gl-3: #B88C45;
  --gl-alpha: 0.32;
}
.hero-gl {
  --gl-2: #F1D9A8;
  --gl-3: #DDB46A;
  --gl-alpha: 0.26;
}
.bd-community-band > .bd-gl {
  --gl-1: #2E0A12;
  --gl-2: #6F1D2A;
  --gl-3: #DDB46A;
  --gl-alpha: 1;
}
.bd-video-band > .bd-gl {
  --gl-2: #F1D9A8;
  --gl-3: #DDB46A;
  --gl-alpha: 0.3;
}
[data-gl="ripple"] {
  --gl-1: #F7F1E8;
  --gl-2: #EADFCC;
  --gl-3: #C9973F;
  --gl-alpha: 1;
}
[data-theme="dark"] [data-gl="ripple"] {
  --gl-1: #130B0C;
  --gl-2: #24151A;
  --gl-3: #DDB46A;
}

/*======================
16. Footer
========================*/
.bd-footer {
  position: relative;
  display: flow-root;
  isolation: isolate;
  background: var(--bd-band);
}
.bd-footer .footer-art {
  position: absolute;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}
.bd-footer .footer-art .bd-gl {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.bd-footer .art-mandala {
  position: absolute;
  left: -230px;
  bottom: -260px;
  width: 640px;
  opacity: 0.09;
}
.bd-footer .art-buddha {
  position: absolute;
  right: -40px;
  bottom: 0;
  width: 470px;
  opacity: 0.06;
}

/*----- 16.1 Visit The Temple -----*/
.footer-visit {
  display: grid;
  grid-template-columns: 1fr 1.3fr 1.2fr auto;
  align-items: center;
  margin-top: 96px;
  border: 1px solid var(--bd-line);
  background: rgba(var(--bd-ivory-rgb), 0.03);
}
.visit-cell {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 30px 32px;
  border-right: 1px solid var(--bd-line);
}
.visit-cell > i {
  font-size: 38px;
  line-height: 1;
  color: var(--bd-gold);
}
.visit-cell span {
  display: block;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.visit-cell b {
  display: block;
  font-family: var(--bd-ff-heading);
  font-size: 22px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--bd-heading);
}
.visit-cell b span {
  display: inline;
  font: inherit;
  letter-spacing: 0;
  text-transform: none;
  color: inherit;
}
.bd-moon.is-md {
  width: 40px;
  height: 40px;
  background: linear-gradient(140deg, #F6E1B4, var(--bd-gold));
  box-shadow: 0 0 0 6px rgba(var(--bd-gold-rgb), 0.12), 0 0 30px rgba(var(--bd-gold-rgb), 0.4);
}
.footer-visit .bd-btn {
  margin: 0 26px;
}

/*----- 16.2 Widgets -----*/
.footer-widgets {
  display: grid;
  grid-template-columns: 1.3fr 0.7fr 0.7fr 1.3fr;
  gap: 56px;
  padding: 80px 0 70px;
}
.footer-widgets h2 {
  position: relative;
  margin-bottom: 28px;
  padding-bottom: 16px;
  font-family: var(--bd-ff-heading);
  font-size: 26px;
  font-weight: 600;
}
.footer-widgets h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 42px;
  height: 7px;
  background: radial-gradient(circle at 3.5px 3.5px, var(--bd-gold) 2.4px, transparent 2.9px) 0 0 / 11px 7px repeat-x;
}
.footer-brand .bd-logo img {
  height: 62px;
}
.footer-brand p {
  margin: 24px 0 26px;
  font-size: 15.5px;
}
.footer-news {
  position: relative;
  display: flex;
  max-width: 380px;
  border-bottom: 1px solid var(--bd-line-2);
}
.footer-news input {
  flex: 1 1 auto;
  min-width: 0;
  height: 54px;
  border: 0;
  background: transparent;
  color: var(--bd-heading);
  font-family: var(--bd-ff-body);
  font-size: 15px;
  outline: none;
}
.footer-news input::placeholder {
  color: var(--bd-muted);
}
.footer-news button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin: 4px 0;
  border-radius: 50%;
  background: var(--bd-gold);
  color: var(--bd-night);
  font-size: 13px;
  transition: transform 0.3s var(--bd-ease), background-color 0.3s var(--bd-ease);
}
.footer-news button:hover {
  background: var(--bd-ivory);
  transform: translateX(3px);
}
.footer-news .form-status {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 8px;
  font-size: 13px;
}
.footer-contacts li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 10px;
  font-size: 15px;
}
.footer-contacts i {
  margin-top: 6px;
  font-size: 13px;
  color: var(--bd-gold);
}
.footer-contacts a {
  color: var(--bd-heading);
}
.footer-links li {
  margin-bottom: 12px;
}
.footer-links a {
  position: relative;
  display: inline-block;
  font-size: 15.5px;
  color: var(--bd-text);
  transition: color 0.3s var(--bd-ease), transform 0.35s var(--bd-ease);
}
.footer-links a::before {
  content: "";
  position: absolute;
  left: -16px;
  top: 50%;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--bd-gold);
  opacity: 0;
  transform: translateY(-50%) scale(0.4);
  transition: opacity 0.3s var(--bd-ease), transform 0.3s var(--bd-ease);
}
.footer-links a:hover {
  color: var(--bd-heading);
  transform: translateX(14px);
}
.footer-links a:hover::before {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}
.footer-posts li {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}
.footer-posts li:last-child {
  margin-bottom: 0;
}
.footer-posts .thumb {
  flex: 0 0 auto;
  width: 78px;
  height: 66px;
  overflow: hidden;
}
.footer-posts .thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s var(--bd-ease);
}
.footer-posts li:hover .thumb img {
  transform: scale(1.1);
}
.footer-posts .date {
  display: block;
  margin-bottom: 3px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bd-accent-text);
}
.footer-posts h3 {
  font-family: var(--bd-ff-heading);
  font-size: 19px;
  line-height: 1.3;
}
.footer-posts h3 a {
  color: var(--bd-heading);
}
.footer-posts h3 a:hover {
  color: var(--bd-gold-light);
}
.footer-bottom {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 28px 0;
  border-top: 1px solid var(--bd-line);
  font-size: 14px;
}
.footer-bottom p {
  margin: 0;
}
.footer-bottom a {
  color: var(--bd-gold-light);
}

/*----- 16.3 Style One (Home 1 & Inner Pages) -----*/
.footer-style-one {
  margin-top: 110px;
}
/* a page that ends on the dark join band: the band runs on under the strip, so the strip sits half on the band and
   half on the footer with no light gap between them */
body:has(.main-root > .bd-cta-band:last-child) .footer-style-one {
  margin-top: 0;
}
.main-root > .bd-cta-band:last-child {
  padding-bottom: 210px;
}
@media (min-width: 992px) {
  /* one row of three: the strip sits exactly half on the band, half on the footer */
  .main-root > .bd-cta-band:last-child {
    padding-bottom: 191px;
  }
  body:has(.main-root > .bd-cta-band:last-child) .footer-style-one .footer-icons {
    margin-top: -91px;
  }
}
.footer-icons {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: -110px;
  background: var(--bd-surface);
  box-shadow: var(--bd-shadow-lg);
  outline: 1px solid var(--bd-gild);
  outline-offset: -10px;
}
.footer-icons .item {
  display: flex;
  align-items: flex-start;
  gap: 22px;
  padding: 46px 40px;
  border-right: 1px solid var(--bd-line);
}
.footer-icons .item:last-child {
  border-right: 0;
}
.footer-icons .bd-glyph {
  width: 66px;
  height: 66px;
  font-size: 30px;
}
.footer-icons h2 {
  margin-bottom: 6px;
  font-family: var(--bd-ff-heading);
  font-size: 25px;
  font-weight: 600;
}
.footer-icons p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.7;
}
.footer-style-one .footer-visit {
  margin-top: 80px;
}

/*----- 16.4 Style Two (Home 2) -----*/
.footer-style-two .footer-bottom {
  padding: 34px 0;
}
.footer-style-two .footer-plate {
  position: absolute;
  left: 50%;
  bottom: 0;
  padding: 24px 36px;
  background: var(--bd-ivory);
  transform: translateX(-50%);
  outline: 1px solid rgba(var(--bd-gold-rgb), 0.6);
  outline-offset: -7px;
}
.footer-style-two .footer-plate img {
  height: 54px;
  width: auto;
}

/*----- 16.5 Style Three (Home 3) -----*/
.footer-style-three .footer-bar {
  border-bottom: 1px solid var(--bd-line);
  background: rgba(var(--bd-maroon-rgb), 0.55);
}
.footer-style-three .footer-bar .bar-inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: stretch;
}
.footer-style-three .footer-bar .bd-logo {
  padding: 28px 44px 28px 0;
  border-right: 1px solid var(--bd-line);
}
.bar-news {
  position: relative;
  display: flex;
  align-items: center;
  padding: 0 44px;
  border-right: 1px solid var(--bd-line);
}
.bar-news > i {
  margin-right: 14px;
  color: var(--bd-gold);
}
.bar-news input {
  flex: 1 1 auto;
  min-width: 0;
  height: 56px;
  border: 0;
  background: transparent;
  color: var(--bd-heading);
  font-family: var(--bd-ff-body);
  font-size: 15px;
  outline: none;
}
.bar-news input::placeholder {
  color: var(--bd-muted);
}
.bar-news button {
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--bd-gold-light);
}
.bar-news button i {
  margin-left: 8px;
}
.bar-news .form-status {
  position: absolute;
  left: 44px;
  bottom: 8px;
  margin: 0;
  font-size: 12px;
}
.footer-style-three .footer-bar .bd-social {
  align-items: center;
  padding-left: 44px;
}
.footer-style-three .footer-bottom {
  justify-content: center;
}

/*----- 16.6 Back To Top -----*/
.bd-back-top {
  position: fixed;
  right: 26px;
  bottom: 26px;
  z-index: 90;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background: conic-gradient(var(--bd-gold) calc(var(--p, 0) * 1%), rgba(var(--bd-heading-rgb), 0.14) 0);
  color: var(--bd-heading);
  opacity: 0;
  visibility: hidden;
  transform: translateY(14px);
  transition: opacity 0.4s var(--bd-ease), transform 0.4s var(--bd-ease), visibility 0.4s;
}
.bd-back-top::before {
  content: "";
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: var(--bd-surface);
}
.bd-back-top i {
  position: relative;
  font-size: 14px;
}
.bd-back-top.is-on {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.bd-back-top:hover i {
  color: var(--bd-accent-text);
}
