/* Floating language toggle - persistent on every viewport */
      .lang-fab {
        position: fixed;
        right: 22px;
        bottom: 22px;
        z-index: 1080;
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 12px 18px;
        border-radius: 999px;
        background: #14201C;
        color: #F2F0EB;
        border: 1px solid rgba(242,240,235,0.14);
        font: 500 0.8rem/1 'Figtree', sans-serif;
        letter-spacing: 0.02em;
        cursor: pointer;
        box-shadow: 0 10px 30px -8px rgba(0,0,0,0.35), 0 2px 6px rgba(0,0,0,0.18);
        transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
        text-decoration: none;
        white-space: nowrap;
      }
      .lang-fab:hover { transform: translateY(-2px); box-shadow: 0 14px 36px -6px rgba(0,0,0,0.45); background: #1a2925; color: #F2F0EB; }
      .lang-fab:focus-visible { outline: 2px solid #C9A961; outline-offset: 3px; }
      .lang-fab svg { width: 16px; height: 16px; flex: 0 0 auto; opacity: 0.85; }
      body[data-lang='pa'] .lang-fab .lang-fab-label { font-family: 'Figtree', sans-serif; }
      body[data-lang='en'] .lang-fab .lang-fab-label { font-family: 'Noto Serif Gurmukhi', serif; font-weight: 500; font-size: 0.95rem; }
      .whatsapp-fab {
        position: fixed;
        left: 22px;
        bottom: 22px;
        z-index: 1080;
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 12px 18px;
        border-radius: 999px;
        background: #25D366;
        color: #ffffff;
        border: 1px solid rgba(0,0,0,0.08);
        font: 600 0.8rem/1 'Figtree', sans-serif;
        letter-spacing: 0.01em;
        text-decoration: none;
        box-shadow: 0 10px 28px -8px rgba(16, 46, 28, 0.45), 0 2px 6px rgba(0,0,0,0.18);
        transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
        white-space: nowrap;
      }
      .whatsapp-fab:hover {
        transform: translateY(-2px);
        box-shadow: 0 14px 34px -8px rgba(16, 46, 28, 0.5), 0 2px 6px rgba(0,0,0,0.18);
        background: #1fbc5b;
        color: #ffffff;
      }
      .whatsapp-fab:focus-visible { outline: 2px solid #0f5f2e; outline-offset: 3px; }
      .whatsapp-fab svg { width: 18px; height: 18px; flex: 0 0 auto; }
      @media (max-width: 575px) {
        .whatsapp-fab { left: 14px; bottom: 14px; padding: 10px 14px; font-size: 0.74rem; }
        .whatsapp-fab svg { width: 16px; height: 16px; }
        .lang-fab { right: 14px; bottom: 14px; padding: 10px 14px; font-size: 0.74rem; }
        .lang-fab svg { width: 14px; height: 14px; }
      }

      /* ============ SERVICES BANNER ============ */
      .services-banner {
        position: relative;
        height: 280px;
        border-radius: 8px;
        overflow: hidden;
        margin-bottom: 48px;
      }
      .services-banner-img { position: absolute; inset: 0; }
      .services-banner-img img { width: 100%; height: 100%; object-fit: cover; filter: brightness(0.55); }
      .services-banner-overlay {
        position: absolute;
        inset: 0;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        padding: 36px 44px;
        color: #F2F0EB;
        background: linear-gradient(to top, rgba(20,32,28,0.85), rgba(20,32,28,0.1) 70%);
      }
      .services-banner-kicker {
        font-size: 0.72rem;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        font-weight: 600;
        color: #C9A961;
        margin-bottom: 12px;
        display: inline-block;
      }
      .services-banner-heading {
        font-family: 'Fraunces', serif;
        font-weight: 400;
        font-size: clamp(1.6rem, 3vw, 2.4rem);
        line-height: 1.2;
        margin: 0;
        letter-spacing: -0.015em;
        max-width: 700px;
      }
      body[data-lang='pa'] .services-banner-heading { font-family: 'Noto Serif Gurmukhi', serif; }
      @media (max-width: 767px) {
        .services-banner { height: 220px; }
        .services-banner-overlay { padding: 24px 24px; }
      }

      /* ============ SEVADAR INTRO SPLIT ============ */
      .sevadar-intro {
        display: grid;
        grid-template-columns: 5fr 6fr;
        gap: 48px;
        align-items: center;
        margin-bottom: 56px;
      }
      @media (max-width: 991px) {
        .sevadar-intro { grid-template-columns: 1fr; gap: 32px; }
      }
      .sevadar-intro-img {
        position: relative;
        border-radius: 8px;
        overflow: hidden;
        aspect-ratio: 4/5;
      }
      .sevadar-intro-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
      }
      .sevadar-intro-cap {
        position: absolute;
        left: 20px;
        right: 20px;
        bottom: 20px;
        padding: 16px 18px;
        background: rgba(20, 32, 28, 0.92);
        backdrop-filter: blur(4px);
        color: #F2F0EB;
        border-radius: 4px;
        font-size: 0.82rem;
        line-height: 1.55;
      }
      .sevadar-intro-cap strong {
        display: block;
        font-family: 'Fraunces', serif;
        font-weight: 500;
        font-size: 0.9rem;
        color: #C9A961;
        margin-bottom: 6px;
      }
      body[data-lang='pa'] .sevadar-intro-cap strong { font-family: 'Noto Serif Gurmukhi', serif; }
      .sevadar-intro-copy { display: flex; flex-direction: column; gap: 14px; }
      .services-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0;
        border: 1px solid var(--hairline, rgba(0,0,0,0.08));
        border-radius: 8px;
        overflow: hidden;
        background: var(--bg, #FDFBF5);
      }
      .service-panel {
        padding: 34px 32px 32px;
        border-right: 1px solid var(--hairline, rgba(0,0,0,0.08));
        border-bottom: 1px solid var(--hairline, rgba(0,0,0,0.08));
        display: flex;
        flex-direction: column;
        gap: 18px;
        transition: background 0.2s;
      }
      .service-panel:hover { background: var(--bg-mist, #F6F3EC); }
      .service-panel-head { display: flex; gap: 18px; align-items: flex-start; }
      .service-panel-index {
        font-family: 'Fraunces', serif;
        font-size: 2rem;
        font-weight: 400;
        color: var(--accent, #2A5D52);
        line-height: 1;
        min-width: 2.2rem;
        opacity: 0.55;
        font-variant-numeric: tabular-nums;
      }
      body[data-lang='pa'] .service-panel-index { font-family: 'Fraunces', serif; }
      .service-panel-tag {
        display: inline-block;
        font-size: 0.66rem;
        font-weight: 700;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: var(--accent-darker, #1A3F37);
        background: var(--accent-soft, rgba(42,93,82,0.08));
        padding: 4px 10px;
        border-radius: 4px;
        margin-bottom: 10px;
      }
      .service-panel-title {
        font-family: var(--font-display, 'Fraunces', serif);
        font-weight: 500;
        font-size: 1.25rem;
        color: var(--ink, #1A1A1A);
        margin: 0 0 8px;
        line-height: 1.25;
      }
      body[data-lang='pa'] .service-panel-title { font-family: 'Noto Serif Gurmukhi', serif; }
      .service-panel-desc {
        font-size: 0.9rem;
        line-height: 1.65;
        color: var(--ink-soft, #4a4a4a);
        margin: 0;
      }
      .service-panel-list {
        list-style: none;
        padding: 0;
        margin: 0;
        padding-top: 16px;
        border-top: 1px solid var(--hairline-soft, rgba(0,0,0,0.05));
        display: flex;
        flex-direction: column;
        gap: 9px;
      }
      .service-panel-list li {
        position: relative;
        padding-left: 22px;
        font-size: 0.88rem;
        color: var(--ink-soft, #4a4a4a);
        line-height: 1.5;
      }
      .service-panel-list li::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0.55em;
        width: 12px;
        height: 1px;
        background: var(--accent, #2A5D52);
      }
      .services-grid > .service-panel:nth-child(3n) { border-right: 0; }
      .services-grid > .service-panel:nth-last-child(-n + 3) { border-bottom: 0; }
      @media (max-width: 991.98px) {
        .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        .services-grid > .service-panel:nth-child(3n) { border-right: 1px solid var(--hairline, rgba(0,0,0,0.08)); }
        .services-grid > .service-panel:nth-last-child(-n + 3) { border-bottom: 1px solid var(--hairline, rgba(0,0,0,0.08)); }
        .services-grid > .service-panel:nth-child(2n) { border-right: 0; }
        .services-grid > .service-panel:nth-last-child(-n + 2) { border-bottom: 0; }
      }
      @media (max-width: 767.98px) {
        .services-grid { grid-template-columns: 1fr; }
        .service-panel { padding: 30px 24px 28px; border-right: 0; }
        .services-grid > .service-panel:nth-child(2n) { border-right: 0; }
        .services-grid > .service-panel:nth-last-child(-n + 2) { border-bottom: 1px solid var(--hairline, rgba(0,0,0,0.08)); }
        .services-grid > .service-panel:last-child { border-bottom: 0; }
      }

      /* ============ GURBANI PULLOUT ============ */
      .gurbani-pullout {
        background: linear-gradient(135deg, #1a2925 0%, #0f1a17 100%);
        color: #F2F0EB;
        padding: clamp(56px, 7vw, 96px) 0;
        position: relative;
        overflow: hidden;
      }
      .gurbani-pullout::before {
        content: '';
        position: absolute;
        inset: 0;
        background-image: radial-gradient(circle at 20% 20%, rgba(201, 169, 97, 0.06), transparent 50%),
                          radial-gradient(circle at 80% 80%, rgba(42, 93, 82, 0.12), transparent 50%);
        pointer-events: none;
      }
      .gurbani-pullout-inner {
        max-width: 900px;
        margin: 0 auto;
        text-align: center;
        position: relative;
      }
      .gurbani-pullout-mark {
        width: 36px;
        height: 36px;
        color: #C9A961;
        opacity: 0.6;
        margin-bottom: 26px;
      }
      .gurbani-pullout-quote {
        font-family: 'Fraunces', serif;
        font-weight: 300;
        font-style: italic;
        font-size: clamp(1.5rem, 2.6vw, 2.1rem);
        line-height: 1.4;
        margin: 0 0 24px;
        color: #F2F0EB;
        letter-spacing: -0.01em;
      }
      body[data-lang='pa'] .gurbani-pullout-quote {
        font-family: 'Noto Serif Gurmukhi', serif;
        font-style: normal;
        font-weight: 400;
      }
      .gurbani-pullout-cite {
        font-family: 'Figtree', sans-serif;
        font-style: normal;
        font-size: 0.82rem;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: #C9A961;
        opacity: 0.85;
      }

      /* ============ TIER CARDS ============ */
      .tier-card {
        background: var(--bg, #FDFBF5);
        border: 1px solid var(--hairline, rgba(0,0,0,0.1));
        border-radius: 8px;
        padding: 30px 28px 28px;
        height: 100%;
        display: flex;
        flex-direction: column;
        gap: 14px;
        transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
      }
      .tier-card:hover { border-color: var(--accent, #2A5D52); transform: translateY(-3px); box-shadow: 0 10px 30px -10px rgba(0,0,0,0.15); }
      .tier-card-featured {
        background: #14201C;
        color: #F2F0EB;
        border-color: #14201C;
      }
      .tier-card-featured:hover { border-color: #C9A961; }
      .tier-card-top {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding-bottom: 16px;
        border-bottom: 1px solid var(--hairline-soft, rgba(0,0,0,0.08));
      }
      .tier-card-featured .tier-card-top { border-bottom-color: rgba(242,240,235,0.12); }
      .tier-card-letter {
        font-family: 'Fraunces', serif;
        font-size: 2rem;
        font-weight: 400;
        color: var(--accent, #2A5D52);
        line-height: 1;
        opacity: 0.8;
      }
      .tier-card-featured .tier-card-letter { color: #C9A961; opacity: 1; }
      .tier-card-pill {
        font-size: 0.7rem;
        font-weight: 600;
        letter-spacing: 0.1em;
        padding: 5px 12px;
        border-radius: 999px;
        background: var(--accent-soft, rgba(42,93,82,0.08));
        color: var(--accent-darker, #1A3F37);
        text-transform: uppercase;
      }
      .tier-card-pill-free { background: #2A5D52; color: #F2F0EB; }
      .tier-card-pill-gold { background: #C9A961; color: #14201C; }
      .tier-card-title {
        font-family: var(--font-display, 'Fraunces', serif);
        font-weight: 500;
        font-size: 1.35rem;
        margin: 0;
        letter-spacing: -0.01em;
      }
      body[data-lang='pa'] .tier-card-title { font-family: 'Noto Serif Gurmukhi', serif; }
      .tier-card-eligibility {
        font-size: 0.88rem;
        line-height: 1.6;
        margin: 0;
        color: var(--ink-soft, #4a4a4a);
      }
      .tier-card-featured .tier-card-eligibility { color: rgba(242,240,235,0.75); }
      .tier-card-list {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 8px;
        flex: 1;
      }
      .tier-card-list li {
        position: relative;
        padding-left: 22px;
        font-size: 0.88rem;
        line-height: 1.5;
        color: var(--ink, #1A1A1A);
      }
      .tier-card-featured .tier-card-list li { color: rgba(242,240,235,0.88); }
      .tier-card-list li::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0.55em;
        width: 12px;
        height: 1px;
        background: var(--accent, #2A5D52);
      }
      .tier-card-featured .tier-card-list li::before { background: #C9A961; }
      .tier-card-footer {
        font-size: 0.72rem;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: var(--ink-muted, #6a6a6a);
        font-weight: 600;
        margin-top: 8px;
        padding-top: 14px;
        border-top: 1px solid var(--hairline-soft, rgba(0,0,0,0.08));
      }
      .tier-card-featured .tier-card-footer { color: rgba(242,240,235,0.55); border-top-color: rgba(242,240,235,0.12); }

      /* ============ SEVADAR CARDS ============ */
      .sevadar-card {
        background: var(--bg, #FDFBF5);
        border: 1px solid var(--hairline, rgba(0,0,0,0.08));
        border-radius: 6px;
        padding: 28px 26px 26px;
        height: 100%;
        display: flex;
        flex-direction: column;
        gap: 14px;
        transition: border-color 0.2s, background 0.2s;
      }
      .sevadar-card:hover { border-color: var(--accent, #2A5D52); background: var(--bg-mist, #F6F3EC); }
      .sevadar-card-icon {
        width: 40px;
        height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: var(--accent, #2A5D52);
      }
      .sevadar-card-icon svg { width: 26px; height: 26px; }
      .sevadar-card-title {
        font-family: var(--font-display, 'Fraunces', serif);
        font-weight: 500;
        font-size: 1.1rem;
        margin: 0;
        color: var(--ink, #1A1A1A);
        letter-spacing: -0.01em;
      }
      body[data-lang='pa'] .sevadar-card-title { font-family: 'Noto Serif Gurmukhi', serif; }
      .sevadar-card-desc {
        font-size: 0.88rem;
        line-height: 1.6;
        margin: 0;
        color: var(--ink-soft, #4a4a4a);
      }

      /* ============ DESKTOP SPACING POLISH ============ */
      @media (min-width: 992px) {
        .sevadar-intro {
          grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
          align-items: start;
          gap: 24px;
          margin-bottom: 24px;
        }

        .sevadar-intro-img {
          aspect-ratio: 1.48 / 1;
          max-height: 620px;
        }

        .sevadar-intro-img img {
          object-position: center 18%;
        }

        .sevadar-intro-cap {
          left: 16px;
          right: 16px;
          bottom: 16px;
          padding: 14px 16px;
        }

        .sevadar-intro-copy {
          align-self: start;
          justify-content: flex-start;
          padding-top: 4px;
          gap: 10px;
          max-width: 700px;
        }

        .sevadar-intro-copy .section-heading {
          max-width: 10ch;
        }

        .sevadar-intro-copy .section-intro,
        .sevadar-intro-copy .impact-header-meta {
          max-width: 36ch;
        }

        .sevadar-intro-copy .section-intro {
          font-size: 0.96rem;
          line-height: 1.58;
        }

        .sevadar-intro-copy .impact-header-meta {
          margin-top: 10px !important;
          font-size: 0.88rem;
          line-height: 1.55;
        }

        #donate .row.align-items-stretch {
          align-items: start !important;
        }

        #donate .position-relative {
          padding-left: 0 !important;
          padding-bottom: 0 !important;
        }

        .donate-img-frame {
          aspect-ratio: 4 / 2.65;
          max-height: 560px;
        }

        .donate-img-card {
          left: 18px;
          bottom: 18px;
          padding: 16px 18px;
          max-width: 184px;
        }

        .sevadar-card {
          padding: 22px 22px 20px;
          gap: 12px;
          height: auto;
        }

        .sevadar-card-title {
          font-size: 1.02rem;
        }

        .sevadar-card-desc {
          font-size: 0.85rem;
          line-height: 1.52;
        }
      }

      /* Gurmukhi body font when switched */
      body[data-lang='pa'] {
        font-family: 'Noto Serif Gurmukhi', 'Figtree', sans-serif;
      }
      body[data-lang='pa'] h1, body[data-lang='pa'] h2, body[data-lang='pa'] h3, body[data-lang='pa'] h4,
      body[data-lang='pa'] .brand-name, body[data-lang='pa'] .section-heading,
      body[data-lang='pa'] .hero-title, body[data-lang='pa'] em {
        font-family: 'Noto Serif Gurmukhi', 'Fraunces', serif;
        font-style: normal;
      }
