/* ===== GLOBAL RESET ===== */
    /* ===== BREATHING BACKGROUND ===== */
    @media (prefers-reduced-motion: no-preference) {
      body::before {
        content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none;
        background: radial-gradient(ellipse at 30% 20%, rgba(196,149,106,0.03) 0%, transparent 50%),
                    radial-gradient(ellipse at 70% 80%, rgba(139,94,60,0.02) 0%, transparent 50%);
        animation: bg-breathe 12s ease-in-out infinite alternate;
      }
      @keyframes bg-breathe {
        0% { opacity: 0.5; }
        100% { opacity: 1; }
      }
    }

    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { font-size: 16px; -webkit-font-smoothing: antialiased; }
    body {
      font-family: 'Inter', system-ui, sans-serif;
      background-color: #FBF7F2;
      color: #2C1B12;
      overflow-x: hidden;
    }
    a { transition: color 0.3s ease, opacity 0.3s ease; }

    /* ===== HERO BACKGROUND ===== */
    .hero-bg {
      position: absolute; inset: 0; z-index: 0; overflow: hidden;
    }
    .hero-bg img {
      width: 100%; height: 100%;
      object-fit: cover; object-position: center 30%;
      opacity: 1;
      filter: brightness(0.88) contrast(1.05) saturate(0.85);
      animation: ken-burns 25s ease-in-out infinite alternate;
    }
    .hero-bg::after {
      content: '';
      position: absolute; inset: 0;
      background: linear-gradient(to right,
        rgba(250,248,245,0.97) 0%,
        rgba(250,248,245,0.85) 40%,
        rgba(250,248,245,0.5) 70%,
        rgba(250,248,245,0.15) 100%
      );
    }
    .hero-bg::before {
      content: '';
      position: absolute; inset: 0;
      z-index: 1;
      background: linear-gradient(180deg,
        rgba(247,243,238,0.3) 0%,
        transparent 30%,
        transparent 60%,
        rgba(247,243,238,0.6) 100%
      );
    }
    @keyframes ken-burns {
      0%   { transform: scale(1); }
      100% { transform: scale(1.08); }
    }
    .video-link { display: none !important; }
    @media (max-width: 767px) {
      .hero-bg::after {
        background: linear-gradient(180deg,
          rgba(250,248,245,0.94) 0%,
          rgba(250,248,245,0.75) 55%,
          rgba(250,248,245,0.4) 100%
        );
      }
      .hero-bg img { object-position: center 30%; }
    }

    /* ===== HERO PARALLAX ===== */
    .hero-parallax { will-change: transform; transition: transform 0.1s linear; }

    /* ===== SPARKLES ===== */
    .sparkle {
      position: absolute; border-radius: 50%;
      pointer-events: none; z-index: 2;
      background: radial-gradient(circle, rgba(212,176,140,0.8) 0%, rgba(196,149,106,0.3) 40%, transparent 70%);
    }
    .sparkle-sm { width: 6px; height: 6px; }
    .sparkle-md { width: 12px; height: 12px; }
    .sparkle-lg { width: 20px; height: 20px; }
    @keyframes sparkle-float {
      0%   { opacity: 0; transform: translateY(0) scale(0.3); }
      15%  { opacity: 1; transform: translateY(-8px) scale(1); }
      50%  { opacity: 0.7; transform: translateY(-30px) scale(0.9); }
      100% { opacity: 0; transform: translateY(-70px) scale(0.4); }
    }
    @keyframes sparkle-drift {
      0%   { opacity: 0; transform: translate(0, 0) scale(0.3); }
      20%  { opacity: 0.6; transform: translate(5px, -12px) scale(1); }
      60%  { opacity: 0.4; transform: translate(-3px, -35px) scale(0.8); }
      100% { opacity: 0; transform: translate(8px, -65px) scale(0.3); }
    }
    .sparkle.active { animation: sparkle-float 4s ease-out infinite; }
    .sparkle.drift.active { animation: sparkle-drift 5s ease-in-out infinite; }

    /* ===== HEADER ===== */
    .header-scrolled {
      background-color: rgba(247,243,238,0.92) !important;
      backdrop-filter: blur(12px) !important;
      -webkit-backdrop-filter: blur(12px) !important;
      border-bottom-color: rgba(232,221,211,0.6) !important;
      box-shadow: 0 1px 20px rgba(44,27,18,0.06) !important;
    }

    /* ===== NAV LINK ===== */
    .nav-link { position: relative; }
    .nav-link::after {
      content: ''; position: absolute; bottom: -2px; left: 0;
      width: 0; height: 1px; background-color: #8B5E3C;
      transition: width 0.3s ease;
    }
    .nav-link:hover::after { width: 100%; }

    /* ===== MOBILE MENU ===== */
    .mobile-menu {
      max-height: 0; overflow: hidden; opacity: 0;
      transition: max-height 0.4s cubic-bezier(0.25,0.46,0.45,0.94), opacity 0.3s ease;
    }
    .mobile-menu.open { max-height: 400px; opacity: 1; }

    /* ===== BUTTONS ===== */
    .btn-cta {
      position: relative; overflow: hidden;
      transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
    }
    .btn-cta::before {
      content: ''; position: absolute; top: 0; left: -100%;
      width: 100%; height: 100%;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,0.15), transparent);
      transition: left 0.6s ease;
    }
    .btn-cta:hover::before { left: 100%; }
    .btn-cta:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(139,94,60,0.35); }
    /* ===== METALLIC BUTTON ===== */
    .btn-metallic {
      background: linear-gradient(135deg, #D4B08C 0%, #C4956A 30%, #A67550 70%, #8B5E3C 100%);
      box-shadow: 0 4px 20px rgba(139,94,60,0.3), inset 0 1px 0 rgba(255,255,255,0.2);
      position: relative; overflow: hidden;
      transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94);
    }
    .btn-metallic::before {
      content: ''; position: absolute; top: 0; left: -100%;
      width: 100%; height: 100%;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
      transition: left 0.6s ease;
    }
    .btn-metallic:hover::before { left: 100%; }
    .btn-metallic:hover {
      transform: translateY(-2px);
      box-shadow: 0 8px 30px rgba(139,94,60,0.4), inset 0 1px 0 rgba(255,255,255,0.25);
    }


    /* ===== GOLD LINE DIVIDER ===== */
    /* ===== SECTION ORNAMENT DIVIDER ===== */
    .section-ornament {
      display: flex; align-items: center; justify-content: center; gap: 12px;
      padding: 0; height: 1px; max-width: 200px; margin: 0 auto;
    }
    .section-ornament::before,
    .section-ornament::after {
      content: ''; flex: 1; height: 1px;
      background: linear-gradient(to right, transparent, rgba(196,149,106,0.3), transparent);
    }
    .section-ornament svg { color: rgba(196,149,106,0.4); flex-shrink: 0; }

    .gold-line { height: 1px; width: 40px; background: #C4956A; }


    /* ===== GRADIENT TEXT ===== */
    .gradient-text {
      background: linear-gradient(135deg, #C4956A 0%, #8B5E3C 50%, #6B4226 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
    }
    /* ===== SOUL ORBIT MAP ===== */
    @keyframes soul-orbit-spin {
      100% { transform: rotate(360deg); }
    }
    @keyframes soul-orbit-counter {
      0% { transform: rotate(var(--a)); }
      100% { transform: rotate(calc(var(--a) - 360deg)); }
    }
    .soul-orbit-wrap {
      position: relative; width: 100%; aspect-ratio: 1/1; max-width: 560px; margin: 0 auto;
    }
    .soul-orbit {
      position: absolute; inset: 6%;
      animation: 48s linear 0s infinite normal none running soul-orbit-spin;
    }
    .soul-orbit > div {
      position: absolute; inset: 0; pointer-events: none;
    }
    .soul-orbit > div > div {
      position: absolute; left: 50%; top: 0; transform: translateX(-50%); pointer-events: none;
    }
    .soul-orbit-item {
      display: flex; flex-direction: column; align-items: center; gap: 8px;
      text-decoration: none; cursor: pointer; position: relative; z-index: 3; pointer-events: auto;
      transform: rotate(var(--a));
      animation: 48s linear 0s infinite normal none running soul-orbit-counter;
    }
    .soul-orbit-item span:first-child {
      display: grid; place-items: center; width: 56px; height: 56px;
      border-radius: 50%; border: 1px solid rgba(196,149,106,0.4);
      background: rgba(247,243,238,0.9); backdrop-filter: blur(8px);
      color: #C4956A; transition: all 0.3s ease;
      box-shadow: 0 4px 20px rgba(44,27,18,0.06);
    }
    .soul-orbit-item:hover span:first-child {
      border-color: #C4956A; background: #fff;
      box-shadow: 0 8px 30px rgba(139,94,60,0.15);
    }
    .soul-orbit-item span:first-child svg {
      width: 20px; height: 20px;
    }
    .soul-orbit-item span:last-child {
      font-size: 12px; color: rgba(92,74,58,0.75); white-space: nowrap;
      font-weight: 400; letter-spacing: 0.02em;
    }
    .soul-orbit-wrap:hover .soul-orbit,
    .soul-orbit-wrap:hover .soul-orbit-item {
      animation-play-state: paused;
    }
    .soul-orbit-center {
      position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);
      width: 128px; height: 128px; border-radius: 50%;
      border: 1px solid rgba(196,149,106,0.5);
      background: rgba(247,243,238,0.95); backdrop-filter: blur(8px);
      display: grid; place-items: center; text-align: center;
      box-shadow: 0 20px 60px -30px rgba(196,149,106,0.5);
      transition: all 0.4s ease; z-index: 2; text-decoration: none; pointer-events: auto;
    }
    .soul-orbit-center:hover {
      border-color: #C4956A;
      box-shadow: 0 20px 60px -20px rgba(139,94,60,0.4);
    }
    .soul-orbit-center .center-title {
      font-family: 'Cormorant Garamond', serif; font-size: 2.25rem;
      font-weight: 500; line-height: 1; color: #2C1B12;
    }
    .soul-orbit-center .center-sub {
      margin-top: 4px; font-size: 10px; text-transform: uppercase;
      letter-spacing: 0.15em; color: rgba(92,74,58,0.6); line-height: 1.3;
    }
    .orbit-ring {
      position: absolute; border-radius: 50%;
      border: 1px solid rgba(196,149,106,0.2);
      pointer-events: none;
    }
    .orbit-ring--inner { inset: 12%; border-color: rgba(196,149,106,0.3); }
    .orbit-ring--outer { inset: 24%; }
    .soul-map-hint {
      position: absolute; bottom: -10%; right: -16px;
      display: none; align-items: flex-start; gap: 8px;
      max-width: 180px; font-size: 12px; color: rgba(92,74,58,0.55);
    }
    .soul-map-hint svg {
      width: 16px; height: 16px; min-width: 16px; color: #C4956A; margin-top: 1px;
    }
    @media (min-width: 768px) { .soul-map-hint { display: flex; } }

    /* ===== SLIDER ===== */
    .slider-container { position: relative; overflow: hidden; isolation: isolate; width: 100%; max-width: 100%; box-sizing: border-box; min-width: 0; }
    .slider-track-wrapper { overflow: hidden; width: 100%; }
    /* Section must be the positioning anchor for arrows (JS moves them here) */
    #programmy { position: relative; }
    .slider-track {
      display: flex; gap: 24px;
      /* width is NOT set — JS controls each child's width in px */
      /* transition is set by JS */
      will-change: transform;
    }
    /* Card sizing is fully controlled by JS (applySizes) in pixels */
    .slider-track > * {
      /* JS sets: width, minWidth, maxWidth, flex: 0 0 Xpx */
      min-width: 0;
    }
    .slider-arrow {
      position: absolute; z-index: 20;
      width: var(--wg-arrow-size, 44px); height: var(--wg-arrow-size, 44px);
      top: var(--wg-arrow-top, 50%); transform: translateY(-50%);
      border-radius: 50%;
      background: var(--wg-arrow-bg, rgba(255,255,255,0.85)); backdrop-filter: blur(8px);
      border: 1px solid rgba(232,221,211,0.8);
      display: flex; align-items: center; justify-content: center;
      color: var(--wg-arrow-color, #8B5E3C); cursor: pointer;
      transition: all 0.3s ease;
      box-shadow: 0 2px 12px rgba(44,27,18,0.06);
    }
    .slider-arrow:hover {
      background: #fff; border-color: rgba(139,94,60,0.3);
      box-shadow: 0 4px 20px rgba(139,94,60,0.12); color: #6B4226;
    }
    .slider-arrow:active { transform: translateY(-50%) scale(0.95); }
    .slider-arrow--left { left: var(--wg-arrow-offset, 8px); }
    .slider-arrow--right { right: var(--wg-arrow-offset, 8px); }
    .slider-arrow:disabled { opacity: 0.3; cursor: default; pointer-events: none; }
    .slider-arrow svg { width: calc(var(--wg-arrow-size, 44px) * 0.45); height: calc(var(--wg-arrow-size, 44px) * 0.45); }
    @media (max-width: 767px) {
      .slider-arrow { width: calc(var(--wg-arrow-size, 44px) - 8px); height: calc(var(--wg-arrow-size, 44px) - 8px); }
      .slider-arrow svg { width: calc(var(--wg-arrow-size, 44px) * 0.4); height: calc(var(--wg-arrow-size, 44px) * 0.4); }
      .slider-arrow--left { left: calc(var(--wg-arrow-offset, 8px) - 6px); }
      .slider-arrow--right { right: calc(var(--wg-arrow-offset, 8px) - 6px); }
    }

    /* ===== PROGRAM CARDS ===== */
    .program-card {
      /* width controlled by .slider-track > * CSS rule */
      background: rgba(255,255,255,0.7); backdrop-filter: blur(12px);
      border: 1px solid rgba(232,221,211,0.7); border-radius: 16px;
      overflow: hidden;
      box-shadow: 0 4px 24px rgba(44,27,18,0.05);
      transition: transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94), box-shadow 0.5s ease, border-color 0.3s ease;
    }
    .program-card:hover {
      transform: translateY(-6px) scale(1.01);
      box-shadow: 0 12px 40px rgba(196,149,106,0.15);
      border-color: rgba(196,149,106,0.35);
    }
    .card-img { position: relative; width: 100%; aspect-ratio: 4/3; overflow: hidden; }
    .card-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94); }
    .program-card:hover .card-img img { transform: scale(1.06); }
    .card-img::after {
      content: ''; position: absolute; inset: 0;
      background: linear-gradient(180deg, transparent 50%, rgba(247,243,238,0.3) 100%);
      pointer-events: none;
    }
    .card-body { padding: 20px 20px 24px; display: flex; flex-direction: column; gap: 8px; min-height: 140px; }
    .card-category {
      font-size: 11px; font-weight: 500; letter-spacing: 0.18em;
      text-transform: uppercase; color: #C4956A;
    }
    .card-title { font-family: 'Playfair Display', Georgia, serif; font-size: 1.05rem; font-weight: 600; color: #2C1B12; line-height: 1.3; }
    .card-subtitle { font-size: 0.82rem; color: #5C4A3A; line-height: 1.55; font-weight: 300; flex-grow: 1; }
    .card-link {
      display: inline-flex; align-items: center; gap: 6px;
      font-size: 0.8rem; font-weight: 500; color: #8B5E3C;
      text-decoration: none; transition: gap 0.3s ease, color 0.3s ease; margin-top: 4px;
    }
    .card-link:hover { color: #6B4226; gap: 10px; }
    .card-link svg { transition: transform 0.3s ease; }
    .card-link:hover svg { transform: translateX(2px); }
    

    /* ===== BLESSING CARDS ===== */
    .blessing-card {
      /* width/flex controlled by JS slider — no default flex-basis */
      position: relative; aspect-ratio: 1/1;
      border: 1px solid rgba(232,221,211,0.5); border-radius: 16px;
      padding: 28px 24px;
      background: rgba(255,255,255,0.25);
      display: flex; flex-direction: column; justify-content: space-between;
      transition: transform 0.5s cubic-bezier(0.25,0.46,0.45,0.94), border-color 0.3s ease, box-shadow 0.5s ease;
    }
    .blessing-card:hover {
      transform: translateY(-5px) scale(1.02);
      border-color: rgba(196,149,106,0.35);
      box-shadow: 0 12px 40px rgba(44,27,18,0.06);
    }
    .blessing-quote-mark {
      font-family: 'Playfair Display', Georgia, serif;
      font-size: 2.5rem; line-height: 1;
      color: rgba(196,149,106,0.3);
    }
    .blessing-text {
      font-family: 'Cormorant Garamond', Georgia, serif;
      font-size: 1.05rem; line-height: 1.65;
      color: #4A4A4A; font-style: italic; font-weight: 400;
    }
    .blessing-heart {
      width: 16px; height: 16px; color: rgba(196,149,106,0.25);
      flex-shrink: 0; align-self: flex-end;
      transition: color 0.3s ease, transform 0.3s ease;
    }
    .blessing-card:hover .blessing-heart { color: #C4956A; transform: scale(1.15); }

    /* ===== BLESSING CARD VARIANTS ===== */
    .blessing-card--warm { background: rgba(196,149,106,0.06); }
    .blessing-card--gold { background: rgba(196,149,106,0.12); }

    /* ===== LEAD MAGNET FORM ===== */
    .lead-form-wrap {
      max-width: 520px; margin: 0 auto; text-align: center;
    }
    .lead-form {
      display: flex; flex-direction: column; sm:flex-direction: row; gap: 10px;
      margin-top: 1.5rem;
    }
    .lead-form input[type="email"] {
      flex: 1; padding: 14px 20px; border-radius: 9999px;
      border: 1px solid rgba(196,149,106,0.3); background: rgba(255,255,255,0.7);
      font-size: 14px; color: #2C1B12; outline: none;
      font-family: 'Inter', sans-serif; backdrop-filter: blur(8px);
      transition: border-color 0.3s ease;
    }
    .lead-form input[type="email"]::placeholder { color: rgba(92,74,58,0.45); }
    .lead-form input[type="email"]:focus { border-color: rgba(196,149,106,0.6); }
    .lead-form button {
      padding: 14px 28px; border-radius: 9999px; border: none; cursor: pointer;
      font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.15em;
      color: white; white-space: nowrap;
    }
    @media (min-width: 640px) {
      .lead-form { flex-direction: row; }
    }
    /* ===== ABOUT ===== */
    .about-portrait { filter: sepia(0.08) contrast(1.05) brightness(1.02); transition: filter 0.5s ease; }
    .about-portrait:hover { filter: sepia(0) contrast(1) brightness(1); }
    .about-portrait-frame {
      position: relative;
      border-radius: 24px;
      overflow: hidden;
      border: 0.8px solid rgba(196,149,106,0.15);
      box-shadow: 0 8px 40px rgba(44,27,18,0.1);
      transition: box-shadow 0.4s ease, border-color 0.4s ease;
      max-width: 100%;
      margin: 0 auto;
      transform: scale(1.25);
      transform-origin: center center;
    }
    .about-portrait-frame:hover {
      border-color: rgba(196,149,106,0.3);
      box-shadow: 0 12px 50px rgba(44,27,18,0.14);
    }
    .about-portrait-frame img {
      display: block;
      width: 100%;
      height: auto;
      border-radius: 22px;
    }
    .checklist-item { display: flex; align-items: flex-start; gap: 14px; transition: transform 0.3s ease; }
    .checklist-item:hover { transform: translateX(4px); }
    .check-circle {
      width: 26px; height: 26px; min-width: 26px; border-radius: 50%;
      background: linear-gradient(135deg, #8B5E3C, #A67550);
      display: flex; align-items: center; justify-content: center; margin-top: 2px;
    }
    .check-circle svg { width: 13px; height: 13px; color: #fff; stroke-width: 3; }
    .floating-quote {
      animation: float-gentle 7s ease-in-out infinite;
    }
    @keyframes float-gentle {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-10px); }
    }

    /* ===== CTA PULSE ===== */
    @keyframes gentle-pulse {
      0%, 100% { box-shadow: 0 10px 35px rgba(139,94,60,0.25); }
      50% { box-shadow: 0 10px 50px rgba(139,94,60,0.4), 0 0 0 8px rgba(196,149,106,0.08); }
    }
    .btn-final { animation: gentle-pulse 3s ease-in-out infinite; position: relative; overflow: hidden; transition: all 0.4s cubic-bezier(0.25,0.46,0.45,0.94); }
    .btn-final::before {
      content: ''; position: absolute; top: 0; left: -100%;
      width: 100%; height: 100%;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,0.12), transparent);
      transition: left 0.6s ease;
    }
    .btn-final:hover::before { left: 100%; }
    .btn-final:hover { transform: translateY(-2px); box-shadow: 0 10px 50px rgba(139,94,60,0.4); }

    /* ===== SCROLL REVEAL ===== */
    .reveal {
      opacity: 0; transform: translateY(30px);
      transition: opacity 0.8s cubic-bezier(0.25,0.46,0.45,0.94), transform 0.8s cubic-bezier(0.25,0.46,0.45,0.94);
    }
    .reveal.revealed { opacity: 1; transform: translateY(0); }
    .reveal-left {
      opacity: 0; transform: translateX(-40px);
      transition: opacity 0.8s cubic-bezier(0.25,0.46,0.45,0.94), transform 0.8s cubic-bezier(0.25,0.46,0.45,0.94);
    }
    .reveal-left.revealed { opacity: 1; transform: translateX(0); }
    .reveal-right {
      opacity: 0; transform: translateX(40px);
      transition: opacity 0.8s cubic-bezier(0.25,0.46,0.45,0.94), transform 0.8s cubic-bezier(0.25,0.46,0.45,0.94);
    }
    .reveal-right.revealed { opacity: 1; transform: translateX(0); }
    .reveal-scale {
      opacity: 0; transform: scale(0.92);
      transition: opacity 0.7s ease, transform 0.7s ease;
    }
    .reveal-scale.revealed { opacity: 1; transform: scale(1); }
    .stagger-1 { transition-delay: 0.1s; }
    .stagger-2 { transition-delay: 0.2s; }
    .stagger-3 { transition-delay: 0.3s; }
    .stagger-4 { transition-delay: 0.4s; }
    .stagger-5 { transition-delay: 0.5s; }
    .stagger-6 { transition-delay: 0.6s; }


    /* ===== BOTANICAL DECOR ===== */
    .botanical-decor {
      position: absolute; pointer-events: none; z-index: 0;
      opacity: 0.06; color: #8B5E3C;
    }
    .botanical-tl { top: -20px; left: -20px; transform: rotate(0deg); }
    .botanical-br { bottom: -20px; right: -20px; transform: rotate(180deg); }
    @media (max-width: 767px) { .botanical-decor { display: none; } }
    /* ===== FOOTER ===== */
    .footer-link { transition: color 0.3s ease; }
    .footer-link:hover { color: #C4956A; }
    .footer-grid {
      display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 0;
    }
    .footer-grid > div { padding: 0 28px; }
    .footer-grid > div:not(:last-child) { border-right: 1px solid rgba(232,221,211,0.4); }
    @media (max-width: 1023px) {
      .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px 32px; }
      .footer-grid > div { padding: 0; border-right: none !important; }
    }
    @media (max-width: 639px) { .footer-grid { grid-template-columns: 1fr; gap: 32px; } }
    .footer-col-title {
      font-family: 'Cormorant Garamond', serif; font-size: 0.75rem; font-weight: 600;
      letter-spacing: 0.12em; text-transform: uppercase; color: #5C4A3A; margin-bottom: 20px;
    }
    .footer-nav-link {
      display: block; font-size: 0.82rem; color: rgba(92,74,58,0.7); padding: 5px 0;
      transition: color 0.3s ease, padding-left 0.3s ease;
    }
    .footer-nav-link:hover { color: #C4956A; padding-left: 4px; }
    .social-icon-btn {
      width: 38px; height: 38px; border-radius: 50%;
      border: 1px solid rgba(255,255,255,0.15);
      display: flex; align-items: center; justify-content: center;
      color: rgba(255,255,255,0.5); transition: all 0.3s ease;
    }
    .social-icon-btn:hover { border-color: rgba(196,149,106,0.5); color: #C4956A; background: rgba(196,149,106,0.06); }
    .social-icon-btn svg { width: 16px; height: 16px; }
    .copyright-sep { width: 1px; height: 12px; background: rgba(255,255,255,0.15); flex-shrink: 0; }






    footer .footer-nav-link { color: rgba(250,248,245,0.6) !important; }
    footer .footer-nav-link:hover { color: #C4956A !important; }
    footer .social-icon-btn { border-color: rgba(250,248,245,0.15); color: rgba(250,248,245,0.5); }
    footer .social-icon-btn:hover { border-color: rgba(196,149,106,0.5); color: #C4956A; }
    footer .border-t { border-color: rgba(250,248,245,0.1) !important; }
    footer [class*="text-bark"] { color: rgba(250,248,245,0.4) !important; }
    footer .footer-link { color: rgba(250,248,245,0.4); }
    footer .footer-link:hover { color: #C4956A; }
    footer .copyright-sep { background: rgba(250,248,245,0.15); }
    /* ===== LARGE DESKTOP ===== */
    @media (min-width: 1440px) {
      .max-w-\[1280px\] { max-width: 1400px !important; }
    }

    @media (min-width: 1024px) {
      .soul-orbit-wrap { max-width: 600px; }
    }
    @media (min-width: 1280px) {
      section, footer { padding-top: 7rem; padding-bottom: 7rem; }
    }
    /* ===== TABLET OPTIMIZATIONS ===== */
    @media (min-width: 640px) and (max-width: 1023px) {
      .soul-orbit-wrap { max-width: 400px; }
    }

    /* ===== TOUCH OPTIMIZATIONS ===== */
    a, button, .soul-orbit-item, .program-card, .blessing-card {
      touch-action: manipulation;
      -webkit-tap-highlight-color: transparent;
    }
    @media (hover: none) and (pointer: coarse) {
      .program-card:hover { transform: none; box-shadow: 0 4px 24px rgba(44,27,18,0.05); }
      .program-card:hover .card-img img { transform: none; }
      .blessing-card:hover { transform: none; }
      .btn-cta:hover, .btn-metallic:hover { transform: none; }
      .soul-orbit, .soul-orbit-item { animation-play-state: paused !important; }
      .checklist-item:hover { transform: none; }
    }

    /* ===== MOBILE SOUL MAP GRID ===== */
    .soul-map-mobile {
      display: none;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
      max-width: 320px;
      margin: 0 auto;
    }
    .soul-map-mobile a {
      display: flex; flex-direction: column; align-items: center; gap: 6px;
      padding: 16px 8px; border-radius: 16px; text-decoration: none;
      background: rgba(255,255,255,0.5); border: 1px solid rgba(196,149,106,0.2);
      transition: all 0.3s ease;
    }
    .soul-map-mobile a:hover {
      background: rgba(255,255,255,0.85); border-color: rgba(196,149,106,0.4);
      box-shadow: 0 4px 20px rgba(139,94,60,0.1);
    }
    .soul-map-mobile a span:first-child {
      display: grid; place-items: center; width: 48px; height: 48px;
      border-radius: 50%; border: 1px solid rgba(196,149,106,0.3);
      background: rgba(251,247,242,0.9); color: #C4956A;
    }
    .soul-map-mobile a span:first-child svg { width: 20px; height: 20px; }
    .soul-map-mobile a span:last-child {
      font-size: 11px; color: #5C4A3A; font-weight: 400;
    }
    @media (max-width: 639px) {
      .soul-orbit-wrap .soul-orbit,
      .soul-orbit-wrap .orbit-ring,
      .soul-orbit-wrap .soul-map-hint { display: none !important; }
      .soul-orbit-wrap { aspect-ratio: auto; max-width: 100%; }
      .soul-map-mobile { display: grid; }
    }
    /* ===== MOBILE OPTIMIZATIONS ===== */
    @media (max-width: 639px) {
      .soul-orbit-wrap { max-width: 280px; }
      .soul-orbit-item span:first-child { width: 44px; height: 44px; }
      .soul-orbit-item span:first-child svg { width: 16px; height: 16px; }
      .soul-orbit-item span:last-child { font-size: 10px; }
      .soul-orbit-center { width: 96px; height: 96px; }
      .soul-orbit-center .center-title { font-size: 1.75rem; }
    }

    /* ===== SCROLL INDICATOR ===== */
    .scroll-indicator {
      animation: scroll-bounce 2s ease-in-out infinite;
    }
    .scroll-dot {
      animation: scroll-dot-move 2s ease-in-out infinite;
    }
    @keyframes scroll-bounce {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(4px); }
    }
    @keyframes scroll-dot-move {
      0%, 100% { opacity: 1; transform: translateY(0); }
      50% { opacity: 0.3; transform: translateY(6px); }
    }
    @media (max-width: 767px) {
      .scroll-indicator { display: none; }
    }
    /* ===== REDUCED MOTION ===== */
    @media (prefers-reduced-motion: reduce) {
      .reveal, .reveal-left, .reveal-right, .reveal-scale { opacity: 1; transform: none; transition: none; }
      .sparkle { display: none; }
      .hero-bg img { animation: none; }
      .btn-final { animation: none; }
      .program-card:hover { transform: none; }
      .program-card:hover .card-img img { transform: none; }
      .blessing-card:hover { transform: none; }
      .soul-orbit, .soul-orbit-item { animation: none; }
      .soul-orbit-item { transform: rotate(var(--a)); }
      .floating-quote { animation: none; }
      .about-portrait:hover { filter: none; }
      .checklist-item { transition: none; }
      .slider-track { transition: none; }
    }

    /* ===== MANIFEST BACKGROUND ===== */
    .manifest-bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
    .manifest-bg img { width: 100%; height: 100%; object-fit: cover; opacity: 0.25; filter: blur(1px) saturate(0.7); }
    .manifest-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(251,247,242,0.92) 0%, rgba(251,247,242,0.75) 50%, rgba(251,247,242,0.88) 100%); }
    /* ===== DOVES DECORATION ===== */
    .doves-decor { position: absolute; right: -40px; top: 50%; transform: translateY(-50%); width: 320px; height: 213px; opacity: 0.12; pointer-events: none; z-index: 0; }
    .doves-decor img { width: 100%; height: 100%; object-fit: cover; border-radius: 20px; }
    @media (max-width: 1279px) { .doves-decor { display: none; } }
    /* ===== LEAD MAGNET BACKGROUND ===== */
    .lead-magnet-bg { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
    .lead-magnet-bg img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; filter: brightness(0.45) saturate(1.1); }
    .lead-magnet-bg::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(44,27,18,0.3) 0%, rgba(92,74,58,0.4) 100%); }
    .lead-form--hero input[type="email"] { background: rgba(255,255,255,0.15); border-color: rgba(255,255,255,0.3); color: #fff; backdrop-filter: blur(12px); }
    .lead-form--hero input[type="email"]::placeholder { color: rgba(255,255,255,0.5); }
    .lead-form--hero input[type="email"]:focus { border-color: rgba(255,255,255,0.6); }
    /* ===== STORY CARDS ===== */
    .story-card { background: rgba(255,255,255,0.6); backdrop-filter: blur(8px); border: 1px solid rgba(232,221,211,0.6); border-radius: 20px; padding: 32px 24px 28px; text-align: center; transition: transform 0.4s ease, box-shadow 0.4s ease; }
    .story-card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(196,149,106,0.12); }
    .story-avatar { width: 80px; height: 80px; margin: 0 auto 16px; border-radius: 50%; overflow: hidden; border: 2px solid rgba(196,149,106,0.3); }
    .story-avatar img { width: 100%; height: 100%; object-fit: cover; }
    .story-stars { display: flex; justify-content: center; gap: 2px; margin-bottom: 16px; }
    .story-text { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 1.05rem; line-height: 1.65; color: #4A4A4A; font-style: italic; margin-bottom: 20px; }
    .story-author { display: flex; flex-direction: column; align-items: center; gap: 2px; }
    .story-name { font-size: 0.85rem; font-weight: 600; color: #2C1B12; }
    .story-role { font-size: 0.75rem; color: #B8A99A; }
    /* ===== EMERGENCY BUTTON ===== */
    .emergency-btn { box-shadow: 0 2px 12px rgba(194,85,77,0.3); transition: all 0.3s ease; }
    .emergency-btn:hover { box-shadow: 0 4px 20px rgba(194,85,77,0.45); transform: scale(1.03); }
    /* ===== MOBILE MENU HEIGHT FIX ===== */
    .mobile-menu.open { max-height: 520px; }
    @media (max-width: 639px) {
      .font-display { text-shadow: 0 1px 2px rgba(251,247,242,0.8); }
    }
    @media (max-width: 767px) {
      .floating-quote { position: relative !important; bottom: auto !important; right: auto !important; max-width: 100% !important; margin-top: 20px; }
      .story-card { padding: 24px 20px; border-radius: 16px; }
      .story-avatar { width: 64px; height: 64px; margin-bottom: 12px; }
      .about-portrait-frame { border-radius: 16px; }
      .about-portrait-frame img { border-radius: 14px; }
    }/* WOMANGID Audio Player Styles */
.wg-audio-player { transition: box-shadow 0.3s ease; }
.wg-audio-player:hover { box-shadow: 0 8px 30px rgba(196,149,106,0.1); }
.wg-audio-progress { cursor: pointer; }
.wg-audio-progress:hover { height: 4px; }
#audio-play-btn { transition: all 0.2s ease; }
#audio-play-btn:hover { transform: scale(1.05); box-shadow: 0 4px 16px rgba(44,27,18,0.2); }
/* Prose content styles for inner pages */
.prose-content h2 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.75rem; font-weight: 600; color: #2C1B12; margin: 2rem 0 1rem; }
.prose-content h3 { font-family: 'Playfair Display', Georgia, serif; font-size: 1.35rem; font-weight: 600; color: #2C1B12; margin: 1.5rem 0 0.75rem; }
.prose-content p { margin-bottom: 1.25rem; line-height: 1.75; }
.prose-content ul, .prose-content ol { margin-bottom: 1.25rem; padding-left: 1.5rem; }
.prose-content li { margin-bottom: 0.5rem; }
.prose-content blockquote { border-left: 3px solid #C4956A; padding-left: 1.5rem; margin: 1.5rem 0; font-style: italic; color: #5C4A3A; }
.prose-content img { border-radius: 16px; margin: 1.5rem 0; max-width: 100%; height: auto; }
.prose-content a { color: #8B5E3C; text-decoration: underline; text-underline-offset: 3px; }
.prose-content a:hover { color: #C4956A; }
/* Landing page: no header/footer spacing */
body.landing-page { padding-top: 0 !important; }

/* ===== PAGE DESIGN SYSTEM ===== */
.wg-sidebar { position: relative; }
.wg-sidebar::before { content: ''; position: absolute; top: 0; left: 0; width: 1px; height: 100%; background: linear-gradient(to bottom, transparent, rgba(196,149,106,0.3), transparent); }
.wg-main-col > *:first-child { margin-top: 0; }
@media (max-width: 1023px) {
  .wg-sidebar::before { display: none; }
  .wg-sidebar .sticky { position: static !important; }
}
.ui-sortable-placeholder { background: rgba(34,113,177,0.08); border: 1px dashed rgba(34,113,177,0.3); border-radius: 4px; height: 30px; margin: 4px 0; }