

    /* ==========================================================================
       GLOBAL CSS RESET & FULL WIDTH NORMALIZATION
       ========================================================================== */
    html {
      scroll-behavior: smooth;
      font-size: 16px;
    }

    /* FLUID DESKTOP & LAPTOP VIEWPORT SCALING
       Maintains identical proportions between 22" desktop monitors and 13"-16" laptops (125%/150% scaling) */
    @media (min-width: 1025px) and (max-width: 1720px) {
      html {
        font-size: clamp(12.5px, 0.925vw, 16px);
      }
    }

    @media (min-width: 1025px) and (max-height: 860px) {
      html {
        font-size: clamp(12px, min(0.925vw, 1.8vh), 15px);
      }
    }

    @media (min-width: 1025px) and (max-height: 720px) {
      html {
        font-size: clamp(11.5px, min(0.9vw, 1.95vh), 14px);
      }
    }

    @media (min-width: 1721px) {
      html {
        font-size: 16px;
      }
    }

    html, body {
      margin: 0 !important;
      padding: 0 !important;
      width: 100% !important;
      max-width: 100% !important;
      overflow-x: hidden !important;
      background-color: #EAE0D2 !important;
      box-sizing: border-box !important;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }

    *, *::before, *::after {
      box-sizing: border-box !important;
    }

/* ==========================================================================
       DESIGN TOKENS & SYSTEM
       ========================================================================== */
    :root {
      /* SACRED TUSCAN LIGHT PARCHMENT PALETTE */
      --bg-obsidian: #EAE0D2;
      --bg-obsidian-translucent: rgba(234, 224, 210, 0.94);
      --bg-card: #F3ECE2;
      --bg-card-hover: #FAF6F0;
      --bg-secondary: #EAE0D2;
      --bg-tertiary: #EDE4D6;
      --gold-primary: #8C6D37;
      --gold-muted: #A6854C;
      --gold-light: #644B1F;
      --gold-glow: rgba(140, 109, 55, 0.18);
      --text-alabaster: #231C18;
      --text-muted: #524339;
      --text-subtle: #7A695D;
      --border-gold: rgba(140, 109, 55, 0.28);
      --border-gold-strong: rgba(140, 109, 55, 0.55);
      --radius-sm: 6px;
      --radius-md: 10px;
      --radius-lg: 16px;
      --transition-smooth: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .saga-dell-anima-wrapper, .saga-dell-anima-wrapper *, .saga-dell-anima-wrapper *::before, .saga-dell-anima-wrapper *::after {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      -webkit-font-smoothing: antialiased;
    }

    /* TYPOGRAPHY - ENDLESS GEOMETRIC SANS SERIF (ORIGINAL BRAND FONT) */
        @font-face {
      font-family: 'ENDLESS';
      src: local('ENDLESS'), local('Endless-Regular'), local('Endless');
      font-weight: 100 1000;
      font-style: normal;
      font-display: swap;
    }

    :root {
      --font-primary: 'ENDLESS', 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
      --font-heading: 'ENDLESS', 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
      --font-body: 'ENDLESS', 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    }

    html {
      scroll-behavior: smooth;
    }

    .saga-dell-anima-wrapper {
      background-color: var(--bg-obsidian);
      color: var(--text-alabaster);
      min-height: 100vh;
      position: relative;
      overflow-x: hidden;
      line-height: 1.6;
      font-family: var(--font-primary);
      font-weight: 500;
      width: 100%;
    }

    /* TYPOGRAPHY */
    .saga-dell-anima-wrapper h1, .saga-dell-anima-wrapper h2, .saga-dell-anima-wrapper .font-heading, .saga-dell-anima-wrapper .section-title {
      font-family: var(--font-primary);
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: #231C18;
      font-weight: 800;
    }

    .saga-dell-anima-wrapper h3, .saga-dell-anima-wrapper h4, .saga-dell-anima-wrapper .font-subheading, .saga-dell-anima-wrapper .pillar-title, .saga-dell-anima-wrapper .archetype-title, .saga-dell-anima-wrapper .experience-title, .saga-dell-anima-wrapper .retreat-highlight-title, .saga-dell-anima-wrapper .duality-name {
      font-family: var(--font-primary);
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: #644B1F;
      font-weight: 800;
    }

    .font-script {
      font-family: 'Alex Brush', cursive;
      letter-spacing: 0.05em;
      color: #E2B768;
      font-weight: normal;
    }

    .font-cormorant {
      font-family: var(--font-primary);
      letter-spacing: 0.03em;
      font-weight: 500;
    }

    .ui-badge, .nav-link, .ui-label {
      font-family: var(--font-primary);
      text-transform: uppercase;
      letter-spacing: 0.18em;
      font-size: 0.72rem;
      font-weight: 700;
    }

    .saga-dell-anima-wrapper p {
      letter-spacing: 0.025em;
      color: var(--text-muted);
      font-family: var(--font-primary);
      font-weight: 500;
      line-height: 1.65;
    }

    /* SACRED GEOMETRY CONTAINER & BORDERS */
    .sacred-frame {
      position: relative;
      background: var(--bg-card);
      border: 1px solid var(--border-gold);
      border-radius: var(--radius-md);
      transition: var(--transition-smooth);
    }

    .sacred-frame:hover {
      border-color: var(--border-gold-strong);
      box-shadow: 0 10px 30px -10px rgba(226, 183, 104, 0.15);
    }

    /* Corner Celestial Glyphs */
    .corner-glyph {
      position: absolute;
      width: 14px;
      height: 14px;
      stroke: var(--gold-primary);
      fill: none;
      pointer-events: none;
    }
    .corner-tl { top: 6px; left: 6px; }
    .corner-tr { top: 6px; right: 6px; }
    .corner-bl { bottom: 6px; left: 6px; }
    .corner-br { bottom: 6px; right: 6px; }

    /* GOLDEN CELESTIAL PARTICLES CANVAS */
    #particle-canvas {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      pointer-events: none;
      z-index: 1;
    }

    /* LAYOUT CONTAINERS */
    /* CENTERED CONTAINER SYSTEM */
    .container {
      width: 100%;
      max-width: min(77.5rem, 92vw);
      margin: 0 auto;
      padding: 0 clamp(1rem, 2vw, 1.5rem);
      box-sizing: border-box;
      position: relative;
      z-index: 2;
    }

    .saga-dell-anima-wrapper section {
      width: 100% !important;
      max-width: 100% !important;
      padding: clamp(3.5rem, 6.5vh, 6.5rem) 0;
      position: relative;
      z-index: 2;
      box-sizing: border-box !important;
    }

    .saga-dell-anima-wrapper section:not(.hero-section) {
      background: transparent !important;
    }

    /* ==========================================================================
       HEADER & NAVIGATION (Full Width, Transparent Initially, Floating on Scroll)
       ========================================================================== */
    .saga-dell-anima-wrapper header {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      width: 100%;
      z-index: 99999;
      background: transparent;
      backdrop-filter: none;
      -webkit-backdrop-filter: none;
      border-bottom: 1px solid transparent;
      height: 76px;
      display: flex;
      align-items: center;
      transition: background 0.35s ease, backdrop-filter 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
      box-shadow: none;
    }

    .saga-dell-anima-wrapper header.is-floating {
      background: rgba(10, 8, 7, 0.96) !important;
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      border-bottom: 1px solid rgba(168, 137, 78, 0.35);
      box-shadow: 0 4px 25px rgba(0, 0, 0, 0.45);
    }

    .nav-fullwidth-wrapper {
      width: 100%;
      padding: 0 clamp(1.2rem, 4vw, 3.5rem);
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .brand-logo {
      display: flex;
      flex-direction: column;
      text-decoration: none;
    }

    .brand-title {
      font-family: 'Cinzel Decorative', serif;
      font-size: 1.15rem;
      color: #E2B768;
      letter-spacing: 0.18em;
      font-weight: 700;
      line-height: 1.1;
      white-space: nowrap;
    }

    .brand-sub {
      font-family: 'Alex Brush', cursive;
      font-size: 1.05rem;
      color: var(--gold-primary);
      margin-top: -2px;
    }

    .nav-links {
      display: flex;
      gap: 2.2rem;
      list-style: none;
      align-items: center;
    }

    .nav-link {
      color: rgba(234, 224, 210, 0.88) !important;
      text-decoration: none;
      position: relative;
      padding: 0.4rem 0;
      transition: var(--transition-smooth);
      font-size: 0.72rem;
      font-family: var(--font-primary);
      letter-spacing: 0.16em;
      text-transform: uppercase;
      font-weight: 700;
    }

    .nav-link:hover, .nav-link.active {
      color: #E2B768 !important;
      text-shadow: 0 0 12px rgba(226, 183, 104, 0.5);
    }

    .nav-link::after {
      content: '';
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 0;
      height: 1px;
      background: #E2B768 !important;
      transition: var(--transition-smooth);
    }

    .nav-link:hover::after, .nav-link.active::after {
      width: 100%;
    }

    .nav-actions {
      display: flex;
      align-items: center;
      gap: 1.25rem;
    }

    /* Bilingual Switcher with Flags */
    .lang-switcher {
      display: inline-flex;
      align-items: center;
      background: rgba(255, 255, 255, 0.08);
      border: 1px solid rgba(168, 137, 78, 0.4);
      border-radius: 20px;
      padding: 2px;
    }

    .lang-btn {
      display: inline-flex;
      align-items: center;
      gap: 0.4rem;
      background: transparent;
      border: none;
      color: rgba(234, 224, 210, 0.75);
      font-family: var(--font-primary);
      font-size: 0.7rem;
      font-weight: 700;
      letter-spacing: 0.15em;
      padding: 0.35rem 0.65rem;
      border-radius: 16px;
      cursor: pointer;
      transition: var(--transition-smooth);
    }

    .lang-flag {
      width: 15px;
      height: 11px;
      border-radius: 2px;
      box-shadow: 0 0 1px rgba(0,0,0,0.5);
      flex-shrink: 0;
    }

    .lang-btn.active {
      background: #E2B768;
      color: #08080A;
      font-weight: 800;
    }

    /* Social Icons Menu in Footer */
    .footer-social-menu {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      margin-bottom: 1.25rem;
    }

    .footer-social-link {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      border: 1px solid rgba(168, 137, 78, 0.4) !important;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #E2B768 !important;
      background: rgba(255, 255, 255, 0.06) !important;
      text-decoration: none;
      transition: var(--transition-smooth);
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.4) !important;
    }

    .footer-social-link:hover {
      background: #E2B768 !important;
      color: #08080A !important;
      border-color: #E2B768 !important;
      transform: translateY(-2px);
      box-shadow: 0 4px 14px rgba(226, 183, 104, 0.4) !important;
    }

    .footer-social-link svg {
      width: 17px;
      height: 17px;
    }

    /* Mobile Menu Hamburger */
    .mobile-menu-btn {
      display: none;
      background: transparent;
      border: none;
      color: #E2B768;
      cursor: pointer;
      padding: 6px;
    }

    /* BUTTONS */
    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.6rem;
      font-family: var(--font-primary);
      font-size: 0.8rem;
      font-weight: 600;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      text-decoration: none;
      padding: 0.95rem 2rem;
      border-radius: var(--radius-sm);
      transition: var(--transition-smooth);
      cursor: pointer;
      position: relative;
      white-space: nowrap;
    }

    .btn-primary {
      background: linear-gradient(135deg, #9C7A3C 0%, #755420 100%);
      color: #FFFFFF;
      border: 1px solid #B89758;
      font-weight: 700;
      box-shadow: 0 4px 18px rgba(117, 84, 32, 0.25);
    }

    .btn-primary:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 24px rgba(117, 84, 32, 0.38);
      color: #FFFFFF;
    }

    .btn-secondary {
      background: #FFFFFF;
      color: #231C18;
      border: 1px solid #8C6D37;
      font-weight: 600;
      box-shadow: 0 2px 8px rgba(50, 36, 22, 0.05);
    }

    .btn-secondary:hover {
      background: #8C6D37;
      border-color: #8C6D37;
      color: #FFFFFF;
      box-shadow: 0 4px 16px rgba(140, 109, 55, 0.25);
    }

    .btn-whatsapp {
      background: #25D366;
      color: #FFFFFF;
      border: none;
      font-weight: 700;
      box-shadow: 0 4px 14px rgba(37, 211, 102, 0.28);
    }

    .btn-whatsapp:hover {
      background: #2ee26f;
      box-shadow: 0 0 20px rgba(37, 211, 102, 0.4);
      transform: translateY(-2px);
    }

    /* HERO SECTION (NO VIGNETTE, CRISP NATURAL SKY & REFINED SUBTLE BOTTOM BLUR) */
    .saga-dell-anima-wrapper .hero-section {
      min-height: 100vh;
      min-height: 100dvh;
      width: 100% !important;
      max-width: 100% !important;
      display: flex;
      align-items: flex-end;
      justify-content: center;
      position: relative;
      z-index: 5 !important;
      padding-top: clamp(8rem, 16vh, 18rem);
      padding-bottom: clamp(3rem, 6.5vh, 5.5rem);
      background: url('../images/hero/hero-hawk-bg.webp') center 22%/cover no-repeat !important;
      box-sizing: border-box !important;
    }

    .hero-overlay {
      display: none;
    }

    .hero-section::after {
      content: '';
      position: absolute;
      bottom: -2px;
      left: 0;
      right: 0;
      height: 45px;
      background: linear-gradient(to bottom, transparent 0%, rgba(234, 224, 210, 0.6) 55%, #EAE0D2 100%);
      pointer-events: none;
      z-index: 1;
    }

    .hero-container {
      width: 100%;
      max-width: 1380px;
      margin: 0 auto;
      padding: 0 1.5rem;
      box-sizing: border-box;
      position: relative;
      z-index: 1;
      display: flex;
      justify-content: center;
    }

    .hero-content {
      position: relative;
      z-index: 2;
      max-width: 1100px;
      margin: 0 auto;
      text-align: center;
    }

    .saga-dell-anima-wrapper .hero-headline {
      font-family: var(--font-primary);
      font-size: clamp(1.4rem, min(3.8vw, 4.6vh), 3.2rem);
      line-height: 1.05;
      margin-bottom: clamp(0.75rem, 1.8vh, 1.25rem);
      color: #FFFFFF !important;
      font-weight: 800;
      letter-spacing: 0.08em;
      text-shadow: 0 2px 14px rgba(0, 0, 0, 0.75), 0 1px 3px rgba(0, 0, 0, 0.9) !important;
    }

    .saga-dell-anima-wrapper .hero-headline span {
      display: block;
    }

    @media (min-width: 769px) {
      .saga-dell-anima-wrapper .hero-headline span {
        white-space: nowrap;
      }
    }

    .saga-dell-anima-wrapper .hero-headline .headline-line1 {
      display: block;
      color: #FFFFFF !important;
      text-shadow: 0 2px 14px rgba(0, 0, 0, 0.75), 0 1px 3px rgba(0, 0, 0, 0.9) !important;
    }

    .saga-dell-anima-wrapper .hero-headline .headline-line2 {
      display: block;
      color: #FFFFFF !important;
      margin-top: 0.15em;
      text-shadow: 0 2px 14px rgba(0, 0, 0, 0.75), 0 1px 3px rgba(0, 0, 0, 0.9) !important;
    }

    .saga-dell-anima-wrapper .hero-signature {
      font-size: clamp(1.8rem, 3.5vw, 2.5rem);
      color: #E2B768;
      margin-top: -0.5rem;
      margin-bottom: 1.25rem;
      display: block;
    }

    .saga-dell-anima-wrapper .hero-subtext {
      font-size: clamp(0.85rem, min(1.35vw, 1.85vh), 1.25rem);
      max-width: clamp(520px, 48vw, 700px);
      margin: 0 auto clamp(1.1rem, 2.8vh, 2.4rem);
      color: #EAE0D2 !important;
      font-family: var(--font-primary);
      font-weight: 500;
      line-height: 1.6;
      text-shadow: 0 2px 12px rgba(0, 0, 0, 0.9) !important;
    }

    .hero-cta-group {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: clamp(0.75rem, 1.5vw, 1.25rem);
      flex-wrap: wrap;
    }

    .hero-section .btn-primary {
      background: linear-gradient(135deg, #9C7A3C 0%, #755420 100%) !important;
      color: #FFFFFF !important;
      border: none !important;
      font-weight: 600;
      letter-spacing: 0.16em;
      padding: clamp(0.68rem, 1.35vh, 0.9rem) clamp(1.35rem, 1.8vw, 2.2rem) !important;
      font-size: clamp(0.74rem, 1.25vh, 0.85rem) !important;
      border-radius: 6px;
      box-shadow: 0 6px 20px rgba(117, 84, 32, 0.35);
      text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
      transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .hero-section .btn-primary:hover {
      transform: translateY(-2px);
      background: linear-gradient(135deg, #AD8A48 0%, #856128 100%) !important;
      border: none !important;
      box-shadow: 0 8px 26px rgba(140, 109, 55, 0.5);
      color: #FFFFFF !important;
    }

    .hero-section .btn-secondary {
      background: rgba(18, 15, 13, 0.45) !important;
      color: #FFFFFF !important;
      border: none !important;
      font-weight: 600;
      letter-spacing: 0.16em;
      padding: clamp(0.68rem, 1.35vh, 0.9rem) clamp(1.35rem, 1.8vw, 2.2rem) !important;
      font-size: clamp(0.74rem, 1.25vh, 0.85rem) !important;
      border-radius: 6px;
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      box-shadow: 0 6px 20px rgba(0, 0, 0, 0.35);
      text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
      transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .hero-section .btn-secondary:hover {
      transform: translateY(-2px);
      background: rgba(28, 22, 18, 0.65) !important;
      border: none !important;
      color: #FFFFFF !important;
      box-shadow: 0 10px 28px rgba(0, 0, 0, 0.5);
    }

    /* ==========================================================================
       HERO HEIGHT-AWARE TUNING (13"-16" LAPTOPS & WINDOWS DISPLAY SCALING)
       Ensures identical visual spacing, eagle headroom, and button float on laptops
       ========================================================================== */
    @media (min-width: 769px) and (max-height: 860px) {
      .saga-dell-anima-wrapper .hero-section {
        background-position: center 18% !important;
        padding-bottom: 3.25rem !important;
      }
      .saga-dell-anima-wrapper .hero-headline {
        font-size: clamp(1.4rem, 4.4vh, 2.45rem) !important;
        margin-bottom: 0.85rem !important;
      }
      .saga-dell-anima-wrapper .hero-subtext {
        font-size: clamp(0.85rem, 1.8vh, 1.05rem) !important;
        max-width: 600px !important;
        margin-bottom: 1.5rem !important;
      }
      .hero-section .btn-primary,
      .hero-section .btn-secondary {
        padding: 0.72rem 1.8rem !important;
        font-size: 0.78rem !important;
      }
    }

    @media (min-width: 769px) and (max-height: 720px) {
      .saga-dell-anima-wrapper .hero-section {
        background-position: center 15% !important;
        padding-bottom: 2.25rem !important;
      }
      .saga-dell-anima-wrapper .hero-headline {
        font-size: clamp(1.25rem, 4.2vh, 2.1rem) !important;
        margin-bottom: 0.65rem !important;
      }
      .saga-dell-anima-wrapper .hero-subtext {
        font-size: clamp(0.78rem, 1.6vh, 0.94rem) !important;
        max-width: 530px !important;
        margin-bottom: 1.25rem !important;
      }
      .hero-section .btn-primary,
      .hero-section .btn-secondary {
        padding: 0.62rem 1.55rem !important;
        font-size: 0.74rem !important;
      }
    }

    /* SECTION HEADERS */
    .section-header {
      text-align: center;
      max-width: 780px;
      margin: 0 auto clamp(2rem, 3.8vh, 3.5rem);
    }

    .section-eyebrow {
      color: var(--gold-primary);
      display: block;
      margin-bottom: 0.6rem;
    }

    .section-title {
      font-size: clamp(1.8rem, 3.5vw, 2.6rem);
      margin-bottom: 0.9rem;
    }

    .section-desc {
      font-family: var(--font-primary);
      font-size: 1.1rem;
      line-height: 1.6;
      color: var(--text-muted);
    }

    /* ESSENCE OF THE NAME DUALITY */
    .duality-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 2rem;
      margin-top: 2rem;
    }

    .duality-card {
      padding: 2.8rem 2.2rem;
      text-align: center;
      position: relative;
      background: radial-gradient(circle at top, rgba(226, 183, 104, 0.05) 0%, var(--bg-card) 70%);
    }

    .duality-icon {
      width: 60px;
      height: 60px;
      margin: 0 auto 1.5rem;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 1px solid var(--border-gold);
      border-radius: 50%;
      color: var(--gold-primary);
      background: rgba(140, 109, 55, 0.08);
    }

    .duality-name {
      font-size: 1.6rem;
      color: #E2B768;
      margin-bottom: 0.4rem;
    }

    .duality-meaning {
      font-family: var(--font-primary);
      letter-spacing: 0.08em;
      text-transform: uppercase;
      font-size: 1.15rem;
      color: var(--gold-primary);
      margin-bottom: 1rem;
    }

    /* 5 PILLARS INFOGRAPHIC GRID */
    .pillars-grid {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 1.25rem;
    }

    .pillar-card {
      padding: 2rem 1.4rem;
      text-align: center;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: flex-start;
      border-radius: var(--radius-md);
      position: relative;
      background: #FFFFFF; border: 1px solid var(--border-gold); box-shadow: 0 6px 20px rgba(50, 36, 22, 0.05);
    }

    .pillar-number {
      font-family: var(--font-primary);
      font-size: 0.85rem;
      font-weight: 700;
      color: var(--gold-muted);
      border: 1px solid var(--border-gold);
      width: 32px;
      height: 32px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 1.2rem;
    }

    .pillar-icon {
      width: 44px;
      height: 44px;
      margin-bottom: 1rem;
      stroke: var(--gold-primary);
      fill: none;
    }

    .pillar-title {
      font-size: 0.95rem;
      margin-bottom: 0.75rem;
      color: #E2B768;
      line-height: 1.3;
    }

    .pillar-desc {
      font-size: 0.85rem;
      line-height: 1.5;
      color: var(--text-muted);
    }

    /* SACRED ARCHETYPES (INTERACTIVE CARDS) */
    .archetypes-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5rem;
    }

    .archetype-card {
      padding: 2.2rem 1.6rem;
      text-align: center;
      cursor: pointer;
      position: relative;
      overflow: hidden;
      display: flex;
      flex-direction: column;
      align-items: center;
      border: 1px solid var(--border-gold);
    }

    .archetype-glyph-wrap {
      width: 72px;
      height: 72px;
      margin: 0 auto 1.4rem;
      position: relative;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .archetype-glyph-svg {
      width: 52px;
      height: 52px;
      stroke: var(--gold-primary);
      fill: none;
      transition: transform 0.5s ease;
    }

    .archetype-card:hover .archetype-glyph-svg {
      transform: scale(1.15) rotate(4deg);
    }

    .archetype-card:hover {
      background: radial-gradient(circle at center, rgba(226, 183, 104, 0.1) 0%, var(--bg-card) 85%);
      border-color: var(--gold-primary);
      box-shadow: 0 0 25px rgba(226, 183, 104, 0.2);
    }

    .archetype-symbol-char {
      font-size: 2rem;
      color: var(--gold-primary);
      margin-bottom: 0.5rem;
    }

    .archetype-title {
      font-size: 1.05rem;
      color: #E2B768;
      margin-bottom: 0.75rem;
    }

    .archetype-quote {
      font-family: var(--font-primary);
      font-style: italic;
      font-size: 0.95rem;
      color: var(--text-alabaster);
      line-height: 1.5;
    }

    /* UPCOMING TUSCANY BANNER */
    .retreat-highlight-banner {
      background-blend-mode: normal !important;
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.94) 0%, rgba(245, 237, 226, 0.92) 100%),
                  url('../images/experiences/experience-tuscany-landscape.webp') center/cover no-repeat;
      /* background-blend-mode: normal; */
      border: 1px solid rgba(140, 109, 55, 0.35);
      padding: 3.5rem 3rem;
      border-radius: var(--radius-md);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 2rem;
      position: relative;
      overflow: hidden;
      margin-top: 4rem;
      width: 100%;
      box-sizing: border-box;
      box-shadow: 0 12px 35px rgba(50, 36, 22, 0.08);
    }

    .retreat-highlight-badge {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      color: #755420;
      background: rgba(140, 109, 55, 0.12);
      padding: 0.35rem 0.9rem;
      border: 1px solid rgba(140, 109, 55, 0.3);
      border-radius: 20px;
      margin-bottom: 1rem;
      font-weight: 600;
    }

    .retreat-highlight-title {
      font-size: 1.85rem;
      color: #E2B768;
      margin-bottom: 0.6rem;
    }    /* THE GUIDE SECTION (ILLUSTRATION ON TOP, CENTERED CONTENT BELOW) */
    #guide {
      position: relative;
      overflow: hidden;
      padding: 6rem 0;
      background: transparent !important;
    }

    .guide-svg-hero-wrap {
      margin: 0 auto 2.5rem;
      display: flex;
      justify-content: center;
      align-items: center;
      position: relative;
    }

    .guide-svg-hero {
      width: 240px;
      height: 240px;
      max-width: 70vw;
      filter: drop-shadow(0 0 35px rgba(226, 183, 104, 0.35));
      transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), filter 0.6s ease;
    }

    .guide-svg-hero-wrap:hover .guide-svg-hero {
      transform: scale(1.06);
      filter: drop-shadow(0 0 50px rgba(226, 183, 104, 0.55));
    }

    .guide-content-centered {
      position: relative;
      z-index: 2;
      max-width: 820px;
      margin: 0 auto;
      text-align: center;
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    .guide-title-wrap {
      margin-bottom: 1.5rem;
    }

    .guide-bio-text {
      font-size: 1.08rem;
      line-height: 1.85;
      color: var(--text-alabaster);
      margin-bottom: 1.5rem;
      max-width: 760px;
    }

    .guide-quote-box-centered {
      position: relative;
      padding: 1.8rem 2.4rem;
      margin: 1.5rem auto 0;
      max-width: 720px;
      background: #FFFFFF;
      border: 1px solid var(--border-gold);
      border-radius: var(--radius-md);
      font-family: var(--font-primary);
      font-size: 1.25rem;
      font-style: italic;
      color: #231C18;
      line-height: 1.6;
      box-shadow: 0 8px 25px rgba(50, 36, 22, 0.06);
    }

    .hawk-archetype-box-centered {
      background: #F3ECE2;
      border: 1px solid var(--border-gold);
      padding: 1.4rem 2rem;
      border-radius: var(--radius-sm);
      max-width: 580px;
      margin: 1.5rem auto 0;
      box-shadow: 0 6px 20px rgba(50, 36, 22, 0.05);
    }

    /* EXPERIENCES & GATHERINGS */
    .experiences-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 2rem;
    }

    .experience-card {
      display: flex;
      flex-direction: column;
      height: 100%;
    }

    .experience-img-wrap {
      height: 220px;
      position: relative;
      overflow: hidden;
      border-top-left-radius: var(--radius-md);
      border-top-right-radius: var(--radius-md);
    }

    .experience-img-wrap img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.6s ease;
    }

    .experience-card:hover .experience-img-wrap img {
      transform: scale(1.06);
    }

    .experience-badge {
      position: absolute;
      top: 12px;
      left: 12px;
      background: rgba(255, 255, 255, 0.92);
      border: 1px solid var(--border-gold);
      color: var(--gold-primary);
      padding: 0.3rem 0.75rem;
      border-radius: 20px;
      font-size: 0.68rem;
    }

    .experience-body {
      padding: 1.8rem;
      flex: 1;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }

    .experience-title {
      font-size: 1.25rem;
      color: #E2B768;
      margin-bottom: 0.5rem;
    }

    .experience-meta {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 0.85rem;
      color: var(--gold-muted);
      font-size: 0.8rem;
      margin-bottom: 1rem;
    }

    .exp-meta-item {
      display: inline-flex;
      align-items: center;
      gap: 0.35rem;
    }

    .exp-meta-icon {
      width: 14px;
      height: 14px;
      stroke-width: 1.8;
      stroke: var(--gold-primary);
      flex-shrink: 0;
    }

    .experience-features {
      list-style: none;
      margin: 1.2rem 0 1.8rem;
    }

    .experience-features li {
      position: relative;
      padding-left: 1.4rem;
      margin-bottom: 0.6rem;
      font-size: 0.88rem;
      color: var(--text-muted);
    }

    .experience-features li::before {
      content: '•';
      position: absolute;
      left: 0;
      color: var(--gold-primary);
      font-size: 0.85rem;
    }

    /* BOOKING PORTAL */
    .saga-dell-anima-wrapper .booking-section {
      background: transparent !important;
      padding: clamp(3.5rem, 6.5vh, 7rem) 0;
    }

    .booking-unified-card {
      background: #F3ECE2 !important;
      max-width: min(75rem, 92vw);
      width: 100%;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr auto 1.35fr;
      padding: 0;
      overflow: hidden;
      box-sizing: border-box;
    }

    @media (max-width: 900px) {
      .booking-unified-card {
        grid-template-columns: 1fr;
      }
    }

    .booking-info-pane {
      background: #F3ECE2 !important;
      padding: clamp(1.8rem, 2.8vw, 3rem) clamp(1.5rem, 2.5vw, 2.5rem);
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
    }

    .booking-divider {
      width: 1px;
      background: linear-gradient(to bottom, transparent, var(--border-gold), var(--border-gold), transparent);
      opacity: 0.6;
    }

    @media (max-width: 900px) {
      .booking-divider {
        width: 100%;
        height: 1px;
        background: linear-gradient(to right, transparent, var(--border-gold), var(--border-gold), transparent);
      }
    }

    .booking-channel-item {
      display: flex;
      align-items: flex-start;
      gap: 1rem;
      margin-bottom: 2rem;
    }

    .booking-channel-icon {
      width: 42px;
      height: 42px;
      border-radius: 50%;
      border: 1px solid var(--border-gold);
      display: flex;
      align-items: center;
      justify-content: center;
      color: var(--gold-primary);
      flex-shrink: 0;
      background: #FFFFFF;
    }

    /* BOOKING CARD HEADER & CHANNEL META */
    .booking-pane-header {
      margin-bottom: 2rem;
    }

    .booking-pane-kicker {
      display: inline-block;
      font-family: var(--font-primary) !important;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: #9C7A3C;
      margin-bottom: 0.45rem;
    }

    .booking-pane-title {
      font-family: var(--font-primary) !important;
      font-size: 1.65rem;
      font-weight: 800;
      color: #231C18;
      letter-spacing: 0.04em;
      margin: 0;
      line-height: 1.25;
    }

    .booking-channel-meta {
      display: flex;
      flex-direction: column;
      gap: 0.25rem;
    }

    .booking-channel-label {
      font-family: var(--font-primary) !important;
      font-size: 0.76rem;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: #7A5B2B;
    }

    .booking-channel-val {
      font-family: var(--font-primary) !important;
      font-size: 1.05rem;
      font-weight: 800;
      color: #231C18;
      letter-spacing: 0.02em;
      margin: 0;
    }

    .booking-channel-desc {
      font-family: var(--font-primary) !important;
      font-size: 0.84rem;
      color: #5C4A3C;
      line-height: 1.45;
      margin: 0;
    }

    .booking-sacred-seal {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      margin-top: auto;
      padding-top: 1.8rem;
      border-top: 1px solid rgba(140, 109, 55, 0.22);
    }

    .booking-seal-icon {
      width: 28px;
      height: 28px;
      border-radius: 50%;
      background: rgba(156, 122, 60, 0.12);
      border: 1px solid #9C7A3C;
      color: #9C7A3C;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }

    .booking-seal-text {
      font-family: var(--font-primary) !important;
      font-size: 0.8rem;
      font-style: italic;
      color: #6E5A4C;
      line-height: 1.4;
      margin: 0;
    }

    /* RIGHT PANE: GUIDED SPIRITUAL INQUIRY INVITATION */
    .booking-invite-pane {
      background: #F3ECE2 !important;
      padding: clamp(1.8rem, 2.8vw, 3rem) clamp(1.5rem, 2.5vw, 2.8rem);
      display: flex;
      flex-direction: column;
      justify-content: center;
      position: relative;
    }

    .booking-invite-kicker {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      font-family: var(--font-primary) !important;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: #9C7A3C;
      margin-bottom: 0.65rem;
    }

    .booking-invite-kicker svg {
      color: #9C7A3C;
    }

    .booking-invite-title {
      font-family: var(--font-primary) !important;
      font-size: 1.75rem;
      font-weight: 800;
      color: #231C18;
      letter-spacing: 0.04em;
      margin: 0 0 0.95rem 0;
      line-height: 1.22;
    }

    .booking-title-mobile {
      display: none;
    }

    .booking-title-desktop {
      display: inline;
    }

    .booking-invite-desc {
      font-family: var(--font-primary) !important;
      font-size: 0.92rem;
      color: #5C4A3C;
      line-height: 1.6;
      margin: 0 0 1.8rem 0;
    }

    .booking-invite-highlights {
      display: flex;
      flex-direction: column;
      gap: 0.9rem;
      margin-bottom: 2.2rem;
    }

    .booking-highlight-item {
      display: flex;
      align-items: center;
      gap: 0.85rem;
      font-family: var(--font-primary) !important;
      font-size: 0.86rem;
      font-weight: 600;
      color: #382C22;
      line-height: 1.4;
    }

    .booking-highlight-icon {
      width: 32px;
      height: 32px;
      border-radius: 50%;
      background: #FFFFFF;
      border: 1px solid rgba(140, 109, 55, 0.32);
      color: #9C7A3C;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
      box-shadow: 0 2px 8px rgba(140, 109, 55, 0.08);
    }

    .btn-sacred-launch {
      background: linear-gradient(135deg, #9C7A3C 0%, #755420 100%) !important;
      color: #FFFFFF !important;
      border: none !important;
      border-radius: 9999px !important;
      padding: 1rem 2.2rem !important;
      font-family: var(--font-primary) !important;
      font-size: 0.86rem !important;
      font-weight: 700 !important;
      letter-spacing: 0.14em !important;
      text-transform: uppercase !important;
      cursor: pointer !important;
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 0.75rem !important;
      box-shadow: 0 8px 24px rgba(117, 84, 32, 0.28) !important;
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
      width: fit-content !important;
    }

    .btn-sacred-launch:hover {
      transform: translateY(-2px) !important;
      box-shadow: 0 12px 30px rgba(156, 122, 60, 0.42) !important;
      background: linear-gradient(135deg, #B58D45 0%, #8C6629 100%) !important;
    }

    .btn-sacred-launch svg {
      transition: transform 0.25s ease;
    }

    .btn-sacred-launch:hover svg {
      transform: scale(1.1);
    }

    /* ==========================================================================
       FOOTER (Full Width Multi-Column)
       ========================================================================== */
    .saga-dell-anima-wrapper footer {
      border-top: 1px solid rgba(168, 137, 78, 0.35);
      padding: 5rem 0 2rem;
      background: #0A0807 !important;
      position: relative;
      z-index: 5 !important;
      width: 100%;
    }

    .footer-container {
      width: 100% !important;
      max-width: 100% !important;
      margin: 0 !important;
      padding: 0 clamp(1.2rem, 4vw, 4rem) !important;
      box-sizing: border-box !important;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.6fr 1fr 1.2fr 1.3fr;
      gap: clamp(2rem, 3.5vw, 4rem);
      align-items: start;
      margin-bottom: 4rem;
      text-align: left;
      width: 100%;
      box-sizing: border-box;
    }

    @media (max-width: 1024px) {
      .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem;
      }
    }

    @media (max-width: 640px) {
      .footer-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
      }
    }

    .footer-brand-col .brand-title {
      font-size: 1.3rem;
      display: inline-block;
      margin-bottom: 1rem;
    }

    .footer-excerpt {
      font-size: 0.88rem;
      color: rgba(234, 224, 210, 0.72) !important;
      line-height: 1.75;
      max-width: 340px;
    }

    .saga-dell-anima-wrapper footer h4,
    .saga-dell-anima-wrapper footer .footer-col-title {
      font-family: var(--font-primary) !important;
      font-size: 0.85rem !important;
      color: #E2B768 !important;
      letter-spacing: 0.14em !important;
      text-transform: uppercase !important;
      margin-bottom: 1.4rem !important;
      font-weight: 700 !important;
    }

    .footer-list {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: 0.85rem;
    }

    .footer-list li a {
      color: rgba(234, 224, 210, 0.72) !important;
      font-size: 0.88rem;
      text-decoration: none;
      transition: var(--transition-smooth);
    }

    .footer-list li a:hover {
      color: #E2B768 !important;
      padding-left: 4px;
    }

    .footer-contact-item {
      display: flex;
      align-items: flex-start;
      gap: 0.75rem;
      color: rgba(234, 224, 210, 0.72) !important;
      font-size: 0.88rem;
      line-height: 1.5;
    }

    .footer-contact-icon {
      width: 16px;
      height: 16px;
      stroke: #E2B768 !important;
      flex-shrink: 0;
      margin-top: 3px;
    }

    .saga-dell-anima-wrapper .footer-touch-col p {
      font-size: 0.88rem;
      color: rgba(234, 224, 210, 0.72) !important;
      line-height: 1.65;
      margin-bottom: 1.2rem;
    }

    .footer-bottom-bar {
      border-top: 1px solid rgba(226, 183, 104, 0.15);
      padding-top: 2rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 1rem;
      font-size: 0.8rem;
      color: var(--text-subtle);
    }

    .footer-bottom-bar a {
      color: var(--gold-primary);
      text-decoration: none;
      font-weight: 500;
      transition: var(--transition-smooth);
    }

    .footer-bottom-bar a:hover {
      color: #E2B768;
      text-decoration: underline;
    }

    /* RESPONSIVE MEDIA QUERIES */
    @media (max-width: 1024px) {
      .pillars-grid {
        grid-template-columns: repeat(3, 1fr);
      }
      .archetypes-grid {
        grid-template-columns: repeat(2, 1fr);
      }
      .experiences-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    
    @media (max-width: 768px) {
      .nav-fullwidth-wrapper {
        padding: 0 1rem;
      }
      .brand-title {
        font-size: clamp(0.85rem, 3.8vw, 1.05rem);
        letter-spacing: 0.1em;
        white-space: nowrap;
      }
      .nav-actions {
        gap: 0.6rem;
      }
      .lang-switcher {
        padding: 2px;
      }
      .lang-btn {
        padding: 0.28rem 0.5rem;
        font-size: 0.66rem;
        gap: 0.3rem;
      }
      .lang-flag {
        width: 13px;
        height: 10px;
      }
      .mobile-menu-btn {
        padding: 4px;
      }
      .saga-dell-anima-wrapper .hero-section {
        min-height: 100vh !important;
        min-height: 100dvh !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-end !important;
        align-items: center !important;
        background-image: url('../images/hero/hero-hawk-bg.webp') !important;
        background-size: auto 118% !important;
        background-position: center clamp(-80px, -8.5vh, -45px) !important;
        background-repeat: no-repeat !important;
        padding-top: calc(70px + 43vh) !important;
        padding-bottom: clamp(2.5rem, 6vh, 4.5rem) !important;
        box-sizing: border-box !important;
      }
      .saga-dell-anima-wrapper .hero-container {
        padding: 0 1.25rem !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: auto !important;
        margin-bottom: auto !important;
        box-sizing: border-box !important;
      }
      .saga-dell-anima-wrapper .hero-content {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
      }
      .saga-dell-anima-wrapper header {
        top: 0;
      }
      .saga-dell-anima-wrapper section {
        padding: 4.5rem 0;
      }
      .nav-links {
        display: none;
        position: absolute;
        top: 70px;
        left: 0;
        right: 0;
        background: rgba(12, 10, 8, 0.98);
        border-bottom: 1px solid rgba(168, 137, 78, 0.35);
        flex-direction: column;
        padding: 2rem;
        gap: 1.5rem;
        text-align: center;
      }
      .nav-links.mobile-open {
        display: flex;
      }
      .mobile-menu-btn {
        display: block;
      }
      .duality-grid, .guide-grid, .booking-layout {
        grid-template-columns: 1fr;
      }
      .pillars-grid {
        grid-template-columns: 1fr;
      }
      .archetypes-grid {
        grid-template-columns: 1fr;
      }
      .experiences-grid {
        grid-template-columns: 1fr;
      }
      .form-row {
        grid-template-columns: 1fr;
      }
      .retreat-highlight-banner {
      background-blend-mode: normal !important;
        flex-direction: column;
        text-align: center;
        padding: 2.5rem 1.5rem;
        background: linear-gradient(180deg, rgba(14, 14, 16, 0.95) 0%, rgba(14, 14, 16, 0.85) 60%, rgba(14, 14, 16, 0.32) 85%, rgba(14, 14, 16, 0.08) 100%),
                    url('../images/experiences/experience-tuscany-landscape.webp') center/cover no-repeat !important;
      }
    }

    @media (max-width: 600px) {
      .saga-dell-anima-wrapper .hero-headline {
        font-size: clamp(1.15rem, 5.2vw, 1.55rem) !important;
        line-height: 1.15 !important;
        letter-spacing: 0.04em !important;
        margin-bottom: clamp(0.6rem, 1.5vh, 0.9rem) !important;
        width: 100% !important;
        max-width: 100% !important;
      }
      .saga-dell-anima-wrapper .hero-headline span {
        display: block !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
      }
      .saga-dell-anima-wrapper .hero-subtext {
        font-size: clamp(0.78rem, 3.4vw, 0.95rem) !important;
        line-height: 1.55 !important;
        max-width: 440px !important;
        width: 100% !important;
        margin: 0 auto clamp(0.9rem, 2.2vh, 1.4rem) !important;
        padding: 0 0.5rem !important;
      }
      .saga-dell-anima-wrapper .hero-cta-group {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 0.65rem !important;
        width: 100% !important;
        max-width: 100% !important;
        flex-wrap: wrap !important;
      }
      .saga-dell-anima-wrapper .hero-section .btn-primary,
      .saga-dell-anima-wrapper .hero-section .btn-secondary {
        padding: 0.68rem 1.05rem !important;
        font-size: 0.72rem !important;
        letter-spacing: 0.08em !important;
        white-space: nowrap !important;
        flex: 0 1 auto !important;
      }
    }
  
    
    @media (max-width: 380px) {
      .nav-fullwidth-wrapper {
        padding: 0 0.5rem;
      }
      .brand-title {
        font-size: 0.78rem;
        letter-spacing: 0.05em;
      }
      .nav-actions {
        gap: 0.35rem;
      }
      .lang-btn {
        padding: 0.22rem 0.4rem;
        font-size: 0.62rem;
      }
    }
  
    /* WordPress Admin Bar Compatibility */
    .admin-bar .saga-dell-anima-wrapper header {
      top: 32px;
    }
    .admin-bar .sidebar-drawer {
      top: 32px !important;
      height: calc(100vh - 32px) !important;
    }
    @media screen and (max-width: 782px) {
      .admin-bar .saga-dell-anima-wrapper header {
        top: 46px;
      }
      .admin-bar .sidebar-drawer {
        top: 46px !important;
        height: calc(100vh - 46px) !important;
      }
    }

    /* WPFORMS LUXURY GOLD STYLING (#wpforms-29) */
    .saga-dell-anima-wrapper .wpforms-container,
    .saga-dell-anima-wrapper div.wpforms-container-full {
      margin: 0 !important;
      padding: 0 !important;
      background: transparent !important;
    }
    .saga-dell-anima-wrapper .wpforms-form .wpforms-field {
      padding: 0 0 1.25rem 0 !important;
      margin: 0 !important;
    }
    .saga-dell-anima-wrapper .wpforms-form label.wpforms-field-label {
      display: block !important;
      font-family: var(--font-primary) !important;
      text-transform: uppercase !important;
      letter-spacing: 0.16em !important;
      font-size: 0.72rem !important;
      font-weight: 600 !important;
      color: var(--gold-primary) !important;
      margin-bottom: 0.45rem !important;
    }
    .saga-dell-anima-wrapper .wpforms-form .wpforms-required-label {
      color: var(--gold-light) !important;
    }
    .saga-dell-anima-wrapper .wpforms-form input[type="text"],
    .saga-dell-anima-wrapper .wpforms-form input[type="email"],
    .saga-dell-anima-wrapper .wpforms-form select,
    .saga-dell-anima-wrapper .wpforms-form textarea {
      width: 100% !important;
      box-sizing: border-box !important;
      background: #EAE0D2 !important;
      border: 1px solid var(--border-gold) !important;
      color: var(--text-alabaster) !important;
      font-family: var(--font-primary) !important;
      font-size: 0.95rem !important;
      padding: 0.85rem 1rem !important;
      border-radius: var(--radius-sm) !important;
      transition: var(--transition-smooth) !important;
    }
    .saga-dell-anima-wrapper .wpforms-form input:focus,
    .saga-dell-anima-wrapper .wpforms-form select:focus,
    .saga-dell-anima-wrapper .wpforms-form textarea:focus {
      border-color: var(--gold-primary) !important;
      outline: none !important;
      box-shadow: 0 0 14px var(--gold-glow) !important;
      background: #FFFFFF !important;
    }
    .saga-dell-anima-wrapper .wpforms-form select option {
      background: #FFFFFF !important;
      color: var(--text-alabaster) !important;
    }
    .saga-dell-anima-wrapper .wpforms-form .wpforms-submit-container {
      padding: 0.5rem 0 0 0 !important;
      margin: 0 !important;
    }
    .saga-dell-anima-wrapper .wpforms-form button[type="submit"].wpforms-submit {
      width: 100% !important;
      background: linear-gradient(135deg, #9C7A3C 0%, #755420 100%) !important;
      color: #FFFFFF !important;
      border: none !important;
      font-family: var(--font-primary) !important;
      font-weight: 700 !important;
      letter-spacing: 0.14em !important;
      text-transform: uppercase !important;
      font-size: 0.92rem !important;
      padding: 1rem 1.8rem !important;
      border-radius: var(--radius-sm) !important;
      cursor: pointer !important;
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
    }
    .saga-dell-anima-wrapper .wpforms-form button[type="submit"].wpforms-submit:hover {
      transform: translateY(-2px) !important;
      box-shadow: 0 8px 30px rgba(226, 183, 104, 0.4) !important;
    }
    .saga-dell-anima-wrapper .wpforms-confirmation-container-full {
      background: #FFFFFF !important;
      border: 1px solid var(--border-gold-strong) !important;
      color: var(--gold-light) !important;
      border-radius: var(--radius-md) !important;
      padding: 2rem !important;
      text-align: center !important;
      font-family: var(--font-primary) !important;
      box-shadow: 0 0 25px rgba(226, 183, 104, 0.2) !important;
    }


    /* FLUENT FORMS LUXURY GOLD STYLING */
    .saga-dell-anima-wrapper .fluentform,
    .saga-dell-anima-wrapper .ff-el-group {
      margin-bottom: 1.25rem !important;
    }
    .saga-dell-anima-wrapper .fluentform .ff-el-input--label label {
      display: block !important;
      font-family: var(--font-primary) !important;
      text-transform: uppercase !important;
      letter-spacing: 0.16em !important;
      font-size: 0.72rem !important;
      font-weight: 600 !important;
      color: var(--gold-primary) !important;
      margin-bottom: 0.45rem !important;
    }
    .saga-dell-anima-wrapper .fluentform .ff-el-form-control {
      width: 100% !important;
      box-sizing: border-box !important;
      background: #EAE0D2 !important;
      border: 1px solid var(--border-gold) !important;
      color: var(--text-alabaster) !important;
      font-family: var(--font-primary) !important;
      font-size: 0.95rem !important;
      padding: 0.85rem 1rem !important;
      border-radius: var(--radius-sm) !important;
      transition: var(--transition-smooth) !important;
      box-shadow: none !important;
    }
    .saga-dell-anima-wrapper .fluentform .ff-el-form-control:focus {
      border-color: var(--gold-primary) !important;
      outline: none !important;
      box-shadow: 0 0 14px var(--gold-glow) !important;
      background: #FFFFFF !important;
    }
    .saga-dell-anima-wrapper .fluentform select.ff-el-form-control option {
      background: #FFFFFF !important;
      color: var(--text-alabaster) !important;
    }
    .saga-dell-anima-wrapper .fluentform .ff-btn-submit {
      width: 100% !important;
      background: linear-gradient(135deg, #9C7A3C 0%, #755420 100%) !important;
      color: #FFFFFF !important;
      border: none !important;
      font-family: var(--font-primary) !important;
      font-weight: 700 !important;
      letter-spacing: 0.14em !important;
      text-transform: uppercase !important;
      font-size: 0.92rem !important;
      padding: 1rem 1.8rem !important;
      border-radius: var(--radius-sm) !important;
      cursor: pointer !important;
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
    }
    .saga-dell-anima-wrapper .fluentform .ff-btn-submit:hover {
      transform: translateY(-2px) !important;
      box-shadow: 0 8px 30px rgba(226, 183, 104, 0.4) !important;
    }
    .saga-dell-anima-wrapper .ff-message-success {
      background: #FFFFFF !important;
      border: 1px solid var(--border-gold-strong) !important;
      color: var(--gold-light) !important;
      border-radius: var(--radius-md) !important;
      padding: 1.5rem !important;
      text-align: center !important;
      font-family: var(--font-primary) !important;
    }


    /* BULLETPROOF MOBILE HEADER & LOGO ALIGNMENT */
    .saga-dell-anima-wrapper header {
      position: fixed !important;
      top: 0 !important;
      left: 0 !important;
      right: 0 !important;
      width: 100% !important;
      max-width: 100% !important;
      height: 70px !important;
      z-index: 99999 !important;
      background: transparent !important;
      backdrop-filter: none !important;
      -webkit-backdrop-filter: none !important;
      border-bottom: 1px solid transparent !important;
      box-shadow: none !important;
      display: flex !important;
      align-items: center !important;
      box-sizing: border-box !important;
      transition: background 0.35s ease, backdrop-filter 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease !important;
    }

    .saga-dell-anima-wrapper header.is-floating {
      background: rgba(10, 8, 7, 0.96) !important;
      backdrop-filter: blur(14px) !important;
      -webkit-backdrop-filter: blur(14px) !important;
      border-bottom: 1px solid rgba(168, 137, 78, 0.35) !important;
      box-shadow: 0 4px 25px rgba(0, 0, 0, 0.45) !important;
    }

    .saga-dell-anima-wrapper .nav-fullwidth-wrapper {
      width: 100% !important;
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
      flex-wrap: nowrap !important;
      box-sizing: border-box !important;
      padding: 0 clamp(0.75rem, 3.5vw, 3.5rem) !important;
    }

    .saga-dell-anima-wrapper .brand-logo {
      display: flex !important;
      align-items: center !important;
      text-decoration: none !important;
      flex-shrink: 0 !important;
      white-space: nowrap !important;
    }

    .saga-dell-anima-wrapper .brand-title {
      font-family: 'Cinzel Decorative', serif !important;
      color: var(--gold-light) !important;
      font-weight: 700 !important;
      line-height: 1 !important;
      white-space: nowrap !important;
      word-break: keep-all !important;
      overflow-wrap: normal !important;
      display: inline-block !important;
      letter-spacing: 0.14em !important;
      font-size: 1.15rem !important;
    }

    @media (max-width: 768px) {
      .saga-dell-anima-wrapper header {
        height: 64px !important;
      }
      .saga-dell-anima-wrapper .nav-fullwidth-wrapper {
        padding: 0 0.75rem !important;
      }
      .saga-dell-anima-wrapper .brand-title {
        font-size: clamp(0.78rem, 3.6vw, 0.96rem) !important;
        letter-spacing: 0.08em !important;
      }
      .saga-dell-anima-wrapper .nav-actions {
        display: flex !important;
        align-items: center !important;
        gap: 0.45rem !important;
        flex-shrink: 0 !important;
      }
      .saga-dell-anima-wrapper .lang-switcher {
        padding: 2px !important;
        border-radius: 14px !important;
      }
      .saga-dell-anima-wrapper .lang-btn {
        padding: 0.22rem 0.45rem !important;
        font-size: 0.64rem !important;
        gap: 0.25rem !important;
      }
      .saga-dell-anima-wrapper .lang-flag {
        width: 13px !important;
        height: 9px !important;
      }
      .saga-dell-anima-wrapper .mobile-menu-btn {
        padding: 4px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
      }
    }

    @media (max-width: 380px) {
      .saga-dell-anima-wrapper .nav-fullwidth-wrapper {
        padding: 0 0.5rem !important;
      }
      .saga-dell-anima-wrapper .brand-title {
        font-size: 0.74rem !important;
        letter-spacing: 0.05em !important;
      }
      .saga-dell-anima-wrapper .nav-actions {
        gap: 0.3rem !important;
      }
      .saga-dell-anima-wrapper .lang-btn {
        padding: 0.18rem 0.35rem !important;
        font-size: 0.58rem !important;
      }
    }
  

    /* BRAND LOGO & ASSETS */
    .brand-logo-img {
      height: 46px;
      width: auto;
      max-width: 195px;
      object-fit: contain;
      display: block;
      filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.35));
      transition: var(--transition-smooth);
    }

    .brand-logo:hover .brand-logo-img {
      filter: drop-shadow(0 3px 12px rgba(226, 183, 104, 0.45));
      transform: scale(1.02);
    }

    .footer-brand-link {
      display: inline-block;
      text-decoration: none;
      margin-bottom: 1.25rem;
      transition: var(--transition-smooth);
    }

    .footer-brand-link:hover .footer-logo-img {
      filter: drop-shadow(0 4px 18px rgba(226, 183, 104, 0.55));
      transform: translateY(-2px);
    }

    .footer-logo-img {
      height: 85px;
      width: auto;
      max-width: 300px;
      object-fit: contain;
      display: block;
      filter: drop-shadow(0 2px 10px rgba(226, 183, 104, 0.3));
      transition: var(--transition-smooth);
    }

    /* THE GUIDE PORTRAIT FRAME */
    .guide-portrait-wrap {
      margin: 0 auto 2.5rem;
      display: flex;
      justify-content: center;
      align-items: center;
      position: relative;
    }

    .guide-portrait-frame {
      width: 250px;
      height: 250px;
      border-radius: 50%;
      border: 3px solid #B89758;
      box-shadow: 0 0 35px rgba(184, 151, 88, 0.35), 0 10px 25px rgba(50, 36, 22, 0.12);
      overflow: hidden;
      position: relative;
      background: #EAE0D2;
      transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.6s ease;
    }

    .guide-portrait-wrap:hover .guide-portrait-frame {
      transform: scale(1.04);
      box-shadow: 0 0 55px rgba(226, 183, 104, 0.55), inset 0 0 25px rgba(0, 0, 0, 0.7);
    }

    .guide-portrait-img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 20%;
      display: block;
    }

    @media (max-width: 768px) {
      .brand-logo-img {
        height: clamp(42px, 10.5vw, 51px);
        max-width: clamp(158px, 42vw, 195px);
      }
      .guide-portrait-frame {
        width: 200px;
        height: 200px;
      }
    }


    /* ==========================================================================
       CARDS & CONTENT CONTAINERS - SOLID OPAQUE BACKING & ELEVATED STACKING
       (Particles float strictly behind cards in the background; never on top)
       ========================================================================== */
    .container,
    .filippo-hero-editorial-grid,
    .filippo-wellness-header,
    .filippo-wellness-pillars,
    .filippo-wellness-gallery,
    .filippo-fashion-timeline,
    .filosofia-grid,
    .viaggio-top-split,
    .viaggio-left-content {
      position: relative;
      z-index: 2;
    }

    .sacred-frame,
    .duality-card,
    .pillar-card,
    .phil-cammino-card,
    .filippo-pillar-card,
    .archetype-card,
    .retreat-highlight-banner,
    .experience-card,
    .booking-unified-card,
    .booking-info-pane,
    .booking-form-pane,
    .guide-quote-box-centered,
    .hawk-archetype-box-centered,
    .guide-portrait-frame,
    .filippo-wellness-card,
    .filippo-centerpiece-card,
    .filippo-timeline-row {
      position: relative !important;
      z-index: 3 !important;
    }

    .sacred-frame,
    .duality-card,
    .pillar-card,
    .phil-cammino-card,
    .filippo-pillar-card,
    .archetype-card,
    .experience-card,
    .booking-unified-card,
    .booking-info-pane,
    .booking-form-pane,
    .guide-quote-box-centered,
    .hawk-archetype-box-centered {
      background-color: #F3ECE2 !important;
    }

    .archetype-card:hover,
    .sacred-frame:hover,
    .duality-card:hover,
    .pillar-card:hover,
    .phil-cammino-card:hover,
    .filippo-pillar-card:hover {
      background-color: #FAF6F0 !important;
    }

    .retreat-highlight-banner {
      background-blend-mode: normal !important;
      background: linear-gradient(90deg, rgba(14, 14, 16, 0.95) 0%, rgba(14, 14, 16, 0.82) 42%, rgba(14, 14, 16, 0.28) 72%, rgba(14, 14, 16, 0.06) 100%),
                  url('../images/experiences/experience-tuscany-landscape.webp') center/cover no-repeat !important;
    }

    .whatsapp-preview-box {
      display: none !important;
    }


    /* HIGH CONTRAST LUMINOUS RETREAT BANNER TYPOGRAPHY */
    .saga-dell-anima-wrapper .retreat-highlight-banner .retreat-highlight-title {
      font-family: var(--font-primary) !important;
      font-size: clamp(1.4rem, 2.5vw, 2.2rem) !important;
      color: #F5CE7A !important;
      letter-spacing: 0.12em !important;
      text-transform: uppercase !important;
      font-weight: 800 !important;
      line-height: 1.25 !important;
      margin-bottom: 0.85rem !important;
      text-shadow: 0 2px 10px rgba(0, 0, 0, 0.95), 0 0 2px #000 !important;
    }

    .saga-dell-anima-wrapper .retreat-highlight-banner p,
    .saga-dell-anima-wrapper .retreat-highlight-banner .retreat-highlight-desc {
      color: #FFFFFF !important;
      font-size: 1.05rem !important;
      line-height: 1.65 !important;
      max-width: 620px !important;
      text-shadow: 0 2px 8px rgba(0, 0, 0, 0.95), 0 0 2px #000 !important;
      font-weight: 500 !important;
    }

    .saga-dell-anima-wrapper .retreat-highlight-banner .ui-badge,
    .saga-dell-anima-wrapper .retreat-highlight-banner .retreat-highlight-badge {
      background: rgba(12, 10, 8, 0.8) !important;
      border: 1px solid #E2B768 !important;
      color: #F5CE7A !important;
      text-shadow: 0 1px 4px #000 !important;
    }


    /* ==========================================================================
       UNIQUE & CALMING LUXURY ELEMENTS (SAGA DELL'ANIMA SYSTEM)
       ========================================================================== */
    
    /* NAV CTA BUTTON (Sessione 1:1) */
    .nav-cta-btn {
      display: inline-flex;
      align-items: center;
      gap: 0.45rem;
      padding: 0.45rem 1.15rem;
      border-radius: 9999px;
      background: linear-gradient(135deg, #9C7A3C 0%, #755420 100%);
      color: #FFFFFF !important;
      border: 1px solid rgba(226, 183, 104, 0.45);
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      text-decoration: none;
      transition: var(--transition-smooth);
      box-shadow: 0 4px 14px rgba(117, 84, 32, 0.25);
      cursor: pointer;
      white-space: nowrap;
    }
    .nav-cta-btn:hover {
      transform: translateY(-2px);
      box-shadow: 0 6px 22px rgba(140, 109, 55, 0.4);
      border-color: #E2B768;
      color: #FFFFFF !important;
    }
    .nav-cta-btn svg {
      width: 14px;
      height: 14px;
      stroke: #FCEFD2;
    }

    /* ==========================================================================
       IL VIAGGIO DELL'ANIMA • CENTERED HEADER, 2-COL (16:9 VERTICAL IMAGES) + 3-CARD ROW
       ========================================================================== */
    #viaggio .container {
      width: 95%;
      max-width: min(102.5rem, 94vw);
      margin: 0 auto;
      padding: 0 clamp(1rem, 2vw, 1.5rem);
    }

    #viaggio .section-header {
      margin: 0 auto clamp(1.8rem, 3vh, 2.5rem);
    }

    .viaggio-top-split {
      display: grid;
      grid-template-columns: minmax(0, 1.3fr) minmax(0, clamp(280px, 25vw, 390px));
      gap: clamp(1.8rem, 3.5vw, 4rem);
      align-items: center;
      margin-top: 0;
      margin-bottom: clamp(2rem, 3.5vh, 3.5rem);
    }

    /* Left Side: Text Narrative & 3 Cards Container */
    .viaggio-left-content {
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .viaggio-thesis-wrap {
      margin-bottom: 1.45rem;
      position: relative;
      padding-left: 1.4rem;
      border-left: 2.5px solid rgba(168, 137, 78, 0.65);
    }

    .viaggio-thesis-quote {
      font-family: var(--font-primary);
      font-size: clamp(1.8rem, 3.5vw, 2.6rem);
      color: #231C18;
      line-height: 1.3;
      font-weight: 500;
      letter-spacing: -0.01em;
      margin: 0;
    }

    .viaggio-thesis-quote strong {
      display: block;
      margin-top: 0.35rem;
      font-weight: 800;
      letter-spacing: 0.05em;
      color: #5C4320;
      text-transform: uppercase;
      font-size: 0.85em;
    }

    .viaggio-narrative-prose {
      font-size: 1.18rem;
      line-height: 1.82;
      color: #5A483B;
      margin-bottom: 0;
    }

    .viaggio-narrative-prose p {
      margin-bottom: 1.25rem;
    }

    .viaggio-narrative-prose p:last-child {
      margin-bottom: 0;
    }

    /* 3-Card Horizontal Row Inside Left Container */
    .viaggio-horizontal-cards {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.25rem;
      align-items: stretch;
    }

    .viaggio-step-card {
      background: #F3ECE2;
      border: 1px solid rgba(168, 137, 78, 0.24);
      border-radius: 12px;
      padding: 1.4rem 1.25rem;
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), background 0.3s ease, border-color 0.3s ease, box-shadow 0.4s ease;
      box-shadow: 0 4px 14px rgba(50, 36, 22, 0.04);
      display: flex;
      flex-direction: column;
      position: relative;
      z-index: 1;
    }

    .viaggio-step-card:hover {
      background: #FAF6F0;
      border-color: rgba(168, 137, 78, 0.65);
      transform: scale(1.05);
      box-shadow: 0 16px 36px rgba(50, 36, 22, 0.18);
      z-index: 5;
    }

    .viaggio-step-badge {
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: #8C6D37;
      margin-bottom: 0.55rem;
      display: inline-block;
    }

    .viaggio-step-title {
      font-family: var(--font-primary);
      font-size: 1.22rem;
      font-weight: 700;
      color: #231C18;
      margin: 0 0 0.55rem;
      line-height: 1.25;
      letter-spacing: 0.01em;
    }

    .viaggio-step-desc {
      font-size: 0.82rem;
      line-height: 1.5;
      color: #6A5849;
      margin: 0;
      margin-top: auto;
    }

    /* Right Side: Proportional 16:9 Image Stack */
    .viaggio-right-images {
      display: flex;
      flex-direction: column;
      justify-content: center;
      width: 100%;
      max-width: clamp(280px, 25vw, 390px);
      margin: 0;
    }

    .viaggio-images-grid {
      display: flex;
      flex-direction: column;
      gap: 0.65rem;
      width: 100%;
    }

    .viaggio-img-card {
      position: relative;
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 8px 24px rgba(50, 36, 22, 0.1);
      border: 1px solid rgba(168, 137, 78, 0.28);
      background: #E8DFD3;
      transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease;
      width: 100%;
      z-index: 1;
    }

    .viaggio-img-card:hover {
      transform: scale(1.06);
      box-shadow: 0 18px 40px rgba(50, 36, 22, 0.24);
      z-index: 5;
    }

    .viaggio-card-img {
      width: 100%;
      aspect-ratio: 16 / 9;
      object-fit: cover;
      display: block;
      transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .viaggio-img-card:hover .viaggio-card-img {
      transform: scale(1.03);
    }

    .viaggio-card-overlay {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      padding: 1.2rem 1.4rem;
      background: linear-gradient(to top, rgba(20, 16, 12, 0.85) 0%, rgba(20, 16, 12, 0) 100%);
      display: flex;
      align-items: center;
      gap: 0.6rem;
      color: #EAE0D2;
      font-size: 0.8rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
    }

    .viaggio-card-overlay svg {
      width: 15px;
      height: 15px;
      stroke: #E2B768;
    }

    @media (max-width: 1100px) {
      .viaggio-top-split {
        grid-template-columns: 1fr;
        gap: 3.5rem;
      }
      .viaggio-right-images {
        width: 100%;
        max-width: 540px;
        margin: 0 auto;
      }
    }

    @media (max-width: 768px) {
      .viaggio-horizontal-cards {
        display: none !important;
      }
    }

    /* ==========================================================================
       LA FILOSOFIA & I CAMMINI • EXPANDED LUXURY WIDTH SECTION
       ========================================================================== */
    #filosofia .container,
    .philosophy-wide-container {
      width: 95%;
      max-width: min(102.5rem, 94vw);
      margin: 0 auto;
      padding: 0 clamp(1rem, 2vw, 1.5rem);
    }

    :root {
      --orbit-radius: 265px;
      --wheel-rot: 0deg;
      --counter-rot: 0deg;
    }

    .philosophy-combined-split {
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
      gap: clamp(2rem, 4vw, 4.5rem);
      align-items: center;
      margin-top: clamp(2rem, 3.5vh, 3.5rem);
    }

    /* Left Column: Awakening Text Block + 4 Cards Below It */
    .phil-left-col {
      display: flex;
      flex-direction: column;
      gap: 1.8rem;
    }

    .phil-vision-text-block {
      margin-bottom: 0.75rem;
    }

    .phil-thesis-wrap {
      margin-bottom: 1.45rem;
      position: relative;
      padding-left: 1.4rem;
      border-left: 2.5px solid rgba(168, 137, 78, 0.65);
    }

    .phil-thesis-quote {
      font-family: var(--font-primary);
      font-size: clamp(1.8rem, 3.5vw, 2.6rem);
      color: #231C18;
      line-height: 1.3;
      font-weight: 500;
      letter-spacing: -0.01em;
      margin: 0;
    }

    .phil-thesis-quote strong {
      display: block;
      margin-top: 0.35rem;
      font-weight: 800;
      letter-spacing: 0.05em;
      color: #5C4320;
      text-transform: uppercase;
      font-size: 0.85em;
    }

    .phil-narrative-prose {
      font-size: 1.18rem;
      line-height: 1.82;
      color: #5A483B;
      max-width: 780px;
    }

    .phil-narrative-prose p {
      margin: 0;
    }

    /* 4 Cards Grid Below the Text Card */
    .phil-4cards-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.35rem;
    }

    .phil-cammino-card {
      background: #F3ECE2;
      border: 1px solid rgba(168, 137, 78, 0.24);
      border-radius: 14px;
      padding: 1.5rem 1.4rem;
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), background 0.3s ease, border-color 0.3s ease, box-shadow 0.4s ease;
      box-shadow: 0 4px 14px rgba(50, 36, 22, 0.04);
      display: flex;
      flex-direction: column;
      position: relative;
      z-index: 1;
    }

    .phil-cammino-card:hover {
      background: #FAF6F0;
      border-color: rgba(168, 137, 78, 0.65);
      transform: scale(1.04);
      box-shadow: 0 16px 36px rgba(50, 36, 22, 0.16);
      z-index: 5;
    }

    .phil-card-badge {
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: #8C6D37;
      margin-bottom: 0.45rem;
    }

    .phil-card-title {
      font-family: var(--font-primary);
      font-size: 1.05rem;
      font-weight: 700;
      color: #231C18;
      margin: 0 0 0.35rem;
      line-height: 1.3;
    }

    .phil-card-desc {
      font-size: 0.85rem;
      line-height: 1.52;
      color: #6A5849;
      margin: 0;
      margin-top: auto;
    }

    /* Right Column: Generous 360° Circle of Life */
    .phil-right-col {
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
    }

    .phil-right-col .circle-of-life-stage {
      position: relative;
      width: 100%;
      max-width: clamp(520px, 45vw, 760px);
      height: clamp(520px, 45vw, 760px);
      display: flex;
      align-items: center;
      justify-content: center;
    }

    /* SVG Connecting Circular Orbit Arcs */
    .circle-orbit-svg {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 100%;
      height: 100%;
      pointer-events: none;
      z-index: 0;
    }

    /* Center Sacred Medallion Hub */
    .circle-center-hub {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 200px;
      height: 200px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 3;
    }

    .circle-pulse-ring {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      border-radius: 50%;
      border: 1px dashed rgba(226, 183, 104, 0.4);
      pointer-events: none;
      animation: orbitSpin 45s linear infinite;
    }

    .circle-pulse-ring.ring-1 {
      width: 222px;
      height: 222px;
    }

    .circle-pulse-ring.ring-2 {
      width: 248px;
      height: 248px;
      border-style: dotted;
      border-color: rgba(168, 137, 78, 0.25);
      animation-duration: 70s;
      animation-direction: reverse;
    }

    @keyframes orbitSpin {
      from { transform: translate(-50%, -50%) rotate(0deg); }
      to { transform: translate(-50%, -50%) rotate(360deg); }
    }

    .circle-hub-medallion {
      width: 190px;
      height: 190px;
      border-radius: 50%;
      background: radial-gradient(circle at center, #281F17 0%, #15100C 100%);
      border: 2.5px solid rgba(226, 183, 104, 0.7);
      box-shadow: 0 16px 42px rgba(0, 0, 0, 0.4), 0 0 0 6px rgba(226, 183, 104, 0.16);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      box-sizing: border-box;
      padding: 0 1rem;
      color: #EAE0D2;
      text-align: center;
      transition: var(--transition-smooth);
    }

    .circle-hub-medallion:hover {
      transform: scale(1.05);
      border-color: rgba(226, 183, 104, 0.95);
      box-shadow: 0 20px 48px rgba(0, 0, 0, 0.45), 0 0 28px rgba(226, 183, 104, 0.45);
    }

    .circle-hub-medallion .circle-hub-title,
    .saga-dell-anima-wrapper .circle-hub-title {
      font-family: var(--font-primary) !important;
      font-size: 1.35rem !important;
      font-weight: 800 !important;
      letter-spacing: 0.08em !important;
      line-height: 1.3 !important;
      text-transform: uppercase !important;
      width: 100% !important;
      max-width: 156px !important;
      text-align: center !important;
      margin: 0 auto !important;
      padding: 0 !important;
      display: block !important;
      color: #F3CA7E !important;
      -webkit-text-fill-color: #F3CA7E !important;
      text-shadow: 0 0 14px rgba(243, 202, 126, 0.7), 0 0 28px rgba(226, 183, 104, 0.45), 0 2px 8px rgba(0, 0, 0, 0.95) !important;
      transition: var(--transition-smooth);
    }

    .circle-hub-medallion:hover .circle-hub-title {
      color: #FFE6A8 !important;
      -webkit-text-fill-color: #FFE6A8 !important;
      text-shadow: 0 0 20px rgba(255, 230, 168, 0.95), 0 0 35px rgba(226, 183, 104, 0.7), 0 2px 10px rgba(0, 0, 0, 0.95) !important;
    }

    /* Rotating Orbit Layer */
    .circle-nodes-orbit {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      transform-origin: center center;
      transform: rotate(var(--wheel-rot, 0deg));
      transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
      pointer-events: none;
      z-index: 2;
    }

    /* 6 Orbital Circular Cards along the 360° Perimeter */
    .circle-node-card {
      position: absolute;
      width: 216px;
      height: 216px;
      border-radius: 50%;
      background: radial-gradient(circle at 40% 35%, #F7F2EB 0%, #F3ECE2 100%);
      border: 1.5px solid rgba(168, 137, 78, 0.32);
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      box-sizing: border-box;
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      box-shadow: 0 10px 28px rgba(50, 36, 22, 0.07), inset 0 0 20px rgba(255, 255, 255, 0.8);
      transform: translate(-50%, -50%) rotate(var(--counter-rot, 0deg));
      transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, border-color 0.4s ease, background 0.4s ease;
      pointer-events: auto;
      overflow: hidden;
      cursor: pointer;
    }

    .circle-node-card:hover {
      background: radial-gradient(circle at 40% 35%, #FAF6F0 0%, #F7F2EB 100%);
      border-color: rgba(226, 183, 104, 0.85);
      transform: translate(-50%, -50%) rotate(var(--counter-rot, 0deg)) scale(1.06) !important;
      box-shadow: 0 16px 40px rgba(156, 122, 60, 0.22), 0 0 0 2px rgba(226, 183, 104, 0.5), inset 0 0 24px rgba(226, 183, 104, 0.15);
      z-index: 10;
    }

    /* Polar Placement along the Orbit (12, 2, 4, 6, 8, 10 o'clock) */
    .circle-node-card[data-node="1"] {
      top: calc(50% - var(--orbit-radius));
      left: 50%;
    }
    .circle-node-card[data-node="2"] {
      top: calc(50% - (var(--orbit-radius) * 0.5));
      left: calc(50% + (var(--orbit-radius) * 0.866));
    }
    .circle-node-card[data-node="3"] {
      top: calc(50% + (var(--orbit-radius) * 0.5));
      left: calc(50% + (var(--orbit-radius) * 0.866));
    }
    .circle-node-card[data-node="4"] {
      top: calc(50% + var(--orbit-radius));
      left: 50%;
    }
    .circle-node-card[data-node="5"] {
      top: calc(50% + (var(--orbit-radius) * 0.5));
      left: calc(50% - (var(--orbit-radius) * 0.866));
    }
    .circle-node-card[data-node="6"] {
      top: calc(50% - (var(--orbit-radius) * 0.5));
      left: calc(50% - (var(--orbit-radius) * 0.866));
    }

    /* Content inside circular card with true visual & mathematical centering */
    .circle-node-content {
      position: relative;
      z-index: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      width: 100%;
      max-width: 154px;
      margin: 0 auto;
      padding: 0;
    }

    .circle-node-title {
      font-family: var(--font-primary);
      font-size: 0.84rem;
      font-weight: 700;
      color: #231C18;
      margin: 0 0 0.38rem;
      line-height: 1.22;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      max-width: 145px;
      text-align: center;
    }

    .circle-node-desc {
      font-size: 0.72rem;
      line-height: 1.44;
      color: #5A483B;
      margin: 0;
      max-width: 148px;
      text-align: center;
    }

    /* Responsive Breakdown */
    @media (max-width: 1200px) {
      .philosophy-combined-split {
        grid-template-columns: 1fr;
        gap: 3.5rem;
      }
      .phil-right-col .circle-of-life-stage {
        max-width: 700px;
        height: 700px;
        --orbit-radius: 240px;
      }
      .circle-node-card {
        width: 200px;
        height: 200px;
      }
      .circle-node-content {
        max-width: 142px;
      }
    }

    @media (max-width: 680px) {
      .philosophy-combined-split {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
      }
      .phil-left-col {
        display: contents !important;
      }
      .phil-vision-text-block {
        display: contents !important;
      }
      .phil-right-col {
        order: 1 !important;
        width: 100% !important;
        box-sizing: border-box !important;
      }
      .phil-thesis-wrap {
        order: 2 !important;
        width: 100% !important;
        box-sizing: border-box !important;
        margin-bottom: 0 !important;
      }
      .phil-narrative-prose {
        order: 3 !important;
        width: 100% !important;
        box-sizing: border-box !important;
      }
      .phil-4cards-grid {
        order: 4 !important;
        width: 100% !important;
        box-sizing: border-box !important;
      }
      .phil-left-col,
      .phil-right-col {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
      }
      .phil-4cards-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: clamp(0.55rem, 2vw, 0.85rem) !important;
      }
      .phil-cammino-card {
        padding: clamp(0.85rem, 2.5vw, 1.15rem) clamp(0.65rem, 2vw, 0.85rem) !important;
        border-radius: 12px !important;
      }
      .phil-card-header-row {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        gap: 0.35rem !important;
        margin-bottom: 0.5rem !important;
      }
      .phil-card-header-row .phil-card-title {
        font-size: clamp(0.68rem, 2.3vw, 0.82rem) !important;
        line-height: 1.25 !important;
        letter-spacing: 0.03em !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        color: #231C18 !important;
        margin: 0 !important;
      }
      .phil-card-header-row .card-wellness-icon {
        width: clamp(18px, 4.5vw, 22px) !important;
        height: clamp(18px, 4.5vw, 22px) !important;
        flex-shrink: 0 !important;
        margin-bottom: 0 !important;
      }
      .phil-card-desc {
        font-size: clamp(0.58rem, 1.8vw, 0.68rem) !important;
        line-height: 1.42 !important;
        color: #6A5849 !important;
        margin: 0 !important;
      }
      .phil-right-col {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        overflow: visible !important;
        padding: 1.5rem 0 !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
      }
      .phil-right-col .circle-of-life-stage {
        position: relative !important;
        --stage-size: clamp(310px, 88vw, 355px) !important;
        width: var(--stage-size) !important;
        height: var(--stage-size) !important;
        max-width: 355px !important;
        max-height: 355px !important;
        margin: 0 auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        --orbit-radius: calc(var(--stage-size) * 0.342) !important;
        --hub-size: calc(var(--stage-size) * 0.29) !important;
        --card-size: calc(var(--stage-size) * 0.322) !important;
        box-sizing: border-box !important;
      }
      .phil-right-col .circle-orbit-svg {
        display: block !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        width: 100% !important;
        height: 100% !important;
        pointer-events: none !important;
        z-index: 0 !important;
      }
      .phil-right-col .circle-center-hub {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        width: var(--hub-size) !important;
        height: var(--hub-size) !important;
        margin: 0 !important;
        z-index: 3 !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
      }
      .circle-pulse-ring.ring-1 {
        width: calc(var(--hub-size) * 1.15) !important;
        height: calc(var(--hub-size) * 1.15) !important;
      }
      .circle-pulse-ring.ring-2 {
        width: calc(var(--hub-size) * 1.32) !important;
        height: calc(var(--hub-size) * 1.32) !important;
      }
      .circle-hub-medallion {
        width: var(--hub-size) !important;
        height: var(--hub-size) !important;
        border-radius: 50% !important;
        background: radial-gradient(circle at center, #281F17 0%, #15100C 100%) !important;
        border: 2px solid rgba(226, 183, 104, 0.75) !important;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4), 0 0 0 4px rgba(226, 183, 104, 0.16) !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        text-align: center !important;
      }
      .circle-hub-medallion .circle-hub-title,
      .saga-dell-anima-wrapper .circle-hub-title {
        font-family: var(--font-primary) !important;
        font-size: clamp(0.68rem, 2.2vw, 0.78rem) !important;
        font-weight: 800 !important;
        letter-spacing: 0.04em !important;
        line-height: 1.15 !important;
        text-transform: uppercase !important;
        color: #F3CA7E !important;
        -webkit-text-fill-color: #F3CA7E !important;
        text-shadow: 0 0 10px rgba(243, 202, 126, 0.7), 0 0 20px rgba(226, 183, 104, 0.45), 0 2px 6px rgba(0, 0, 0, 0.95) !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 !important;
        display: block !important;
        text-align: center !important;
        text-wrap: balance !important;
      }
      .phil-right-col .circle-nodes-orbit {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        transform-origin: center center !important;
        transform: rotate(var(--wheel-rot, 0deg)) !important;
        transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1) !important;
        pointer-events: none !important;
        z-index: 2 !important;
      }
      .phil-right-col .circle-node-card {
        position: absolute !important;
        width: var(--card-size) !important;
        height: var(--card-size) !important;
        border-radius: 50% !important;
        background: radial-gradient(circle at 40% 35%, #FBF7F0 0%, #F4ECE2 100%) !important;
        border: 1.5px solid rgba(168, 137, 78, 0.35) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        transform: translate(-50%, -50%) rotate(var(--counter-rot, 0deg)) !important;
        transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease !important;
        pointer-events: auto !important;
        box-sizing: border-box !important;
        padding: 0 !important;
        box-shadow: 0 6px 18px rgba(50, 36, 22, 0.09), inset 0 0 14px rgba(255, 255, 255, 0.85) !important;
        overflow: hidden !important;
      }
      .phil-right-col .circle-node-card:hover,
      .phil-right-col .circle-node-card:active {
        transform: translate(-50%, -50%) rotate(var(--counter-rot, 0deg)) scale(1.08) !important;
        box-shadow: 0 10px 24px rgba(156, 122, 60, 0.3), 0 0 0 2px rgba(226, 183, 104, 0.65) !important;
        z-index: 10 !important;
      }
      .circle-node-card[data-node="1"] { top: calc(50% - var(--orbit-radius)) !important; left: 50% !important; }
      .circle-node-card[data-node="2"] { top: calc(50% - (var(--orbit-radius) * 0.5)) !important; left: calc(50% + (var(--orbit-radius) * 0.866)) !important; }
      .circle-node-card[data-node="3"] { top: calc(50% + (var(--orbit-radius) * 0.5)) !important; left: calc(50% + (var(--orbit-radius) * 0.866)) !important; }
      .circle-node-card[data-node="4"] { top: calc(50% + var(--orbit-radius)) !important; left: 50% !important; }
      .circle-node-card[data-node="5"] { top: calc(50% + (var(--orbit-radius) * 0.5)) !important; left: calc(50% - (var(--orbit-radius) * 0.866)) !important; }
      .circle-node-card[data-node="6"] { top: calc(50% - (var(--orbit-radius) * 0.5)) !important; left: calc(50% - (var(--orbit-radius) * 0.866)) !important; }
      .phil-right-col .circle-node-content {
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        padding: 8px 6px !important;
        box-sizing: border-box !important;
        margin: 0 auto !important;
      }
      .phil-right-col .circle-node-icon {
        width: clamp(14px, 3.8vw, 17px) !important;
        height: clamp(14px, 3.8vw, 17px) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 auto 3px !important;
        color: #8C6D37 !important;
      }
      .phil-right-col .circle-node-icon svg {
        width: 100% !important;
        height: 100% !important;
        stroke: currentColor !important;
      }
      .phil-right-col .circle-node-title {
        display: block !important;
        width: 100% !important;
        max-width: 88% !important;
        margin: 0 auto 3px !important;
        text-align: center !important;
        font-family: var(--font-primary) !important;
        font-size: clamp(0.56rem, 1.8vw, 0.68rem) !important;
        line-height: 1.18 !important;
        letter-spacing: 0.035em !important;
        font-weight: 800 !important;
        text-transform: uppercase !important;
        color: #231C18 !important;
        text-wrap: balance !important;
      }
      .phil-right-col .circle-node-desc {
        display: block !important;
        width: 100% !important;
        max-width: 86% !important;
        margin: 0 auto !important;
        text-align: center !important;
        font-family: 'Montserrat', sans-serif !important;
        font-size: clamp(0.44rem, 1.4vw, 0.52rem) !important;
        line-height: 1.25 !important;
        color: #382B20 !important;
        font-weight: 600 !important;
        text-wrap: balance !important;
      }
    }

    /* SANCTUARY PORTAL PREVIEWS (Quick Gateway Cards) */
    .portali-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.8rem;
      margin-top: 3rem;
    }
    @media (max-width: 900px) {
      .portali-grid { grid-template-columns: 1fr; }
    }
    .portale-card {
      background: #F3ECE2;
      border: 1px solid var(--border-gold);
      border-radius: var(--radius-lg);
      padding: 2.5rem 2rem;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
      position: relative;
      overflow: hidden;
      box-shadow: 0 8px 24px rgba(50, 36, 22, 0.05);
    }
    .portale-card:hover {
      transform: translateY(-6px);
      border-color: #B89758;
      box-shadow: 0 18px 42px -12px rgba(140, 109, 55, 0.24);
    }
    .portale-tag {
      font-size: 0.7rem;
      font-weight: 700;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--gold-primary);
      margin-bottom: 0.85rem;
      display: inline-block;
    }
    .portale-title {
      font-size: 1.25rem;
      color: #231C18;
      margin-bottom: 1rem;
      font-weight: 800;
      line-height: 1.3;
    }
    .portale-desc {
      font-size: 0.9rem;
      color: var(--text-muted);
      line-height: 1.65;
      margin-bottom: 1.8rem;
      flex-grow: 1;
    }
    .portale-link-btn {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      color: #644B1F;
      font-weight: 700;
      font-size: 0.8rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      text-decoration: none;
      transition: var(--transition-smooth);
    }
    .portale-link-btn:hover {
      color: #9C7A3C;
      gap: 0.8rem;
    }

    /* CALENDLY POPUP MODAL (Clean, Sacred, Non-disruptive) */
    .calendly-modal-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      background: rgba(14, 12, 10, 0.82);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      z-index: 999999;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 1.5rem;
      box-sizing: border-box;
      opacity: 0;
      transition: opacity 0.3s ease;
    }
    .calendly-modal-overlay.is-active {
      display: flex;
      opacity: 1;
    }
    .calendly-modal-window {
      background: #EAE0D2;
      border: 1px solid var(--border-gold-strong);
      border-radius: var(--radius-lg);
      box-shadow: 0 25px 60px rgba(0, 0, 0, 0.55), 0 0 30px rgba(184, 151, 88, 0.25);
      width: 100%;
      max-width: 960px;
      height: 90vh;
      max-height: 760px;
      display: flex;
      flex-direction: column;
      overflow: hidden;
      position: relative;
    }
    .calendly-modal-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 1.1rem 1.6rem;
      background: #FFFFFF;
      border-bottom: 1px solid var(--border-gold);
    }
    .calendly-modal-title {
      font-size: 0.95rem;
      font-weight: 700;
      color: #644B1F;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      display: flex;
      align-items: center;
      gap: 0.6rem;
    }
    .calendly-close-btn {
      background: transparent;
      border: 1px solid var(--border-gold);
      color: var(--text-alabaster);
      width: 34px;
      height: 34px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: var(--transition-smooth);
    }
    .calendly-close-btn:hover {
      background: var(--gold-primary);
      color: #FFFFFF;
      border-color: var(--gold-primary);
    }
    .calendly-iframe-wrap {
      flex: 1;
      width: 100%;
      height: 100%;
      position: relative;
      background: #EAE0D2;
    }
    .calendly-iframe-wrap iframe {
      width: 100%;
      height: 100%;
      border: none;
    }

    /* SUBPAGE HERO (No hero photo background - clean, serene Tuscan sanctuary aesthetic) */
    .subpage-hero {
      min-height: auto !important;
      padding-top: calc(76px + clamp(2.5rem, 5.5vh, 4.5rem)) !important;
      padding-bottom: clamp(2.5rem, 4.5vh, 4.5rem) !important;
      background: linear-gradient(180deg, rgba(234, 224, 210, 0.96) 0%, rgba(234, 224, 210, 0.98) 100%) !important;
      position: relative;
      z-index: 5 !important;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      box-sizing: border-box !important;
      border-bottom: none;
    }
    .subpage-hero .hero-headline {
      color: #231C18 !important;
      text-shadow: none !important;
      margin-bottom: 1rem !important;
    }
    .subpage-hero .hero-headline span {
      color: #231C18 !important;
      text-shadow: none !important;
    }
    .subpage-hero .hero-subtext {
      color: #524339 !important;
      text-shadow: none !important;
      font-weight: 400 !important;
      margin: 0 auto !important;
      text-align: center !important;
    }
    .subpage-hero .hero-container {
      width: 100% !important;
      max-width: 1200px !important;
      margin: 0 auto !important;
      display: flex !important;
      justify-content: center !important;
      align-items: center !important;
      text-align: center !important;
    }
    .subpage-hero .hero-content {
      margin: 0 auto !important;
      text-align: center !important;
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      justify-content: center !important;
      width: 100% !important;
    }

    
    /* ==========================================================================
       HEADER DUAL SYSTEM: TRANSPARENT ONLY ON INDEX (PRE-STICKY)
       ========================================================================== */

    /* Default transition for header */
    header,
    .saga-dell-anima-wrapper header {
      transition: background 0.35s ease, backdrop-filter 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease !important;
    }

    /* 1) HOME PAGE ONLY: Transparent before sticky/floating */
    body.page-home header,
    body.page-home .saga-dell-anima-wrapper header {
      background: rgba(12, 10, 8, 0.30) !important;
      backdrop-filter: blur(16px) !important;
      -webkit-backdrop-filter: blur(16px) !important;
      border-bottom: 1px solid rgba(168, 137, 78, 0.35) !important;
      box-shadow: 0 4px 20px rgba(44, 30, 14, 0.08) !important;
    }

    body.page-home header .nav-link,
    body.page-home .saga-dell-anima-wrapper header .nav-link {
      color: rgba(255, 255, 255, 0.92) !important;
      text-shadow: 0 2px 10px rgba(0, 0, 0, 0.75) !important;
      font-weight: 700 !important;
      opacity: 1 !important;
    }

    body.page-home header .nav-link:hover,
    body.page-home .saga-dell-anima-wrapper header .nav-link:hover,
    body.page-home header .nav-link.active,
    body.page-home .saga-dell-anima-wrapper header .nav-link.active {
      color: #E2B768 !important;
      text-shadow: 0 2px 12px rgba(0, 0, 0, 0.85) !important;
    }

    body.page-home header .nav-link.active::after,
    body.page-home .saga-dell-anima-wrapper header .nav-link.active::after {
      background: #E2B768 !important;
      box-shadow: 0 0 8px rgba(226, 183, 104, 0.6) !important;
    }

    body.page-home header .lang-switcher,
    body.page-home .saga-dell-anima-wrapper header .lang-switcher {
      background: rgba(0, 0, 0, 0.35) !important;
      border: 1px solid rgba(255, 255, 255, 0.25) !important;
    }

    body.page-home header .lang-btn,
    body.page-home .saga-dell-anima-wrapper header .lang-btn {
      color: rgba(255, 255, 255, 0.9) !important;
      text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6) !important;
    }

    body.page-home header .lang-btn.active,
    body.page-home .saga-dell-anima-wrapper header .lang-btn.active {
      background: #8C6D37 !important;
      color: #FFFFFF !important;
    }

    body.page-home header .mobile-menu-btn,
    body.page-home .saga-dell-anima-wrapper header .mobile-menu-btn {
      color: #E2B768 !important;
    }

    /* 2) HOME PAGE: When scrolled / sticky (is-floating) */
    body.page-home header.is-floating,
    body.page-home .saga-dell-anima-wrapper header.is-floating {
      background: rgba(234, 224, 210, 0.98) !important;
      backdrop-filter: blur(18px) !important;
      -webkit-backdrop-filter: blur(18px) !important;
      border-bottom: 1px solid rgba(140, 109, 55, 0.35) !important;
      box-shadow: 0 6px 24px rgba(44, 30, 14, 0.09) !important;
    }

    body.page-home header.is-floating .nav-link,
    body.page-home .saga-dell-anima-wrapper header.is-floating .nav-link {
      color: #E2B768 !important;
      text-shadow: none !important;
    }

    body.page-home header.is-floating .nav-link:hover,
    body.page-home .saga-dell-anima-wrapper header.is-floating .nav-link:hover,
    body.page-home header.is-floating .nav-link.active,
    body.page-home .saga-dell-anima-wrapper header.is-floating .nav-link.active {
      color: #8C6D37 !important;
      text-shadow: none !important;
    }

    body.page-home header.is-floating .nav-link.active::after,
    body.page-home .saga-dell-anima-wrapper header.is-floating .nav-link.active::after {
      background: #8C6D37 !important;
      box-shadow: none !important;
    }

    body.page-home header.is-floating .lang-switcher,
    body.page-home .saga-dell-anima-wrapper header.is-floating .lang-switcher {
      background: rgba(140, 109, 55, 0.12) !important;
      border: 1px solid rgba(140, 109, 55, 0.35) !important;
    }

    body.page-home header.is-floating .lang-btn,
    body.page-home .saga-dell-anima-wrapper header.is-floating .lang-btn {
      color: #E2B768 !important;
      text-shadow: none !important;
    }

    body.page-home header.is-floating .lang-btn.active,
    body.page-home .saga-dell-anima-wrapper header.is-floating .lang-btn.active {
      background: #8C6D37 !important;
      color: #FFFFFF !important;
    }

    body.page-home header.is-floating .mobile-menu-btn,
    body.page-home .saga-dell-anima-wrapper header.is-floating .mobile-menu-btn {
      color: #8C6D37 !important;
    }

    /* 3) SUBPAGES (NOT HOME): Always frosted parchment with crisp high contrast text */
    body:not(.page-home) header,
    body:not(.page-home) .saga-dell-anima-wrapper header {
      background: rgba(12, 10, 8, 0.30) !important;
      backdrop-filter: blur(16px) !important;
      -webkit-backdrop-filter: blur(16px) !important;
      border-bottom: 1px solid rgba(168, 137, 78, 0.35) !important;
      box-shadow: 0 2px 18px rgba(44, 30, 14, 0.06) !important;
    }

    body:not(.page-home) header.is-floating,
    body:not(.page-home) .saga-dell-anima-wrapper header.is-floating {
      background: rgba(10, 8, 7, 0.96) !important;
      backdrop-filter: blur(18px) !important;
      -webkit-backdrop-filter: blur(18px) !important;
      border-bottom: 1px solid rgba(168, 137, 78, 0.35) !important;
      box-shadow: 0 4px 24px rgba(44, 30, 14, 0.09) !important;
    }

    body:not(.page-home) header .nav-link,
    body:not(.page-home) .saga-dell-anima-wrapper header .nav-link {
      color: #382B22 !important;
      font-weight: 700 !important;
      font-size: 0.76rem !important;
      letter-spacing: 0.16em !important;
      text-transform: uppercase !important;
      text-shadow: none !important;
      opacity: 1 !important;
    }

    body:not(.page-home) header .nav-link:hover,
    body:not(.page-home) .saga-dell-anima-wrapper header .nav-link:hover,
    body:not(.page-home) header .nav-link.active,
    body:not(.page-home) .saga-dell-anima-wrapper header .nav-link.active {
      color: #8C6D37 !important;
    }

    body:not(.page-home) header .nav-link.active::after,
    body:not(.page-home) .saga-dell-anima-wrapper header .nav-link.active::after {
      background: #8C6D37 !important;
      height: 2px !important;
    }

    body:not(.page-home) header .lang-switcher,
    body:not(.page-home) .saga-dell-anima-wrapper header .lang-switcher {
      background: rgba(140, 109, 55, 0.12) !important;
      border: 1px solid rgba(140, 109, 55, 0.35) !important;
    }

    body:not(.page-home) header .lang-btn,
    body:not(.page-home) .saga-dell-anima-wrapper header .lang-btn {
      color: #382B22 !important;
      font-weight: 700 !important;
      text-shadow: none !important;
    }

    body:not(.page-home) header .lang-btn.active,
    body:not(.page-home) .saga-dell-anima-wrapper header .lang-btn.active {
      background: #8C6D37 !important;
      color: #FFFFFF !important;
    }

    body:not(.page-home) header .mobile-menu-btn,
    body:not(.page-home) .saga-dell-anima-wrapper header .mobile-menu-btn {
      color: #8C6D37 !important;
    }


    /* ==========================================================================
       TESTIMONIALS SECTION & ENHANCED GRAPHICS STYLES
       ========================================================================== */
    .testimonials-section {
      padding: 6.5rem 0;
      background: #EAE0D2;
      position: relative;
      overflow: hidden;
    }

    .testimonials-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 2rem;
      max-width: 1100px;
      margin: 3rem auto 0;
    }

    @media (max-width: 840px) {
      .testimonials-grid {
        grid-template-columns: 1fr;
      }
    }

    .testimonial-card {
      background: #F3ECE2;
      border: 1px solid var(--border-gold);
      border-radius: var(--radius-md);
      padding: 2.4rem;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      position: relative;
      box-shadow: 0 4px 20px rgba(50, 36, 22, 0.04);
      transition: var(--transition-smooth);
    }

    .testimonial-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 8px 30px rgba(140, 109, 55, 0.12);
      border-color: var(--border-gold-strong);
    }

    .testimonial-stars {
      color: var(--gold-primary);
      letter-spacing: 0.25em;
      font-size: 1rem;
      margin-bottom: 1.1rem;
      display: flex;
      align-items: center;
      gap: 0.2rem;
    }

    .testimonial-quote {
      font-family: var(--font-secondary);
      font-size: 1.02rem;
      line-height: 1.75;
      color: #382B22;
      font-style: italic;
      margin-bottom: 1.8rem;
      position: relative;
    }

    .testimonial-quote::before {
      content: '“';
      font-family: var(--font-primary);
      font-size: 3rem;
      line-height: 0;
      position: absolute;
      top: -0.8rem;
      left: -1rem;
      color: rgba(140, 109, 55, 0.18);
      font-style: normal;
    }

    .testimonial-author-wrap {
      display: flex;
      align-items: center;
      justify-content: space-between;
      border-top: 1px solid rgba(140, 109, 55, 0.18);
      padding-top: 1.2rem;
      flex-wrap: wrap;
      gap: 0.8rem;
    }

    .testimonial-author-info {
      display: flex;
      align-items: center;
      gap: 0.9rem;
    }

    .testimonial-avatar {
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: linear-gradient(135deg, #EAE0D2 0%, #E8DFD3 100%);
      border: 1.5px solid var(--gold-primary);
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--font-primary);
      font-weight: 800;
      color: #644B1F;
      font-size: 0.92rem;
      letter-spacing: 0.05em;
      flex-shrink: 0;
    }

    .testimonial-meta strong {
      display: block;
      color: #231C18;
      font-size: 0.95rem;
      font-weight: 700;
    }

    .testimonial-meta span {
      display: block;
      font-size: 0.78rem;
      color: var(--gold-primary);
      font-weight: 600;
      letter-spacing: 0.04em;
    }

    .testimonial-tag {
      font-size: 0.7rem;
      padding: 0.3rem 0.75rem;
      border-radius: 9999px;
      background: rgba(140, 109, 55, 0.09);
      color: #644B1F;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.08em;
    }

    /* Photo gallery and card visual thumbnails */
    .portal-thumb-img {
      width: 100%;
      height: 180px;
      object-fit: cover;
      border-radius: var(--radius-sm);
      margin-bottom: 1.2rem;
      border: 1px solid rgba(140, 109, 55, 0.2);
      transition: transform 0.4s ease;
    }
    .portale-card:hover .portal-thumb-img {
      transform: scale(1.02);
    }


    /* ==========================================================================
       LANGUAGE DROPDOWN TOGGLE (EXACT SCREENSHOT REPLICA - NOTRANSLATE SAFE)
       ========================================================================== */
    .lang-dropdown-wrapper {
      position: relative;
      display: inline-flex;
      align-items: center;
      user-select: none;
      z-index: 1200;
    }

    .lang-pill-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.35rem;
      background: #FFFFFF !important;
      border: 1px solid #CCCCCC !important;
      border-radius: 9999px !important;
      padding: 3px 9px 3px 8px !important;
      cursor: pointer;
      color: #333333 !important;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
      font-size: 0.8rem !important;
      font-weight: 600 !important;
      letter-spacing: 0.03em !important;
      line-height: 1 !important;
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
      transition: border-color 0.15s ease;
    }

    .lang-pill-btn:hover {
      border-color: #888888 !important;
    }

    .lang-chevron {
      width: 10px;
      height: 6px;
      display: inline-block;
      flex-shrink: 0;
      transition: transform 0.2s ease;
      transform-origin: center center;
    }

    .lang-dropdown-wrapper.open .lang-chevron {
      transform: rotate(180deg);
    }

    .lang-current-code {
      display: inline-block;
      color: #333333 !important;
      font-weight: 600 !important;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
    }

    /* Clean rectangular dropdown menu matching screenshot */
    .lang-menu {
      display: none;
      position: absolute;
      top: calc(100% + 3px);
      left: 50%;
      transform: translateX(-50%);
      width: 48px;
      background: #FFFFFF;
      border: 1px solid #777777;
      border-radius: 2px;
      box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
      padding: 0;
      margin: 0;
      list-style: none;
      z-index: 1300;
    }

    .lang-dropdown-wrapper.open .lang-menu {
      display: block;
    }

    .lang-opt {
      display: block;
      width: 100%;
      box-sizing: border-box;
      border: none;
      background: #FFFFFF;
      color: #111111;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
      font-size: 0.84rem;
      font-weight: 500;
      line-height: 1;
      padding: 4px 0;
      text-align: center;
      cursor: pointer;
      letter-spacing: 0.04em;
      transition: background 0.1s ease, color 0.1s ease;
    }

    .lang-opt:hover {
      background: #F0F4FA;
      color: #000000;
    }

    /* Active language: vivid blue fill with white text */
    .lang-opt.active {
      background: #1B6CEB !important;
      color: #FFFFFF !important;
      font-weight: 700 !important;
    }

    /* Header transparency & scrolling states */
    body.page-home header .lang-pill-btn,
    body.page-home header.is-floating .lang-pill-btn,
    body:not(.page-home) header .lang-pill-btn {
      background: #FFFFFF !important;
      border: 1px solid #CCCCCC !important;
      color: #333333 !important;
    }


    
    /* ==========================================================================
       SYMMETRICAL 3-COLUMN HEADER BAR
       ========================================================================== */
    .nav-fullwidth-wrapper {
      width: 100%;
      padding: 0 clamp(1.2rem, 3.5vw, 3.5rem);
      display: flex;
      align-items: center;
      justify-content: space-between;
      position: relative;
    }

    .header-left {
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: flex-start;
    }

    .header-center {
      flex: 0 0 auto;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
    }

    .header-right {
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 0.85rem;
    }

    .sidebar-toggle-btn {
      display: inline-flex;
      align-items: center;
      gap: 0.65rem;
      background: transparent;
      border: none;
      cursor: pointer;
      padding: 0.5rem 0.2rem;
      transition: var(--transition-smooth);
    }

    .sidebar-burger-icon {
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 5px;
      width: 22px;
      height: 16px;
    }

    .burger-line {
      display: block;
      height: 1.8px;
      width: 100%;
      background: currentColor;
      border-radius: 2px;
      transition: all 0.25s ease;
    }

    .burger-line.line-short {
      width: 70%;
    }

    .sidebar-toggle-btn:hover .burger-line.line-short {
      width: 100%;
    }

    .sidebar-toggle-label {
      font-family: var(--font-primary);
      font-size: 0.78rem;
      font-weight: 700;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: currentColor;
    }

    body.page-home header .sidebar-toggle-btn {
      color: #FFFFFF !important;
      text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45) !important;
    }
    body.page-home header .sidebar-toggle-btn:hover {
      color: #8C6D37 !important;
    }
    body.page-home header.is-floating .sidebar-toggle-btn,
    body:not(.page-home) header .sidebar-toggle-btn {
      color: #382B22 !important;
      text-shadow: none !important;
    }
    body.page-home header.is-floating .sidebar-toggle-btn:hover,
    body:not(.page-home) header .sidebar-toggle-btn:hover {
      color: #8C6D37 !important;
    }

    @media (max-width: 768px) {
      .sidebar-toggle-label {
        display: none;
      }
      .sidebar-toggle-btn {
        padding: 0.4rem;
      }
      .brand-logo-img {
        height: clamp(42px, 10.5vw, 51px);
        max-width: clamp(158px, 42vw, 195px);
      }
      .header-right {
        gap: 0.5rem;
      }
      .nav-cta-btn span {
        display: none;
      }
      .nav-cta-btn {
        padding: 0.45rem 0.65rem;
      }
    }

/* ==========================================================================
       LIGHT TUSCAN PARCHMENT SIDEBAR (CALMING & LUXURIOUS)
       ========================================================================== */
    .sidebar-backdrop {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      background: rgba(35, 27, 20, 0.45);
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.35s ease, visibility 0.35s ease;
      z-index: 100001 !important;
    }

    .sidebar-backdrop.is-open {
      opacity: 1;
      visibility: visible;
    }

    .sidebar-drawer {
      position: fixed;
      top: 0;
      left: 0;
      width: clamp(310px, 86vw, 390px);
      height: 100vh;
      background: #EAE0D2 !important;
      background-image: radial-gradient(circle at 10% 20%, rgba(226, 183, 104, 0.12) 0%, transparent 50%),
                        linear-gradient(180deg, #FFFFFF 0%, #EAE0D2 100%) !important;
      border-right: 1px solid rgba(140, 109, 55, 0.25) !important;
      box-shadow: 16px 0 45px rgba(56, 43, 34, 0.18) !important;
      transform: translateX(-100%);
      transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
      z-index: 100002 !important;
      display: flex;
      flex-direction: column;
      overflow-y: auto;
      overscroll-behavior: contain;
    }

    .sidebar-drawer.is-open {
      transform: translateX(0);
    }

    .sidebar-inner {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      min-height: 100%;
      padding: clamp(1.8rem, 4vw, 2.5rem);
      box-sizing: border-box;
    }

    .sidebar-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding-bottom: 1.6rem;
      border-bottom: 1px solid rgba(140, 109, 55, 0.2);
    }

    .sidebar-brand {
      display: flex;
      align-items: center;
      text-decoration: none;
    }

    .sidebar-logo-img {
      height: 42px;
      width: auto;
      max-width: 170px;
      object-fit: contain;
      display: block;
    }

    .sidebar-close-btn {
      background: #FFFFFF;
      border: 1px solid rgba(140, 109, 55, 0.3);
      width: 36px;
      height: 36px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #382B22;
      cursor: pointer;
      box-shadow: 0 2px 6px rgba(56, 43, 34, 0.08);
      transition: all 0.2s ease;
    }

    .sidebar-close-btn:hover {
      background: #EAE0D2;
      border-color: #8C6D37;
      color: #8C6D37;
      transform: rotate(90deg);
    }

    /* Clean Unnumbered Navigation */
    .sidebar-nav {
      margin: 2.5rem 0;
      flex: 1;
    }

    .sidebar-nav-list {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: 1.4rem;
    }

    .sidebar-nav-item {
      position: relative;
    }

    .sidebar-nav-link {
      display: inline-flex;
      align-items: center;
      text-decoration: none;
      padding: 0.4rem 0;
      transition: all 0.2s ease;
    }

    .sidebar-nav-text {
      font-family: 'Cinzel Decorative', Georgia, serif;
      font-size: 1.28rem;
      letter-spacing: 0.06em;
      color: #382B22;
      transition: color 0.2s ease, transform 0.2s ease;
    }

    .sidebar-nav-link:hover .sidebar-nav-text {
      color: #8C6D37;
      transform: translateX(6px);
    }

    .sidebar-nav-link.active .sidebar-nav-text {
      color: #8C6D37;
      font-weight: 700;
      text-decoration: underline;
      text-decoration-color: rgba(140, 109, 55, 0.45);
      text-underline-offset: 6px;
    }

    /* Sidebar Footer */
    .sidebar-bottom {
      padding-top: 1.8rem;
      border-top: 1px solid rgba(140, 109, 55, 0.2);
      display: flex;
      flex-direction: column;
      gap: 1.2rem;
    }

    .sidebar-cta-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.55rem;
      width: 100%;
      padding: 0.85rem 1.2rem;
      border-radius: 9999px;
      background: linear-gradient(135deg, #9C7A3C 0%, #755420 100%);
      color: #FFFFFF !important;
      text-decoration: none;
      font-family: var(--font-primary);
      font-size: 0.85rem;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      box-shadow: 0 4px 14px rgba(140, 109, 55, 0.3);
      transition: all 0.2s ease;
    }

    .sidebar-cta-btn:hover {
      background: linear-gradient(135deg, #A8894E 0%, #8A6428 100%);
      transform: translateY(-2px);
      box-shadow: 0 6px 18px rgba(140, 109, 55, 0.45);
    }

    .sidebar-meta {
      display: flex;
      flex-direction: column;
      gap: 0.15rem;
    }

    .sidebar-meta-loc {
      font-family: var(--font-primary);
      font-size: 0.8rem;
      color: #554433;
      margin: 0;
    }

    .sidebar-meta-sub {
      font-family: var(--font-primary);
      font-size: 0.72rem;
      color: #8C6D37;
      letter-spacing: 0.08em;
      margin: 0;
      text-transform: uppercase;
    }

    .sidebar-socials {
      display: flex;
      align-items: center;
      gap: 0.75rem;
    }

    .sidebar-social-link {
      width: 34px;
      height: 34px;
      border-radius: 50%;
      border: 1px solid rgba(140, 109, 55, 0.3);
      background: #FFFFFF;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #6E5A44;
      text-decoration: none;
      transition: all 0.2s ease;
    }

    .sidebar-social-link:hover {
      border-color: #8C6D37;
      color: #8C6D37;
      background: #EAE0D2;
    }


    


    /* ==========================================================================
       FROSTED OBSIDIAN HEADER (ALL PAGES & STATES)
       ========================================================================== */
    header,
    body.page-home header,
    body:not(.page-home) header,
    .saga-dell-anima-wrapper header {
      background: rgba(12, 10, 8, 0.30) !important;
      backdrop-filter: blur(16px) !important;
      -webkit-backdrop-filter: blur(16px) !important;
      border-bottom: 1px solid rgba(168, 137, 78, 0.32) !important;
      box-shadow: 0 4px 25px rgba(0, 0, 0, 0.45) !important;
      transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;
    }

    header.is-floating,
    body.page-home header.is-floating,
    body:not(.page-home) header.is-floating,
    .saga-dell-anima-wrapper header.is-floating {
      background: rgba(234, 224, 210, 0.98) !important;
      backdrop-filter: blur(18px) !important;
      -webkit-backdrop-filter: blur(18px) !important;
      border-bottom: 1px solid rgba(140, 109, 55, 0.35) !important;
      box-shadow: 0 6px 24px rgba(44, 30, 14, 0.09) !important;
    }

    /* Sidebar Toggle Button in Frosted Obsidian Header */
    .sidebar-toggle-btn,
    body header .sidebar-toggle-btn,
    body.page-home header .sidebar-toggle-btn,
    body:not(.page-home) header .sidebar-toggle-btn,
    body.page-home header:not(.is-floating) .sidebar-toggle-btn {
      color: #FFFFFF !important;
      text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45) !important;
    }

    .sidebar-toggle-btn:hover,
    body header .sidebar-toggle-btn:hover,
    body.page-home header .sidebar-toggle-btn:hover,
    body:not(.page-home) header .sidebar-toggle-btn:hover,
    body.page-home header.is-floating .sidebar-toggle-btn:hover,
    body:not(.page-home) header.is-floating .sidebar-toggle-btn:hover {
      color: #E2B768 !important;
      text-shadow: 0 0 8px rgba(226, 183, 104, 0.6) !important;
    }

    .sidebar-toggle-label {
      color: currentColor !important;
    }

    .burger-line {
      background: currentColor !important;
    }


    /* ==========================================================================
       HIGH CONTRAST COLLECTIVE RIPPLE BANNER TYPOGRAPHY
       ========================================================================== */
    .saga-dell-anima-wrapper .collective-ripple-banner {
      background: linear-gradient(135deg, #1F1914 0%, #120E0B 100%) !important;
      border: 1px solid rgba(226, 183, 104, 0.45) !important;
      box-shadow: 0 16px 45px rgba(0, 0, 0, 0.45), 0 0 30px rgba(226, 183, 104, 0.08) !important;
      position: relative !important;
      overflow: hidden !important;
    }

    .saga-dell-anima-wrapper .collective-ripple-banner p,
    .saga-dell-anima-wrapper .collective-ripple-banner .ripple-text-lead {
      color: #F7F3EE !important;
      font-size: 1.15rem !important;
      line-height: 1.8 !important;
      font-weight: 400 !important;
      max-width: 820px !important;
      margin: 0 auto 2.2rem !important;
      text-shadow: 0 2px 8px rgba(0, 0, 0, 0.9) !important;
      opacity: 1 !important;
    }

    .saga-dell-anima-wrapper .collective-ripple-banner h3,
    .saga-dell-anima-wrapper .collective-ripple-banner .ripple-climax {
      color: #F5CE7A !important;
      font-family: var(--font-primary) !important;
      font-size: clamp(1.4rem, 2.8vw, 2.2rem) !important;
      font-weight: 800 !important;
      letter-spacing: 0.12em !important;
      text-transform: uppercase !important;
      margin-bottom: 0.85rem !important;
      text-shadow: 0 2px 14px rgba(0, 0, 0, 0.95), 0 0 24px rgba(226, 183, 104, 0.35) !important;
    }

    .saga-dell-anima-wrapper .collective-ripple-banner .ripple-cadence {
      color: #E2B768 !important;
      font-size: 1.05rem !important;
      letter-spacing: 0.22em !important;
      text-transform: uppercase !important;
      font-weight: 700 !important;
      text-shadow: 0 1px 6px rgba(0, 0, 0, 0.8) !important;
      margin-top: 0.5rem !important;
    }

    .saga-dell-anima-wrapper .collective-ripple-banner .ripple-divider {
      color: #E2B768 !important;
      margin-bottom: 2rem !important;
    }

    .saga-dell-anima-wrapper .collective-ripple-banner .ripple-divider span {
      background: rgba(226, 183, 104, 0.6) !important;
    }


    /* ==========================================================================
       SUBPAGE TUSCAN PARCHMENT FROSTED HEADER (OVERRIDE OBSIDIAN ON SUBPAGES)
       ========================================================================== */
    body.page-subpage header,
    body:not(.page-home) header,
    body.page-subpage .saga-dell-anima-wrapper header,
    body:not(.page-home) .saga-dell-anima-wrapper header {
      background: rgba(234, 224, 210, 0.95) !important;
      backdrop-filter: blur(16px) !important;
      -webkit-backdrop-filter: blur(16px) !important;
      border-bottom: 1px solid rgba(140, 109, 55, 0.25) !important;
      box-shadow: 0 4px 20px rgba(44, 30, 14, 0.06) !important;
    }

    body.page-subpage header.is-floating,
    body:not(.page-home) header.is-floating,
    body.page-subpage .saga-dell-anima-wrapper header.is-floating,
    body:not(.page-home) .saga-dell-anima-wrapper header.is-floating {
      background: rgba(234, 224, 210, 0.98) !important;
      backdrop-filter: blur(18px) !important;
      -webkit-backdrop-filter: blur(18px) !important;
      border-bottom: 1px solid rgba(140, 109, 55, 0.35) !important;
      box-shadow: 0 6px 24px rgba(44, 30, 14, 0.09) !important;
    }

    /* Subpage Menu Button in Deep Tuscan Charcoal */
    body.page-subpage header .sidebar-toggle-btn,
    body:not(.page-home) header .sidebar-toggle-btn,
    body.page-subpage .saga-dell-anima-wrapper header .sidebar-toggle-btn,
    body:not(.page-home) .saga-dell-anima-wrapper header .sidebar-toggle-btn,
    body.page-subpage header.is-floating .sidebar-toggle-btn,
    body:not(.page-home) header.is-floating .sidebar-toggle-btn {
      color: #382B22 !important;
      text-shadow: none !important;
    }

    body.page-subpage header .sidebar-toggle-btn:hover,
    body:not(.page-home) header .sidebar-toggle-btn:hover,
    body.page-subpage .saga-dell-anima-wrapper header .sidebar-toggle-btn:hover,
    body:not(.page-home) .saga-dell-anima-wrapper header .sidebar-toggle-btn:hover,
    body.page-subpage header.is-floating .sidebar-toggle-btn:hover,
    body:not(.page-home) header.is-floating .sidebar-toggle-btn:hover {
      color: #8C6D37 !important;
    }


    /* Header Logo Contrast: High contrast Tuscan bronze on parchment for Index floating & all subpages */
    body.page-home header.is-floating .brand-logo-img,
    body.page-subpage header .brand-logo-img,
    body:not(.page-home) header .brand-logo-img {
      filter: drop-shadow(0 1px 2px rgba(44, 30, 14, 0.15)) !important;
    }


    /* ==========================================================================
       DEFINITIVE FLOATING STICKY HEADER MENU BUTTON COLOR (DEEP TUSCAN CHARCOAL)
       ========================================================================== */
    header.is-floating .sidebar-toggle-btn,
    header.is-floating .sidebar-toggle-label,
    body.page-home header.is-floating .sidebar-toggle-btn,
    body.page-home .saga-dell-anima-wrapper header.is-floating .sidebar-toggle-btn,
    body.page-subpage header.is-floating .sidebar-toggle-btn,
    body.page-subpage .saga-dell-anima-wrapper header.is-floating .sidebar-toggle-btn,
    body:not(.page-home) header.is-floating .sidebar-toggle-btn,
    body:not(.page-home) .saga-dell-anima-wrapper header.is-floating .sidebar-toggle-btn {
      color: #382B22 !important;
      text-shadow: none !important;
    }

    header.is-floating .sidebar-toggle-btn .burger-line,
    body.page-home header.is-floating .sidebar-toggle-btn .burger-line {
      background-color: #382B22 !important;
    }

    header.is-floating .sidebar-toggle-btn:hover,
    body.page-home header.is-floating .sidebar-toggle-btn:hover,
    body.page-home .saga-dell-anima-wrapper header.is-floating .sidebar-toggle-btn:hover,
    body.page-subpage header.is-floating .sidebar-toggle-btn:hover,
    body.page-subpage .saga-dell-anima-wrapper header.is-floating .sidebar-toggle-btn:hover,
    body:not(.page-home) header.is-floating .sidebar-toggle-btn:hover,
    body:not(.page-home) .saga-dell-anima-wrapper header.is-floating .sidebar-toggle-btn:hover {
      color: #8C6D37 !important;
      text-shadow: none !important;
    }

    header.is-floating .sidebar-toggle-btn:hover .burger-line,
    body.page-home header.is-floating .sidebar-toggle-btn:hover .burger-line {
      background-color: #8C6D37 !important;
    }

    /* ==========================================================================
       REVIEWS BENTO GRID & PRECISE OVERLAY TYPOGRAPHY
       ========================================================================== */
    #testimonianze .container {
      width: 95% !important;
      max-width: min(102.5rem, 94vw) !important;
      margin: 0 auto !important;
      padding: 0 clamp(1rem, 2vw, 1.5rem) !important;
    }

    .reviews-bento-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: clamp(1.4rem, 2.2vw, 2.5rem);
      width: 100%;
      max-width: 100%;
      margin: clamp(2rem, 3.5vh, 3.5rem) auto 0;
    }

    .bento-overlay-left {
      left: 2.8% !important;
      right: 51.8% !important;
      top: 0 !important;
      bottom: 0 !important;
      justify-content: center !important;
      gap: 1.15rem !important;
    }

    .bento-overlay-left .bento-body {
      gap: 0.95rem !important;
    }

    .bento-overlay-left .bento-body p {
      font-size: clamp(0.72rem, 0.86vw, 0.8rem) !important;
      line-height: 1.5 !important;
    }

    .bento-overlay-left .bento-signoff {
      margin-top: 0.8rem !important;
    }

    @media (max-width: 1100px) {
      .reviews-bento-grid {
        grid-template-columns: 1fr;
        max-width: 820px;
        margin: 3.5rem auto 0;
      }
    }

    .bento-review-card {
      position: relative;
      width: 100%;
      max-width: 960px;
      border-radius: 24px;
      overflow: hidden;
      box-shadow: 0 20px 60px rgba(0, 0, 0, 0.85), 0 0 0 1px rgba(226, 183, 104, 0.4);
      background: #140E0A;
      transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, border-color 0.4s ease;
    }

    .bento-review-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 28px 80px rgba(0, 0, 0, 0.9), 0 0 0 1px rgba(245, 208, 138, 0.7);
    }

    .bento-review-inner {
      position: relative;
      width: 100%;
      aspect-ratio: 1 / 1;
      max-height: 960px;
    }

    .bento-bg-img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      pointer-events: none;
      user-select: none;
    }

    /* Target with high specificity to override .saga-dell-anima-wrapper styles */
    .saga-dell-anima-wrapper .bento-review-card .bento-text-overlay,
    .bento-review-card .bento-text-overlay {
      position: absolute;
      top: 9.5%;
      bottom: 19%;
      left: 54%;
      right: 9%;
      width: auto;
      height: auto;
      padding: 0;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      gap: 0.75rem;
      z-index: 2;
      overflow: hidden;
    }

    .saga-dell-anima-wrapper .bento-review-card .bento-title,
    .bento-review-card .bento-title {
      font-family: 'Cormorant Garamond', Georgia, serif !important;
      font-size: clamp(1.08rem, 1.35vw, 1.35rem) !important;
      font-weight: 600 !important;
      font-style: italic !important;
      text-transform: none !important;
      letter-spacing: 0.015em !important;
      color: #F5D08A !important;
      line-height: 1.25 !important;
      margin: 0 !important;
      text-shadow: 0 2px 10px rgba(0, 0, 0, 0.95), 0 0 20px rgba(245, 208, 138, 0.35) !important;
    }

    .saga-dell-anima-wrapper .bento-review-card .bento-body,
    .bento-review-card .bento-body {
      display: flex;
      flex-direction: column;
      gap: 0.44rem;
    }

    .saga-dell-anima-wrapper .bento-review-card .bento-body p,
    .bento-review-card .bento-body p {
      font-family: 'Montserrat', sans-serif !important;
      font-size: clamp(0.58rem, 0.69vw, 0.69rem) !important;
      font-weight: 300 !important;
      font-style: normal !important;
      text-transform: none !important;
      letter-spacing: 0.012em !important;
      line-height: 1.35 !important;
      color: #FAF5ED !important;
      margin: 0 !important;
      text-shadow: 0 1px 4px rgba(0, 0, 0, 0.95) !important;
    }

    .saga-dell-anima-wrapper .bento-review-card .bento-signoff,
    .bento-review-card .bento-signoff {
      margin-top: auto;
      font-family: 'Cormorant Garamond', Georgia, serif !important;
      font-size: clamp(0.74rem, 0.86vw, 0.88rem) !important;
      font-style: italic !important;
      font-weight: 600 !important;
      text-transform: none !important;
      letter-spacing: 0.01em !important;
      color: #F1CA7E !important;
      line-height: 1.34 !important;
      text-shadow: 0 2px 8px rgba(0, 0, 0, 0.95) !important;
    }

    /* Mobile Responsive Adaptation: Bento Testimonials Overlay & Controls */
    @media (max-width: 768px) {
      .reviews-carousel-wrapper {
        position: relative !important;
        padding: 0 0 4.2rem 0 !important;
      }

      /* Navigation Buttons Positioned BELOW the Image */
      .carousel-btn {
        display: flex !important;
        width: 44px !important;
        height: 44px !important;
        position: absolute !important;
        top: auto !important;
        bottom: 0.25rem !important;
        transform: none !important;
        z-index: 25 !important;
        background: rgba(20, 14, 10, 0.95) !important;
        border: 1px solid rgba(226, 183, 104, 0.65) !important;
        color: #E2B768 !important;
        box-shadow: 0 4px 18px rgba(0, 0, 0, 0.85) !important;
      }

      .carousel-btn.prev {
        left: calc(50% - 110px) !important;
        right: auto !important;
      }

      .carousel-btn.next {
        left: calc(50% + 66px) !important;
        right: auto !important;
      }

      .carousel-dots-nav {
        position: absolute !important;
        bottom: 15px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        margin-top: 0 !important;
      }

      .reviews-carousel-track .bento-review-card {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        border-radius: 20px !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
      }

      .bento-review-inner {
        position: relative !important;
        width: 100% !important;
        aspect-ratio: 1 / 1.55 !important;
        display: block !important;
        max-height: none !important;
      }

      .bento-bg-img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        object-fit: cover !important;
        display: block !important;
        pointer-events: none !important;
        user-select: none !important;
      }

      /* CARD 1: Overlay Text on RIGHT Half - Inside the plain dark parchment area */
      .saga-dell-anima-wrapper .bento-review-card .bento-text-overlay,
      .bento-review-card .bento-text-overlay {
        position: absolute !important;
        top: 3% !important;
        bottom: 3% !important;
        left: 55.5% !important;
        right: 2.5% !important;
        width: auto !important;
        height: auto !important;
        padding: 0 !important;
        background: transparent !important;
        border-top: none !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        gap: 0.16rem !important;
        z-index: 2 !important;
        overflow: hidden !important;
      }

      /* CARDS 2, 3, 4: Overlay Text on LEFT Half - Inside the plain dark area */
      .saga-dell-anima-wrapper .bento-review-card .bento-text-overlay.bento-overlay-left,
      .bento-review-card .bento-text-overlay.bento-overlay-left,
      .saga-dell-anima-wrapper .bento-card-carla .bento-overlay-carla,
      .bento-card-carla .bento-overlay-carla {
        left: 4.5% !important;
        right: 53.5% !important;
        top: 3% !important;
        bottom: 3% !important;
      }

      .saga-dell-anima-wrapper .bento-card-carla .bento-overlay-left,
      .bento-card-carla .bento-overlay-left {
        left: 3.5% !important;
        right: 53% !important;
      }

      .saga-dell-anima-wrapper .bento-card-federica .bento-overlay-left,
      .bento-card-federica .bento-overlay-left {
        left: 2.5% !important;
        right: 53% !important;
      }

      /* Mobile typography */
      .saga-dell-anima-wrapper .bento-review-card .bento-title,
      .bento-review-card .bento-title {
        font-size: clamp(0.72rem, 3vw, 0.95rem) !important;
        line-height: 1.15 !important;
        text-shadow: 0 2px 10px rgba(0, 0, 0, 0.95), 0 0 20px rgba(245, 208, 138, 0.35) !important;
      }

      .saga-dell-anima-wrapper .bento-review-card .bento-body,
      .bento-review-card .bento-body {
        display: flex !important;
        flex-direction: column !important;
        gap: 0.14rem !important;
        flex: 0 1 auto !important;
        justify-content: flex-start !important;
      }

      .saga-dell-anima-wrapper .bento-review-card .bento-body p,
      .bento-review-card .bento-body p {
        font-size: clamp(0.42rem, 1.72vw, 0.58rem) !important;
        line-height: 1.22 !important;
        text-shadow: 0 1px 4px rgba(0, 0, 0, 0.95) !important;
      }

      .saga-dell-anima-wrapper .bento-review-card .bento-signoff,
      .bento-review-card .bento-signoff {
        font-size: clamp(0.46rem, 1.8vw, 0.64rem) !important;
        line-height: 1.18 !important;
        margin-top: auto !important;
        text-shadow: 0 2px 8px rgba(0, 0, 0, 0.95) !important;
      }
    }

  
    /* ==========================================================================
       INDEX PAGE HEADER: FULLY TRANSPARENT IN NON-FLOATING STATE
       ========================================================================== */
    body.page-home header:not(.is-floating),
    body.page-home .saga-dell-anima-wrapper header:not(.is-floating),
    body.page-home header:not(.is-floating) * {
      /* Keep element background clean & transparent */
    }
    body.page-home header:not(.is-floating),
    body.page-home .saga-dell-anima-wrapper header:not(.is-floating) {
      background: transparent !important;
      background-color: transparent !important;
      backdrop-filter: none !important;
      -webkit-backdrop-filter: none !important;
      border-bottom: 1px solid transparent !important;
      box-shadow: none !important;
    }
    body.page-home header:not(.is-floating) .sidebar-toggle-btn {
      color: #FFFFFF !important;
      text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45) !important;
    }
    body.page-home header:not(.is-floating) .sidebar-toggle-btn .burger-line {
      background-color: #FFFFFF !important;
    }
    body.page-home header:not(.is-floating) .sidebar-toggle-btn:hover {
      color: #E2B768 !important;
      text-shadow: 0 0 8px rgba(226, 183, 104, 0.6) !important;
    }
    body.page-home header:not(.is-floating) .sidebar-toggle-btn:hover .burger-line {
      background-color: #E2B768 !important;
    }


    /* ==========================================================================
       SPIRITUAL INQUIRY DIALOG MODAL (Brand Typography & Luxury Sacred Design)
       ========================================================================== */
    .inquiry-modal-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      background: rgba(14, 12, 10, 0.84);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      z-index: 999999;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 1.5rem;
      box-sizing: border-box;
      opacity: 0;
      transition: opacity 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .inquiry-modal-overlay.is-active {
      display: flex;
      opacity: 1;
    }

    .inquiry-modal-window,
    .inquiry-modal-window * {
      font-family: var(--font-primary) !important;
      -webkit-font-smoothing: antialiased;
      box-sizing: border-box;
    }

    .inquiry-modal-window {
      background: #FAF6F0;
      border: 1px solid rgba(168, 137, 78, 0.4);
      border-radius: 20px;
      box-shadow: 0 30px 70px rgba(0, 0, 0, 0.6), 0 0 35px rgba(184, 151, 88, 0.2);
      width: 100%;
      max-width: 760px;
      max-height: 90vh;
      display: flex;
      flex-direction: column;
      overflow: hidden;
      position: relative;
      animation: modalWindowSlideUp 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    }

    @keyframes modalWindowSlideUp {
      from { transform: translateY(20px) scale(0.98); opacity: 0; }
      to { transform: translateY(0) scale(1); opacity: 1; }
    }

    /* Modal Top Header */
    .inquiry-modal-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 1.25rem 1.8rem;
      background: #FFFFFF;
      border-bottom: 1px solid rgba(168, 137, 78, 0.24);
      position: relative;
    }

    .inquiry-modal-header::after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: linear-gradient(90deg, #9C7A3C 0%, #D4AF37 50%, #9C7A3C 100%);
    }

    .inquiry-modal-title {
      font-size: 0.92rem;
      font-weight: 700;
      color: #644B1F;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      display: flex;
      align-items: center;
      gap: 0.65rem;
    }

    .inquiry-modal-title svg {
      color: #9C7A3C;
      width: 18px;
      height: 18px;
      flex-shrink: 0;
    }

    .inquiry-close-btn {
      background: transparent;
      border: 1px solid var(--border-gold);
      color: var(--text-alabaster);
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 34px;
      height: 34px;
      border-radius: 50%;
      transition: var(--transition-smooth);
    }

    .inquiry-close-btn:hover {
      background: var(--gold-primary);
      color: #FFFFFF;
      border-color: var(--gold-primary);
    }

    /* Modal Steps Bar */
    .inquiry-steps-bar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0.9rem 1.8rem;
      background: #F4ECE1;
      border-bottom: 1px solid rgba(168, 137, 78, 0.2);
    }

    .inquiry-step-indicator {
      font-size: 0.76rem;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: #7A5B2B;
    }

    .inquiry-dots {
      display: flex;
      align-items: center;
      gap: 8px;
    }

    .inquiry-dot {
      width: 9px;
      height: 9px;
      border-radius: 9999px;
      background: rgba(168, 137, 78, 0.3);
      border: 1.5px solid rgba(168, 137, 78, 0.45);
      transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .inquiry-dot.is-active {
      width: 24px;
      background: linear-gradient(90deg, #9C7A3C 0%, #D4AF37 100%);
      border-color: #9C7A3C;
      box-shadow: 0 0 10px rgba(184, 151, 88, 0.4);
    }

    .inquiry-dot.is-completed {
      background: #9C7A3C;
      border-color: #9C7A3C;
      width: 9px;
    }

    /* Modal Scrollable Body */
    .inquiry-modal-body {
      padding: 1.6rem 1.8rem 1.8rem;
      overflow-y: auto;
      max-height: calc(90vh - 150px);
      box-sizing: border-box;
    }

    .inquiry-step-pane {
      display: none;
    }

    .inquiry-step-pane.is-active,
    .inquiry-step-pane.active {
      display: block;
      animation: fadeInStepPane 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    }

    @keyframes fadeInStepPane {
      from { opacity: 0; transform: translateY(12px); }
      to { opacity: 1; transform: translateY(0); }
    }

    .inquiry-step-header {
      margin-bottom: 1.4rem;
    }

    .inquiry-step-kicker {
      display: block;
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: #9C7A3C;
      margin-bottom: 0.35rem;
    }

    .inquiry-step-title {
      font-size: 1.35rem;
      font-weight: 800;
      letter-spacing: 0.03em;
      color: #231C18;
      margin: 0 0 0.45rem 0;
      line-height: 1.25;
    }

    .inquiry-step-desc {
      font-size: 0.88rem;
      color: #5C4A3C;
      line-height: 1.55;
      margin: 0;
    }

    /* Step 2 Season Option Cards Grid */
    .season-option-grid,
    .season-options-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 0.9rem;
      margin: 1.35rem 0 1.6rem;
    }

    @media (max-width: 640px) {
      .season-option-grid,
      .season-options-grid {
        grid-template-columns: 1fr;
      }
    }

    .season-option-card {
      background: #FFFFFF;
      border: 1.5px solid rgba(168, 137, 78, 0.32);
      border-radius: 12px;
      padding: 1.1rem 1.15rem;
      cursor: pointer;
      display: flex;
      align-items: flex-start;
      gap: 0.85rem;
      transition: all 0.25s ease;
      position: relative;
    }

    .season-option-card:hover {
      border-color: #9C7A3C;
      background: #FFFDF9;
      transform: translateY(-2px);
      box-shadow: 0 6px 18px rgba(140, 109, 55, 0.12);
    }

    .season-option-card.is-selected,
    .season-option-card.selected {
      border-color: #9C7A3C;
      background: #FAF3E6;
      box-shadow: 0 0 0 1.5px #9C7A3C, 0 8px 24px rgba(140, 109, 55, 0.16);
    }

    .season-radio-circle {
      width: 18px;
      height: 18px;
      border-radius: 50%;
      border: 1.5px solid rgba(168, 137, 78, 0.55);
      background: #FFFFFF;
      flex-shrink: 0;
      margin-top: 0.2rem;
      position: relative;
      transition: all 0.25s ease;
    }

    .season-option-card:hover .season-radio-circle {
      border-color: #9C7A3C;
    }

    .season-option-card.is-selected .season-radio-circle,
    .season-option-card.selected .season-radio-circle {
      border-color: #9C7A3C;
      background: #9C7A3C;
    }

    .season-option-card.is-selected .season-radio-circle::after,
    .season-option-card.selected .season-radio-circle::after {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 6px;
      height: 6px;
      border-radius: 50%;
      background: #FFFFFF;
    }

    .season-option-content {
      display: flex;
      flex-direction: column;
      gap: 0.3rem;
    }

    .season-option-title {
      font-size: 0.92rem;
      font-weight: 700;
      color: #231C18;
      margin: 0;
      line-height: 1.35;
    }

    .season-option-desc {
      font-size: 0.8rem;
      color: #6A5849;
      line-height: 1.45;
      margin: 0;
    }

    /* Form Controls & Layout */
    .inquiry-modal-body .form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.15rem;
      margin-bottom: 1.15rem;
    }

    @media (max-width: 640px) {
      .inquiry-modal-body .form-row {
        grid-template-columns: 1fr;
        gap: 1rem;
      }
    }

    .inquiry-modal-body .form-group {
      margin-bottom: 1.25rem;
      display: flex;
      flex-direction: column;
      position: relative;
    }

    .inquiry-modal-body .form-label {
      font-size: 0.76rem;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: #7A5B2B;
      margin-bottom: 0.45rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .inquiry-modal-body .form-label-tag {
      font-size: 0.68rem;
      text-transform: none;
      letter-spacing: 0.04em;
      color: #9C7A3C;
      font-style: italic;
      font-weight: 500;
    }

    .inquiry-modal-body .sacred-input-wrap {
      position: relative;
      display: flex;
      align-items: center;
      width: 100%;
    }

    .inquiry-modal-body .sacred-input-icon {
      position: absolute;
      left: 1rem;
      width: 18px;
      height: 18px;
      color: #A3844D;
      pointer-events: none;
      z-index: 2;
      transition: color 0.25s ease;
    }

    .inquiry-modal-body .form-input,
    .inquiry-modal-body .form-select,
    .inquiry-modal-body .form-textarea {
      width: 100%;
      background: #FFFFFF !important;
      border: 1px solid rgba(168, 137, 78, 0.38) !important;
      border-radius: 10px !important;
      padding: 0.82rem 1rem 0.82rem 2.75rem !important;
      font-family: var(--font-primary) !important;
      font-size: 0.92rem !important;
      color: #231C18 !important;
      box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.03) !important;
      transition: all 0.25s ease !important;
      outline: none !important;
    }

    .inquiry-modal-body .form-input::placeholder,
    .inquiry-modal-body .form-textarea::placeholder {
      color: #9C8E82 !important;
      font-style: italic !important;
      font-family: var(--font-primary) !important;
    }

    .inquiry-modal-body .form-input:focus,
    .inquiry-modal-body .form-select:focus,
    .inquiry-modal-body .form-textarea:focus {
      border-color: #9C7A3C !important;
      background: #FFFDF9 !important;
      box-shadow: 0 0 0 3px rgba(168, 137, 78, 0.18), inset 0 1px 2px rgba(0, 0, 0, 0.02) !important;
    }

    .inquiry-modal-body .sacred-input-wrap:focus-within .sacred-input-icon {
      color: #755420;
    }

    .inquiry-modal-body .form-select {
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      cursor: pointer;
      padding-right: 2.5rem !important;
    }

    .inquiry-modal-body .sacred-select-arrow {
      position: absolute;
      right: 1rem;
      width: 16px;
      height: 16px;
      color: #A3844D;
      pointer-events: none;
      z-index: 2;
    }

    .inquiry-modal-body .textarea-wrap {
      align-items: flex-start;
    }

    .inquiry-modal-body .textarea-wrap .sacred-input-icon {
      top: 0.95rem;
    }

    .inquiry-modal-body .form-textarea {
      min-height: 125px;
      resize: vertical;
      line-height: 1.6;
    }

    .inquiry-modal-body input[type="date"] {
      font-family: var(--font-primary) !important;
      color: #231C18 !important;
    }

    /* Modal Navigation Actions */
    .inquiry-modal-nav,
    .inquiry-step-actions {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 1rem;
      margin-top: 1.6rem;
      padding-top: 1.2rem;
      border-top: 1px solid rgba(168, 137, 78, 0.2);
    }

    .btn-dialog-back {
      background: transparent !important;
      border: 1.5px solid rgba(140, 109, 55, 0.45) !important;
      border-radius: 9999px !important;
      padding: 0.75rem 1.6rem !important;
      color: #5C4A3C !important;
      font-family: var(--font-primary) !important;
      font-size: 0.78rem !important;
      font-weight: 700 !important;
      letter-spacing: 0.12em !important;
      text-transform: uppercase !important;
      cursor: pointer !important;
      display: inline-flex !important;
      align-items: center !important;
      gap: 0.5rem !important;
      transition: all 0.25s ease !important;
    }

    .btn-dialog-back:hover {
      border-color: #755420 !important;
      color: #231C18 !important;
      background: rgba(140, 109, 55, 0.08) !important;
    }

    .btn-dialog-next,
    .btn-dialog-submit,
    .btn-sacred-submit {
      background: linear-gradient(135deg, #9C7A3C 0%, #755420 100%) !important;
      color: #FFFFFF !important;
      border: none !important;
      border-radius: 9999px !important;
      padding: 0.8rem 1.8rem !important;
      font-family: var(--font-primary) !important;
      font-size: 0.82rem !important;
      font-weight: 700 !important;
      letter-spacing: 0.12em !important;
      text-transform: uppercase !important;
      cursor: pointer !important;
      display: inline-flex !important;
      align-items: center !important;
      gap: 0.6rem !important;
      box-shadow: 0 6px 18px rgba(117, 84, 32, 0.25) !important;
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
    }

    .btn-dialog-next:hover,
    .btn-dialog-submit:hover,
    .btn-sacred-submit:hover {
      transform: translateY(-1px) !important;
      box-shadow: 0 10px 24px rgba(156, 122, 60, 0.38) !important;
      background: linear-gradient(135deg, #B58D45 0%, #8C6629 100%) !important;
    }

    .btn-dialog-submit svg,
    .btn-sacred-submit svg {
      width: 16px;
      height: 16px;
    }

    /* Modal Success State */
    .inquiry-success-view {
      display: none;
      text-align: center;
      padding: 2.5rem 1.5rem;
      animation: fadeInFormSuccess 0.45s ease forwards;
    }

    .inquiry-success-icon {
      width: 58px;
      height: 58px;
      border-radius: 50%;
      background: rgba(156, 122, 60, 0.12);
      border: 1px solid #9C7A3C;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #9C7A3C;
      margin: 0 auto 1.5rem;
    }

    .inquiry-success-title {
      font-family: var(--font-primary) !important;
      font-size: 1.55rem;
      font-weight: 800;
      color: #231C18;
      margin-bottom: 0.8rem;
      letter-spacing: 0.06em;
      text-transform: uppercase;
    }

    .inquiry-success-desc {
      font-family: var(--font-primary) !important;
      font-size: 0.95rem;
      color: #5C4A3C;
      line-height: 1.65;
      max-width: 500px;
      margin: 0 auto 1.8rem;
    }

    .inquiry-success-close-btn {
      background: linear-gradient(135deg, #9C7A3C 0%, #755420 100%) !important;
      color: #FFFFFF !important;
      border: none !important;
      border-radius: 9999px !important;
      padding: 0.85rem 2rem !important;
      font-family: var(--font-primary) !important;
      font-size: 0.84rem !important;
      font-weight: 700 !important;
      letter-spacing: 0.12em !important;
      text-transform: uppercase !important;
      cursor: pointer !important;
    }
    
/* ==========================================================================
       FOOTER (Full Width Multi-Column)
       ========================================================================== */
    .saga-dell-anima-wrapper footer {
      border-top: 1px solid rgba(168, 137, 78, 0.35);
      padding: 5rem 0 2rem;
      background: #0A0807 !important;
      position: relative;
      z-index: 5 !important;
      width: 100%;
    }

    .footer-container {
      width: 100% !important;
      max-width: 100% !important;
      margin: 0 !important;
      padding: 0 clamp(1.2rem, 4vw, 4rem) !important;
      box-sizing: border-box !important;
    }

    .footer-grid {
      display: grid;
      grid-template-columns: 1.6fr 1fr 1.2fr 1.3fr;
      gap: clamp(2rem, 3.5vw, 4rem);
      align-items: start;
      margin-bottom: 4rem;
      text-align: left;
      width: 100%;
      box-sizing: border-box;
    }

    @media (max-width: 1024px) {
      .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 2.5rem;
      }
    }

    @media (max-width: 640px) {
      .footer-grid {
        grid-template-columns: 1fr;
        gap: 2.5rem;
      }
    }

    .footer-brand-col .brand-title {
      font-size: 1.3rem;
      display: inline-block;
      margin-bottom: 1rem;
    }

    .footer-excerpt {
      font-size: 0.88rem;
      color: rgba(234, 224, 210, 0.72) !important;
      line-height: 1.75;
      max-width: 340px;
    }

    .saga-dell-anima-wrapper footer h4,
    .saga-dell-anima-wrapper footer .footer-col-title {
      font-family: var(--font-primary) !important;
      font-size: 0.85rem !important;
      color: #E2B768 !important;
      letter-spacing: 0.14em !important;
      text-transform: uppercase !important;
      margin-bottom: 1.4rem !important;
      font-weight: 700 !important;
    }

    .footer-list {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: 0.85rem;
    }

    .footer-list li a {
      color: rgba(234, 224, 210, 0.72) !important;
      font-size: 0.88rem;
      text-decoration: none;
      transition: var(--transition-smooth);
    }

    .footer-list li a:hover {
      color: #E2B768 !important;
      padding-left: 4px;
    }

    .footer-contact-item {
      display: flex;
      align-items: flex-start;
      gap: 0.75rem;
      color: rgba(234, 224, 210, 0.72) !important;
      font-size: 0.88rem;
      line-height: 1.5;
    }

    .footer-contact-icon {
      width: 16px;
      height: 16px;
      stroke: #E2B768 !important;
      flex-shrink: 0;
      margin-top: 3px;
    }

    .saga-dell-anima-wrapper .footer-touch-col p {
      font-size: 0.88rem;
      color: rgba(234, 224, 210, 0.72) !important;
      line-height: 1.65;
      margin-bottom: 1.2rem;
    }

    .footer-bottom-bar {
      border-top: 1px solid rgba(226, 183, 104, 0.15);
      padding-top: 2rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      flex-wrap: wrap;
      gap: 1rem;
      font-size: 0.8rem;
      color: var(--text-subtle);
    }

    .footer-bottom-bar a {
      color: var(--gold-primary);
      text-decoration: none;
      font-weight: 500;
      transition: var(--transition-smooth);
    }

    .footer-bottom-bar a:hover {
      color: #E2B768;
      text-decoration: underline;
    }

    /* RESPONSIVE MEDIA QUERIES */
    @media (max-width: 1024px) {
      .pillars-grid {
        grid-template-columns: repeat(3, 1fr);
      }
      .archetypes-grid {
        grid-template-columns: repeat(2, 1fr);
      }
      .experiences-grid {
        grid-template-columns: repeat(2, 1fr);
      }
    }

    
    @media (max-width: 768px) {
      .nav-fullwidth-wrapper {
        padding: 0 1rem;
      }
      .brand-title {
        font-size: clamp(0.85rem, 3.8vw, 1.05rem);
        letter-spacing: 0.1em;
        white-space: nowrap;
      }
      .nav-actions {
        gap: 0.6rem;
      }
      .lang-switcher {
        padding: 2px;
      }
      .lang-btn {
        padding: 0.28rem 0.5rem;
        font-size: 0.66rem;
        gap: 0.3rem;
      }
      .lang-flag {
        width: 13px;
        height: 10px;
      }
      .mobile-menu-btn {
        padding: 4px;
      }
      .saga-dell-anima-wrapper .hero-section {
        min-height: 100vh !important;
        min-height: 100dvh !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-end !important;
        align-items: center !important;
        background-image: url('../images/hero/hero-hawk-bg.webp') !important;
        background-size: auto 118% !important;
        background-position: center clamp(-80px, -8.5vh, -45px) !important;
        background-repeat: no-repeat !important;
        padding-top: calc(70px + 43vh) !important;
        padding-bottom: clamp(2.5rem, 6vh, 4.5rem) !important;
        box-sizing: border-box !important;
      }
      .saga-dell-anima-wrapper .hero-container {
        padding: 0 1.25rem !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: auto !important;
        margin-bottom: auto !important;
        box-sizing: border-box !important;
      }
      .saga-dell-anima-wrapper .hero-content {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
      }
      .saga-dell-anima-wrapper header {
        top: 0;
      }
      .saga-dell-anima-wrapper section {
        padding: 4.5rem 0;
      }
      .nav-links {
        display: none;
        position: absolute;
        top: 70px;
        left: 0;
        right: 0;
        background: rgba(12, 10, 8, 0.98);
        border-bottom: 1px solid rgba(168, 137, 78, 0.35);
        flex-direction: column;
        padding: 2rem;
        gap: 1.5rem;
        text-align: center;
      }
      .nav-links.mobile-open {
        display: flex;
      }
      .mobile-menu-btn {
        display: block;
      }
      .duality-grid, .guide-grid, .booking-layout {
        grid-template-columns: 1fr;
      }
      .pillars-grid {
        grid-template-columns: 1fr;
      }
      .archetypes-grid {
        grid-template-columns: 1fr;
      }
      .experiences-grid {
        grid-template-columns: 1fr;
      }
      .form-row {
        grid-template-columns: 1fr;
      }
      .retreat-highlight-banner {
      background-blend-mode: normal !important;
        flex-direction: column;
        text-align: center;
        padding: 2.5rem 1.5rem;
        background: linear-gradient(180deg, rgba(14, 14, 16, 0.95) 0%, rgba(14, 14, 16, 0.85) 60%, rgba(14, 14, 16, 0.32) 85%, rgba(14, 14, 16, 0.08) 100%),
                    url('../images/experiences/experience-tuscany-landscape.webp') center/cover no-repeat !important;
      }
    }

    @media (max-width: 600px) {
      .saga-dell-anima-wrapper .hero-headline {
        font-size: clamp(1.15rem, 5.2vw, 1.55rem) !important;
        line-height: 1.15 !important;
        letter-spacing: 0.04em !important;
        margin-bottom: clamp(0.6rem, 1.5vh, 0.9rem) !important;
        width: 100% !important;
        max-width: 100% !important;
      }
      .saga-dell-anima-wrapper .hero-headline span {
        display: block !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: break-word !important;
      }
      .saga-dell-anima-wrapper .hero-subtext {
        font-size: clamp(0.78rem, 3.4vw, 0.95rem) !important;
        line-height: 1.55 !important;
        max-width: 440px !important;
        width: 100% !important;
        margin: 0 auto clamp(0.9rem, 2.2vh, 1.4rem) !important;
        padding: 0 0.5rem !important;
      }
      .saga-dell-anima-wrapper .hero-cta-group {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 0.65rem !important;
        width: 100% !important;
        max-width: 100% !important;
        flex-wrap: wrap !important;
      }
      .saga-dell-anima-wrapper .hero-section .btn-primary,
      .saga-dell-anima-wrapper .hero-section .btn-secondary {
        padding: 0.68rem 1.05rem !important;
        font-size: 0.72rem !important;
        letter-spacing: 0.08em !important;
        white-space: nowrap !important;
        flex: 0 1 auto !important;
      }
    }
  
    
    @media (max-width: 380px) {
      .nav-fullwidth-wrapper {
        padding: 0 0.5rem;
      }
      .brand-title {
        font-size: 0.78rem;
        letter-spacing: 0.05em;
      }
      .nav-actions {
        gap: 0.35rem;
      }
      .lang-btn {
        padding: 0.22rem 0.4rem;
        font-size: 0.62rem;
      }
    }
  
    /* WordPress Admin Bar Compatibility */
    .admin-bar .saga-dell-anima-wrapper header {
      top: 32px;
    }
    @media screen and (max-width: 782px) {
      .admin-bar .saga-dell-anima-wrapper header {
        top: 46px;
      }
    }

    /* WPFORMS LUXURY GOLD STYLING (#wpforms-29) */
    .saga-dell-anima-wrapper .wpforms-container,
    .saga-dell-anima-wrapper div.wpforms-container-full {
      margin: 0 !important;
      padding: 0 !important;
      background: transparent !important;
    }
    .saga-dell-anima-wrapper .wpforms-form .wpforms-field {
      padding: 0 0 1.25rem 0 !important;
      margin: 0 !important;
    }
    .saga-dell-anima-wrapper .wpforms-form label.wpforms-field-label {
      display: block !important;
      font-family: var(--font-primary) !important;
      text-transform: uppercase !important;
      letter-spacing: 0.16em !important;
      font-size: 0.72rem !important;
      font-weight: 600 !important;
      color: var(--gold-primary) !important;
      margin-bottom: 0.45rem !important;
    }
    .saga-dell-anima-wrapper .wpforms-form .wpforms-required-label {
      color: var(--gold-light) !important;
    }
    .saga-dell-anima-wrapper .wpforms-form input[type="text"],
    .saga-dell-anima-wrapper .wpforms-form input[type="email"],
    .saga-dell-anima-wrapper .wpforms-form select,
    .saga-dell-anima-wrapper .wpforms-form textarea {
      width: 100% !important;
      box-sizing: border-box !important;
      background: #EAE0D2 !important;
      border: 1px solid var(--border-gold) !important;
      color: var(--text-alabaster) !important;
      font-family: var(--font-primary) !important;
      font-size: 0.95rem !important;
      padding: 0.85rem 1rem !important;
      border-radius: var(--radius-sm) !important;
      transition: var(--transition-smooth) !important;
    }
    .saga-dell-anima-wrapper .wpforms-form input:focus,
    .saga-dell-anima-wrapper .wpforms-form select:focus,
    .saga-dell-anima-wrapper .wpforms-form textarea:focus {
      border-color: var(--gold-primary) !important;
      outline: none !important;
      box-shadow: 0 0 14px var(--gold-glow) !important;
      background: #FFFFFF !important;
    }
    .saga-dell-anima-wrapper .wpforms-form select option {
      background: #FFFFFF !important;
      color: var(--text-alabaster) !important;
    }
    .saga-dell-anima-wrapper .wpforms-form .wpforms-submit-container {
      padding: 0.5rem 0 0 0 !important;
      margin: 0 !important;
    }
    .saga-dell-anima-wrapper .wpforms-form button[type="submit"].wpforms-submit {
      width: 100% !important;
      background: linear-gradient(135deg, #9C7A3C 0%, #755420 100%) !important;
      color: #FFFFFF !important;
      border: none !important;
      font-family: var(--font-primary) !important;
      font-weight: 700 !important;
      letter-spacing: 0.14em !important;
      text-transform: uppercase !important;
      font-size: 0.92rem !important;
      padding: 1rem 1.8rem !important;
      border-radius: var(--radius-sm) !important;
      cursor: pointer !important;
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
    }
    .saga-dell-anima-wrapper .wpforms-form button[type="submit"].wpforms-submit:hover {
      transform: scale(1.05) !important;
      box-shadow: 0 8px 30px rgba(226, 183, 104, 0.4) !important;
    }
    .saga-dell-anima-wrapper .wpforms-confirmation-container-full {
      background: #FFFFFF !important;
      border: 1px solid var(--border-gold-strong) !important;
      color: var(--gold-light) !important;
      border-radius: var(--radius-md) !important;
      padding: 2rem !important;
      text-align: center !important;
      font-family: var(--font-primary) !important;
      box-shadow: 0 0 25px rgba(226, 183, 104, 0.2) !important;
    }


    /* FLUENT FORMS LUXURY GOLD STYLING */
    .saga-dell-anima-wrapper .fluentform,
    .saga-dell-anima-wrapper .ff-el-group {
      margin-bottom: 1.25rem !important;
    }
    .saga-dell-anima-wrapper .fluentform .ff-el-input--label label {
      display: block !important;
      font-family: var(--font-primary) !important;
      text-transform: uppercase !important;
      letter-spacing: 0.16em !important;
      font-size: 0.72rem !important;
      font-weight: 600 !important;
      color: var(--gold-primary) !important;
      margin-bottom: 0.45rem !important;
    }
    .saga-dell-anima-wrapper .fluentform .ff-el-form-control {
      width: 100% !important;
      box-sizing: border-box !important;
      background: #EAE0D2 !important;
      border: 1px solid var(--border-gold) !important;
      color: var(--text-alabaster) !important;
      font-family: var(--font-primary) !important;
      font-size: 0.95rem !important;
      padding: 0.85rem 1rem !important;
      border-radius: var(--radius-sm) !important;
      transition: var(--transition-smooth) !important;
      box-shadow: none !important;
    }
    .saga-dell-anima-wrapper .fluentform .ff-el-form-control:focus {
      border-color: var(--gold-primary) !important;
      outline: none !important;
      box-shadow: 0 0 14px var(--gold-glow) !important;
      background: #FFFFFF !important;
    }
    .saga-dell-anima-wrapper .fluentform select.ff-el-form-control option {
      background: #FFFFFF !important;
      color: var(--text-alabaster) !important;
    }
    .saga-dell-anima-wrapper .fluentform .ff-btn-submit {
      width: 100% !important;
      background: linear-gradient(135deg, #9C7A3C 0%, #755420 100%) !important;
      color: #FFFFFF !important;
      border: none !important;
      font-family: var(--font-primary) !important;
      font-weight: 700 !important;
      letter-spacing: 0.14em !important;
      text-transform: uppercase !important;
      font-size: 0.92rem !important;
      padding: 1rem 1.8rem !important;
      border-radius: var(--radius-sm) !important;
      cursor: pointer !important;
      transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
    }
    .saga-dell-anima-wrapper .fluentform .ff-btn-submit:hover {
      transform: scale(1.05) !important;
      box-shadow: 0 8px 30px rgba(226, 183, 104, 0.4) !important;
    }
    .saga-dell-anima-wrapper .ff-message-success {
      background: #FFFFFF !important;
      border: 1px solid var(--border-gold-strong) !important;
      color: var(--gold-light) !important;
      border-radius: var(--radius-md) !important;
      padding: 1.5rem !important;
      text-align: center !important;
      font-family: var(--font-primary) !important;
    }


    /* BULLETPROOF MOBILE HEADER & LOGO ALIGNMENT */
    .saga-dell-anima-wrapper header {
      position: fixed !important;
      top: 0 !important;
      left: 0 !important;
      right: 0 !important;
      width: 100% !important;
      max-width: 100% !important;
      height: 70px !important;
      z-index: 99999 !important;
      background: transparent !important;
      backdrop-filter: none !important;
      -webkit-backdrop-filter: none !important;
      border-bottom: 1px solid transparent !important;
      box-shadow: none !important;
      display: flex !important;
      align-items: center !important;
      box-sizing: border-box !important;
      transition: background 0.35s ease, backdrop-filter 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease !important;
    }

    .saga-dell-anima-wrapper header.is-floating {
      background: rgba(10, 8, 7, 0.96) !important;
      backdrop-filter: blur(14px) !important;
      -webkit-backdrop-filter: blur(14px) !important;
      border-bottom: 1px solid rgba(168, 137, 78, 0.35) !important;
      box-shadow: 0 4px 25px rgba(0, 0, 0, 0.45) !important;
    }

    .saga-dell-anima-wrapper .nav-fullwidth-wrapper {
      width: 100% !important;
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
      flex-wrap: nowrap !important;
      box-sizing: border-box !important;
      padding: 0 clamp(0.75rem, 3.5vw, 3.5rem) !important;
    }

    .saga-dell-anima-wrapper .brand-logo {
      display: flex !important;
      align-items: center !important;
      text-decoration: none !important;
      flex-shrink: 0 !important;
      white-space: nowrap !important;
    }

    .saga-dell-anima-wrapper .brand-title {
      font-family: 'Cinzel Decorative', serif !important;
      color: var(--gold-light) !important;
      font-weight: 700 !important;
      line-height: 1 !important;
      white-space: nowrap !important;
      word-break: keep-all !important;
      overflow-wrap: normal !important;
      display: inline-block !important;
      letter-spacing: 0.14em !important;
      font-size: 1.15rem !important;
    }

    @media (max-width: 768px) {
      .saga-dell-anima-wrapper header {
        height: 64px !important;
      }
      .saga-dell-anima-wrapper .nav-fullwidth-wrapper {
        padding: 0 0.75rem !important;
      }
      .saga-dell-anima-wrapper .brand-title {
        font-size: clamp(0.78rem, 3.6vw, 0.96rem) !important;
        letter-spacing: 0.08em !important;
      }
      .saga-dell-anima-wrapper .nav-actions {
        display: flex !important;
        align-items: center !important;
        gap: 0.45rem !important;
        flex-shrink: 0 !important;
      }
      .saga-dell-anima-wrapper .lang-switcher {
        padding: 2px !important;
        border-radius: 14px !important;
      }
      .saga-dell-anima-wrapper .lang-btn {
        padding: 0.22rem 0.45rem !important;
        font-size: 0.64rem !important;
        gap: 0.25rem !important;
      }
      .saga-dell-anima-wrapper .lang-flag {
        width: 13px !important;
        height: 9px !important;
      }
      .saga-dell-anima-wrapper .mobile-menu-btn {
        padding: 4px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
      }
    }

    @media (max-width: 380px) {
      .saga-dell-anima-wrapper .nav-fullwidth-wrapper {
        padding: 0 0.5rem !important;
      }
      .saga-dell-anima-wrapper .brand-title {
        font-size: 0.74rem !important;
        letter-spacing: 0.05em !important;
      }
      .saga-dell-anima-wrapper .nav-actions {
        gap: 0.3rem !important;
      }
      .saga-dell-anima-wrapper .lang-btn {
        padding: 0.18rem 0.35rem !important;
        font-size: 0.58rem !important;
      }
    }
  

    /* BRAND LOGO & ASSETS */
    .brand-logo-img {
      height: 46px;
      width: auto;
      max-width: 195px;
      object-fit: contain;
      display: block;
      filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.35));
      transition: var(--transition-smooth);
    }

    .brand-logo:hover .brand-logo-img {
      filter: drop-shadow(0 3px 12px rgba(226, 183, 104, 0.45));
      transform: scale(1.02);
    }

    .footer-brand-link {
      display: inline-block;
      text-decoration: none;
      margin-bottom: 1.25rem;
      transition: var(--transition-smooth);
    }

    .footer-brand-link:hover .footer-logo-img {
      filter: drop-shadow(0 4px 18px rgba(226, 183, 104, 0.55));
      transform: translateY(-2px);
    }

    .footer-logo-img {
      height: 85px;
      width: auto;
      max-width: 300px;
      object-fit: contain;
      display: block;
      filter: drop-shadow(0 2px 10px rgba(226, 183, 104, 0.3));
      transition: var(--transition-smooth);
    }

    /* THE GUIDE PORTRAIT FRAME */
    .guide-portrait-wrap {
      margin: 0 auto 2.5rem;
      display: flex;
      justify-content: center;
      align-items: center;
      position: relative;
    }

    .guide-portrait-frame {
      width: 250px;
      height: 250px;
      border-radius: 50%;
      border: 3px solid #B89758;
      box-shadow: 0 0 35px rgba(184, 151, 88, 0.35), 0 10px 25px rgba(50, 36, 22, 0.12);
      overflow: hidden;
      position: relative;
      background: #EAE0D2;
      transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.6s ease;
    }

    .guide-portrait-wrap:hover .guide-portrait-frame {
      transform: scale(1.04);
      box-shadow: 0 0 55px rgba(226, 183, 104, 0.55), inset 0 0 25px rgba(0, 0, 0, 0.7);
    }

    .guide-portrait-img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 20%;
      display: block;
    }

    @media (max-width: 768px) {
      .brand-logo-img {
        height: clamp(42px, 10.5vw, 51px);
        max-width: clamp(158px, 42vw, 195px);
      }
      .guide-portrait-frame {
        width: 200px;
        height: 200px;
      }
    }


    /* ==========================================================================
       CARDS & CONTENT CONTAINERS - SOLID OPAQUE BACKING & ELEVATED STACKING
       (Particles float strictly behind cards in the background; never on top)
       ========================================================================== */
    .container,
    .filippo-hero-editorial-grid,
    .filippo-wellness-header,
    .filippo-wellness-pillars,
    .filippo-wellness-gallery,
    .filippo-fashion-timeline,
    .filosofia-grid,
    .viaggio-top-split,
    .viaggio-left-content {
      position: relative;
      z-index: 2;
    }

    .sacred-frame,
    .duality-card,
    .pillar-card,
    .phil-cammino-card,
    .filippo-pillar-card,
    .archetype-card,
    .retreat-highlight-banner,
    .experience-card,
    .booking-unified-card,
    .booking-info-pane,
    .booking-form-pane,
    .guide-quote-box-centered,
    .hawk-archetype-box-centered,
    .guide-portrait-frame,
    .filippo-wellness-card,
    .filippo-centerpiece-card,
    .filippo-timeline-row {
      position: relative !important;
      z-index: 3 !important;
    }

    .sacred-frame,
    .duality-card,
    .pillar-card,
    .phil-cammino-card,
    .filippo-pillar-card,
    .archetype-card,
    .experience-card,
    .booking-unified-card,
    .booking-info-pane,
    .booking-form-pane,
    .guide-quote-box-centered,
    .hawk-archetype-box-centered {
      background-color: #F3ECE2 !important;
    }

    .archetype-card:hover,
    .sacred-frame:hover,
    .duality-card:hover,
    .pillar-card:hover,
    .phil-cammino-card:hover,
    .filippo-pillar-card:hover {
      background-color: #FAF6F0 !important;
    }

    .retreat-highlight-banner {
      background-blend-mode: normal !important;
      background: linear-gradient(90deg, rgba(14, 14, 16, 0.95) 0%, rgba(14, 14, 16, 0.82) 42%, rgba(14, 14, 16, 0.28) 72%, rgba(14, 14, 16, 0.06) 100%),
                  url('../images/experiences/experience-tuscany-landscape.webp') center/cover no-repeat !important;
    }

    .whatsapp-preview-box {
      display: none !important;
    }


    /* HIGH CONTRAST LUMINOUS RETREAT BANNER TYPOGRAPHY */
    .saga-dell-anima-wrapper .retreat-highlight-banner .retreat-highlight-title {
      font-family: var(--font-primary) !important;
      font-size: clamp(1.4rem, 2.5vw, 2.2rem) !important;
      color: #F5CE7A !important;
      letter-spacing: 0.12em !important;
      text-transform: uppercase !important;
      font-weight: 800 !important;
      line-height: 1.25 !important;
      margin-bottom: 0.85rem !important;
      text-shadow: 0 2px 10px rgba(0, 0, 0, 0.95), 0 0 2px #000 !important;
    }

    .saga-dell-anima-wrapper .retreat-highlight-banner p,
    .saga-dell-anima-wrapper .retreat-highlight-banner .retreat-highlight-desc {
      color: #FFFFFF !important;
      font-size: 1.05rem !important;
      line-height: 1.65 !important;
      max-width: 620px !important;
      text-shadow: 0 2px 8px rgba(0, 0, 0, 0.95), 0 0 2px #000 !important;
      font-weight: 500 !important;
    }

    .saga-dell-anima-wrapper .retreat-highlight-banner .ui-badge,
    .saga-dell-anima-wrapper .retreat-highlight-banner .retreat-highlight-badge {
      background: rgba(12, 10, 8, 0.8) !important;
      border: 1px solid #E2B768 !important;
      color: #F5CE7A !important;
      text-shadow: 0 1px 4px #000 !important;
    }


    /* ==========================================================================
       UNIQUE & CALMING LUXURY ELEMENTS (SAGA DELL'ANIMA SYSTEM)
       ========================================================================== */
    
    /* NAV CTA BUTTON (Sessione 1:1) */
    .nav-cta-btn {
      display: inline-flex;
      align-items: center;
      gap: 0.45rem;
      padding: 0.45rem 1.15rem;
      border-radius: 9999px;
      background: linear-gradient(135deg, #9C7A3C 0%, #755420 100%);
      color: #FFFFFF !important;
      border: 1px solid rgba(226, 183, 104, 0.45);
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      text-decoration: none;
      transition: var(--transition-smooth);
      box-shadow: 0 4px 14px rgba(117, 84, 32, 0.25);
      cursor: pointer;
      white-space: nowrap;
    }
    .nav-cta-btn:hover {
      transform: scale(1.05);
      box-shadow: 0 6px 22px rgba(140, 109, 55, 0.4);
      border-color: #E2B768;
      color: #FFFFFF !important;
    }
    .nav-cta-btn svg {
      width: 14px;
      height: 14px;
      stroke: #FCEFD2;
    }

    /* ==========================================================================
       IL VIAGGIO DELL'ANIMA • CENTERED HEADER, 2-COL (16:9 VERTICAL IMAGES) + 3-CARD ROW
       ========================================================================== */
    #viaggio .container {
      width: 95%;
      max-width: min(102.5rem, 94vw);
      margin: 0 auto;
      padding: 0 clamp(1rem, 2vw, 1.5rem);
    }

    #viaggio .section-header {
      margin: 0 auto clamp(1.8rem, 3vh, 2.5rem);
    }

    .viaggio-top-split {
      display: grid;
      grid-template-columns: minmax(0, 1.3fr) minmax(0, clamp(280px, 25vw, 390px));
      gap: clamp(1.8rem, 3.5vw, 4rem);
      align-items: center;
      margin-top: 0;
      margin-bottom: clamp(2rem, 3.5vh, 3.5rem);
    }

    /* Left Side: Text Narrative & 3 Cards Container */
    .viaggio-left-content {
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .viaggio-thesis-wrap {
      margin-bottom: 1.45rem;
      position: relative;
      padding-left: 1.4rem;
      border-left: 2.5px solid rgba(168, 137, 78, 0.65);
    }

    .viaggio-thesis-quote {
      font-family: var(--font-primary);
      font-size: clamp(1.8rem, 3.5vw, 2.6rem);
      color: #231C18;
      line-height: 1.3;
      font-weight: 500;
      letter-spacing: -0.01em;
      margin: 0;
    }

    .viaggio-thesis-quote strong {
      display: block;
      margin-top: 0.35rem;
      font-weight: 800;
      letter-spacing: 0.05em;
      color: #5C4320;
      text-transform: uppercase;
      font-size: 0.85em;
    }

    .viaggio-narrative-prose {
      font-size: 1.18rem;
      line-height: 1.82;
      color: #5A483B;
      margin-bottom: 0;
    }

    .viaggio-narrative-prose p {
      margin-bottom: 1.25rem;
    }

    .viaggio-narrative-prose p:last-child {
      margin-bottom: 0;
    }

    /* 3-Card Horizontal Row Inside Left Container */
    .viaggio-horizontal-cards {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.25rem;
      align-items: stretch;
    }

    .viaggio-step-card {
      background: #F3ECE2;
      border: 1px solid rgba(168, 137, 78, 0.24);
      border-radius: 12px;
      padding: 1.4rem 1.25rem;
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), background 0.3s ease, border-color 0.3s ease, box-shadow 0.4s ease;
      box-shadow: 0 4px 14px rgba(50, 36, 22, 0.04);
      display: flex;
      flex-direction: column;
      position: relative;
      z-index: 1;
    }

    .viaggio-step-card:hover {
      background: #FAF6F0;
      border-color: rgba(168, 137, 78, 0.65);
      transform: scale(1.05);
      box-shadow: 0 16px 36px rgba(50, 36, 22, 0.18);
      z-index: 5;
    }

    .viaggio-step-badge {
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: #8C6D37;
      margin-bottom: 0.55rem;
      display: inline-block;
    }

    .viaggio-step-title {
      font-family: var(--font-primary);
      font-size: 1.22rem;
      font-weight: 700;
      color: #231C18;
      margin: 0 0 0.55rem;
      line-height: 1.25;
      letter-spacing: 0.01em;
    }

    .viaggio-step-desc {
      font-size: 0.82rem;
      line-height: 1.5;
      color: #6A5849;
      margin: 0;
      margin-top: auto;
    }

    /* Right Side: Proportional 16:9 Image Stack */
    .viaggio-right-images {
      display: flex;
      flex-direction: column;
      justify-content: center;
      width: 100%;
      max-width: clamp(280px, 25vw, 390px);
      margin: 0;
    }

    .viaggio-images-grid {
      display: flex;
      flex-direction: column;
      gap: 0.65rem;
      width: 100%;
    }

    .viaggio-img-card {
      position: relative;
      border-radius: 12px;
      overflow: hidden;
      box-shadow: 0 8px 24px rgba(50, 36, 22, 0.1);
      border: 1px solid rgba(168, 137, 78, 0.28);
      background: #E8DFD3;
      transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease;
      width: 100%;
      z-index: 1;
    }

    .viaggio-img-card:hover {
      transform: scale(1.06);
      box-shadow: 0 18px 40px rgba(50, 36, 22, 0.24);
      z-index: 5;
    }

    .viaggio-card-img {
      width: 100%;
      aspect-ratio: 16 / 9;
      object-fit: cover;
      display: block;
      transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .viaggio-img-card:hover .viaggio-card-img {
      transform: scale(1.03);
    }

    .viaggio-card-overlay {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      padding: 1.2rem 1.4rem;
      background: linear-gradient(to top, rgba(20, 16, 12, 0.85) 0%, rgba(20, 16, 12, 0) 100%);
      display: flex;
      align-items: center;
      gap: 0.6rem;
      color: #EAE0D2;
      font-size: 0.8rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
    }

    .viaggio-card-overlay svg {
      width: 15px;
      height: 15px;
      stroke: #E2B768;
    }

    @media (max-width: 1100px) {
      .viaggio-top-split {
        grid-template-columns: 1fr;
        gap: 3.5rem;
      }
      .viaggio-right-images {
        width: 100%;
        max-width: 540px;
        margin: 0 auto;
      }
    }

    @media (max-width: 768px) {
      .viaggio-horizontal-cards {
        display: none !important;
      }
    }

    /* ==========================================================================
       LA FILOSOFIA & I CAMMINI • EXPANDED LUXURY WIDTH SECTION
       ========================================================================== */
    #filosofia .container,
    .philosophy-wide-container {
      width: 95%;
      max-width: min(102.5rem, 94vw);
      margin: 0 auto;
      padding: 0 clamp(1rem, 2vw, 1.5rem);
    }

    :root {
      --orbit-radius: 265px;
      --wheel-rot: 0deg;
      --counter-rot: 0deg;
    }

    .philosophy-combined-split {
      display: grid;
      grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
      gap: clamp(2rem, 4vw, 4.5rem);
      align-items: center;
      margin-top: clamp(2rem, 3.5vh, 3.5rem);
    }

    /* Left Column: Awakening Text Block + 4 Cards Below It */
    .phil-left-col {
      display: flex;
      flex-direction: column;
      gap: 1.8rem;
    }

    .phil-vision-text-block {
      margin-bottom: 0.75rem;
    }

    .phil-thesis-wrap {
      margin-bottom: 1.45rem;
      position: relative;
      padding-left: 1.4rem;
      border-left: 2.5px solid rgba(168, 137, 78, 0.65);
    }

    .phil-thesis-quote {
      font-family: var(--font-primary);
      font-size: clamp(1.8rem, 3.5vw, 2.6rem);
      color: #231C18;
      line-height: 1.3;
      font-weight: 500;
      letter-spacing: -0.01em;
      margin: 0;
    }

    .phil-thesis-quote strong {
      display: block;
      margin-top: 0.35rem;
      font-weight: 800;
      letter-spacing: 0.05em;
      color: #5C4320;
      text-transform: uppercase;
      font-size: 0.85em;
    }

    .phil-narrative-prose {
      font-size: 1.18rem;
      line-height: 1.82;
      color: #5A483B;
      max-width: 780px;
    }

    .phil-narrative-prose p {
      margin: 0;
    }

    /* 4 Cards Grid Below the Text Card */
    .phil-4cards-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.35rem;
    }

    .phil-cammino-card {
      background: #F3ECE2;
      border: 1px solid rgba(168, 137, 78, 0.24);
      border-radius: 14px;
      padding: 1.5rem 1.4rem;
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), background 0.3s ease, border-color 0.3s ease, box-shadow 0.4s ease;
      box-shadow: 0 4px 14px rgba(50, 36, 22, 0.04);
      display: flex;
      flex-direction: column;
      position: relative;
      z-index: 1;
    }

    .phil-cammino-card:hover {
      background: #FAF6F0;
      border-color: rgba(168, 137, 78, 0.65);
      transform: scale(1.04);
      box-shadow: 0 16px 36px rgba(50, 36, 22, 0.16);
      z-index: 5;
    }

    .phil-card-badge {
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: #8C6D37;
      margin-bottom: 0.45rem;
    }

    .phil-card-title {
      font-family: var(--font-primary);
      font-size: 1.05rem;
      font-weight: 700;
      color: #231C18;
      margin: 0 0 0.35rem;
      line-height: 1.3;
    }

    .phil-card-desc {
      font-size: 0.85rem;
      line-height: 1.52;
      color: #6A5849;
      margin: 0;
      margin-top: auto;
    }

    /* Right Column: Generous 360° Circle of Life */
    .phil-right-col {
      display: flex;
      align-items: center;
      justify-content: center;
      position: relative;
    }

    .phil-right-col .circle-of-life-stage {
      position: relative;
      width: 100%;
      max-width: clamp(520px, 45vw, 760px);
      height: clamp(520px, 45vw, 760px);
      display: flex;
      align-items: center;
      justify-content: center;
    }

    /* SVG Connecting Circular Orbit Arcs */
    .circle-orbit-svg {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 100%;
      height: 100%;
      pointer-events: none;
      z-index: 0;
    }

    /* Center Sacred Medallion Hub */
    .circle-center-hub {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 200px;
      height: 200px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      z-index: 3;
    }

    .circle-pulse-ring {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      border-radius: 50%;
      border: 1px dashed rgba(226, 183, 104, 0.4);
      pointer-events: none;
      animation: orbitSpin 45s linear infinite;
    }

    .circle-pulse-ring.ring-1 {
      width: 222px;
      height: 222px;
    }

    .circle-pulse-ring.ring-2 {
      width: 248px;
      height: 248px;
      border-style: dotted;
      border-color: rgba(168, 137, 78, 0.25);
      animation-duration: 70s;
      animation-direction: reverse;
    }

    @keyframes orbitSpin {
      from { transform: translate(-50%, -50%) rotate(0deg); }
      to { transform: translate(-50%, -50%) rotate(360deg); }
    }

    .circle-hub-medallion {
      width: 190px;
      height: 190px;
      border-radius: 50%;
      background: radial-gradient(circle at center, #281F17 0%, #15100C 100%);
      border: 2.5px solid rgba(226, 183, 104, 0.7);
      box-shadow: 0 16px 42px rgba(0, 0, 0, 0.4), 0 0 0 6px rgba(226, 183, 104, 0.16);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      box-sizing: border-box;
      padding: 0 1rem;
      color: #EAE0D2;
      text-align: center;
      transition: var(--transition-smooth);
    }

    .circle-hub-medallion:hover {
      transform: scale(1.05);
      border-color: rgba(226, 183, 104, 0.95);
      box-shadow: 0 20px 48px rgba(0, 0, 0, 0.45), 0 0 28px rgba(226, 183, 104, 0.45);
    }

    .circle-hub-medallion .circle-hub-title,
    .saga-dell-anima-wrapper .circle-hub-title {
      font-family: var(--font-primary) !important;
      font-size: 1.35rem !important;
      font-weight: 800 !important;
      letter-spacing: 0.08em !important;
      line-height: 1.3 !important;
      text-transform: uppercase !important;
      width: 100% !important;
      max-width: 156px !important;
      text-align: center !important;
      margin: 0 auto !important;
      padding: 0 !important;
      display: block !important;
      color: #F3CA7E !important;
      -webkit-text-fill-color: #F3CA7E !important;
      text-shadow: 0 0 14px rgba(243, 202, 126, 0.7), 0 0 28px rgba(226, 183, 104, 0.45), 0 2px 8px rgba(0, 0, 0, 0.95) !important;
      transition: var(--transition-smooth);
    }

    .circle-hub-medallion:hover .circle-hub-title {
      color: #FFE6A8 !important;
      -webkit-text-fill-color: #FFE6A8 !important;
      text-shadow: 0 0 20px rgba(255, 230, 168, 0.95), 0 0 35px rgba(226, 183, 104, 0.7), 0 2px 10px rgba(0, 0, 0, 0.95) !important;
    }

    /* Rotating Orbit Layer */
    .circle-nodes-orbit {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      transform-origin: center center;
      transform: rotate(var(--wheel-rot, 0deg));
      transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
      pointer-events: none;
      z-index: 2;
    }

    /* 6 Orbital Circular Cards along the 360° Perimeter */
    .circle-node-card {
      position: absolute;
      width: 216px;
      height: 216px;
      border-radius: 50%;
      background: radial-gradient(circle at 40% 35%, #F7F2EB 0%, #F3ECE2 100%);
      border: 1.5px solid rgba(168, 137, 78, 0.32);
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      box-sizing: border-box;
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      box-shadow: 0 10px 28px rgba(50, 36, 22, 0.07), inset 0 0 20px rgba(255, 255, 255, 0.8);
      transform: translate(-50%, -50%) rotate(var(--counter-rot, 0deg));
      transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, border-color 0.4s ease, background 0.4s ease;
      pointer-events: auto;
      overflow: hidden;
      cursor: pointer;
    }

    .circle-node-card:hover {
      background: radial-gradient(circle at 40% 35%, #FAF6F0 0%, #F7F2EB 100%);
      border-color: rgba(226, 183, 104, 0.85);
      transform: translate(-50%, -50%) rotate(var(--counter-rot, 0deg)) scale(1.06) !important;
      box-shadow: 0 16px 40px rgba(156, 122, 60, 0.22), 0 0 0 2px rgba(226, 183, 104, 0.5), inset 0 0 24px rgba(226, 183, 104, 0.15);
      z-index: 10;
    }

    /* Polar Placement along the Orbit (12, 2, 4, 6, 8, 10 o'clock) */
    .circle-node-card[data-node="1"] {
      top: calc(50% - var(--orbit-radius));
      left: 50%;
    }
    .circle-node-card[data-node="2"] {
      top: calc(50% - (var(--orbit-radius) * 0.5));
      left: calc(50% + (var(--orbit-radius) * 0.866));
    }
    .circle-node-card[data-node="3"] {
      top: calc(50% + (var(--orbit-radius) * 0.5));
      left: calc(50% + (var(--orbit-radius) * 0.866));
    }
    .circle-node-card[data-node="4"] {
      top: calc(50% + var(--orbit-radius));
      left: 50%;
    }
    .circle-node-card[data-node="5"] {
      top: calc(50% + (var(--orbit-radius) * 0.5));
      left: calc(50% - (var(--orbit-radius) * 0.866));
    }
    .circle-node-card[data-node="6"] {
      top: calc(50% - (var(--orbit-radius) * 0.5));
      left: calc(50% - (var(--orbit-radius) * 0.866));
    }

    /* Content inside circular card with true visual & mathematical centering */
    .circle-node-content {
      position: relative;
      z-index: 1;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      text-align: center;
      width: 100%;
      max-width: 154px;
      margin: 0 auto;
      padding: 0;
    }

    .circle-node-title {
      font-family: var(--font-primary);
      font-size: 0.84rem;
      font-weight: 700;
      color: #231C18;
      margin: 0 0 0.38rem;
      line-height: 1.22;
      letter-spacing: 0.05em;
      text-transform: uppercase;
      max-width: 145px;
      text-align: center;
    }

    .circle-node-desc {
      font-size: 0.72rem;
      line-height: 1.44;
      color: #5A483B;
      margin: 0;
      max-width: 148px;
      text-align: center;
    }

    /* Responsive Breakdown */
    @media (max-width: 1200px) {
      .philosophy-combined-split {
        grid-template-columns: 1fr;
        gap: 3.5rem;
      }
      .phil-right-col .circle-of-life-stage {
        max-width: 700px;
        height: 700px;
        --orbit-radius: 240px;
      }
      .circle-node-card {
        width: 200px;
        height: 200px;
      }
      .circle-node-content {
        max-width: 142px;
      }
    }

    @media (max-width: 680px) {
      .philosophy-combined-split {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
      }
      .phil-left-col {
        display: contents !important;
      }
      .phil-vision-text-block {
        display: contents !important;
      }
      .phil-right-col {
        order: 1 !important;
        width: 100% !important;
        box-sizing: border-box !important;
      }
      .phil-thesis-wrap {
        order: 2 !important;
        width: 100% !important;
        box-sizing: border-box !important;
        margin-bottom: 0 !important;
      }
      .phil-narrative-prose {
        order: 3 !important;
        width: 100% !important;
        box-sizing: border-box !important;
      }
      .phil-4cards-grid {
        order: 4 !important;
        width: 100% !important;
        box-sizing: border-box !important;
      }
      .phil-left-col,
      .phil-right-col {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
      }
      .phil-4cards-grid {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: clamp(0.55rem, 2vw, 0.85rem) !important;
      }
      .phil-cammino-card {
        padding: clamp(0.85rem, 2.5vw, 1.15rem) clamp(0.65rem, 2vw, 0.85rem) !important;
        border-radius: 12px !important;
      }
      .phil-card-header-row {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        gap: 0.35rem !important;
        margin-bottom: 0.5rem !important;
      }
      .phil-card-header-row .phil-card-title {
        font-size: clamp(0.68rem, 2.3vw, 0.82rem) !important;
        line-height: 1.25 !important;
        letter-spacing: 0.03em !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        color: #231C18 !important;
        margin: 0 !important;
      }
      .phil-card-header-row .card-wellness-icon {
        width: clamp(18px, 4.5vw, 22px) !important;
        height: clamp(18px, 4.5vw, 22px) !important;
        flex-shrink: 0 !important;
        margin-bottom: 0 !important;
      }
      .phil-card-desc {
        font-size: clamp(0.58rem, 1.8vw, 0.68rem) !important;
        line-height: 1.42 !important;
        color: #6A5849 !important;
        margin: 0 !important;
      }
      .phil-right-col {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        overflow: visible !important;
        padding: 1.5rem 0 !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
      }
      .phil-right-col .circle-of-life-stage {
        position: relative !important;
        --stage-size: clamp(310px, 88vw, 355px) !important;
        width: var(--stage-size) !important;
        height: var(--stage-size) !important;
        max-width: 355px !important;
        max-height: 355px !important;
        margin: 0 auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        --orbit-radius: calc(var(--stage-size) * 0.342) !important;
        --hub-size: calc(var(--stage-size) * 0.29) !important;
        --card-size: calc(var(--stage-size) * 0.322) !important;
        box-sizing: border-box !important;
      }
      .phil-right-col .circle-orbit-svg {
        display: block !important;
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        width: 100% !important;
        height: 100% !important;
        pointer-events: none !important;
        z-index: 0 !important;
      }
      .phil-right-col .circle-center-hub {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        width: var(--hub-size) !important;
        height: var(--hub-size) !important;
        margin: 0 !important;
        z-index: 3 !important;
        border-radius: 50% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
      }
      .circle-pulse-ring.ring-1 {
        width: calc(var(--hub-size) * 1.15) !important;
        height: calc(var(--hub-size) * 1.15) !important;
      }
      .circle-pulse-ring.ring-2 {
        width: calc(var(--hub-size) * 1.32) !important;
        height: calc(var(--hub-size) * 1.32) !important;
      }
      .circle-hub-medallion {
        width: var(--hub-size) !important;
        height: var(--hub-size) !important;
        border-radius: 50% !important;
        background: radial-gradient(circle at center, #281F17 0%, #15100C 100%) !important;
        border: 2px solid rgba(226, 183, 104, 0.75) !important;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4), 0 0 0 4px rgba(226, 183, 104, 0.16) !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        text-align: center !important;
      }
      .circle-hub-medallion .circle-hub-title,
      .saga-dell-anima-wrapper .circle-hub-title {
        font-family: var(--font-primary) !important;
        font-size: clamp(0.68rem, 2.2vw, 0.78rem) !important;
        font-weight: 800 !important;
        letter-spacing: 0.04em !important;
        line-height: 1.15 !important;
        text-transform: uppercase !important;
        color: #F3CA7E !important;
        -webkit-text-fill-color: #F3CA7E !important;
        text-shadow: 0 0 10px rgba(243, 202, 126, 0.7), 0 0 20px rgba(226, 183, 104, 0.45), 0 2px 6px rgba(0, 0, 0, 0.95) !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto !important;
        padding: 0 !important;
        display: block !important;
        text-align: center !important;
        text-wrap: balance !important;
      }
      .phil-right-col .circle-nodes-orbit {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 100% !important;
        display: block !important;
        transform-origin: center center !important;
        transform: rotate(var(--wheel-rot, 0deg)) !important;
        transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1) !important;
        pointer-events: none !important;
        z-index: 2 !important;
      }
      .phil-right-col .circle-node-card {
        position: absolute !important;
        width: var(--card-size) !important;
        height: var(--card-size) !important;
        border-radius: 50% !important;
        background: radial-gradient(circle at 40% 35%, #FBF7F0 0%, #F4ECE2 100%) !important;
        border: 1.5px solid rgba(168, 137, 78, 0.35) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        transform: translate(-50%, -50%) rotate(var(--counter-rot, 0deg)) !important;
        transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease !important;
        pointer-events: auto !important;
        box-sizing: border-box !important;
        padding: 0 !important;
        box-shadow: 0 6px 18px rgba(50, 36, 22, 0.09), inset 0 0 14px rgba(255, 255, 255, 0.85) !important;
        overflow: hidden !important;
      }
      .phil-right-col .circle-node-card:hover,
      .phil-right-col .circle-node-card:active {
        transform: translate(-50%, -50%) rotate(var(--counter-rot, 0deg)) scale(1.08) !important;
        box-shadow: 0 10px 24px rgba(156, 122, 60, 0.3), 0 0 0 2px rgba(226, 183, 104, 0.65) !important;
        z-index: 10 !important;
      }
      .circle-node-card[data-node="1"] { top: calc(50% - var(--orbit-radius)) !important; left: 50% !important; }
      .circle-node-card[data-node="2"] { top: calc(50% - (var(--orbit-radius) * 0.5)) !important; left: calc(50% + (var(--orbit-radius) * 0.866)) !important; }
      .circle-node-card[data-node="3"] { top: calc(50% + (var(--orbit-radius) * 0.5)) !important; left: calc(50% + (var(--orbit-radius) * 0.866)) !important; }
      .circle-node-card[data-node="4"] { top: calc(50% + var(--orbit-radius)) !important; left: 50% !important; }
      .circle-node-card[data-node="5"] { top: calc(50% + (var(--orbit-radius) * 0.5)) !important; left: calc(50% - (var(--orbit-radius) * 0.866)) !important; }
      .circle-node-card[data-node="6"] { top: calc(50% - (var(--orbit-radius) * 0.5)) !important; left: calc(50% - (var(--orbit-radius) * 0.866)) !important; }
      .phil-right-col .circle-node-content {
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        padding: 8px 6px !important;
        box-sizing: border-box !important;
        margin: 0 auto !important;
      }
      .phil-right-col .circle-node-icon {
        width: clamp(14px, 3.8vw, 17px) !important;
        height: clamp(14px, 3.8vw, 17px) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 auto 3px !important;
        color: #8C6D37 !important;
      }
      .phil-right-col .circle-node-icon svg {
        width: 100% !important;
        height: 100% !important;
        stroke: currentColor !important;
      }
      .phil-right-col .circle-node-title {
        display: block !important;
        width: 100% !important;
        max-width: 88% !important;
        margin: 0 auto 3px !important;
        text-align: center !important;
        font-family: var(--font-primary) !important;
        font-size: clamp(0.56rem, 1.8vw, 0.68rem) !important;
        line-height: 1.18 !important;
        letter-spacing: 0.035em !important;
        font-weight: 800 !important;
        text-transform: uppercase !important;
        color: #231C18 !important;
        text-wrap: balance !important;
      }
      .phil-right-col .circle-node-desc {
        display: block !important;
        width: 100% !important;
        max-width: 86% !important;
        margin: 0 auto !important;
        text-align: center !important;
        font-family: 'Montserrat', sans-serif !important;
        font-size: clamp(0.44rem, 1.4vw, 0.52rem) !important;
        line-height: 1.25 !important;
        color: #382B20 !important;
        font-weight: 600 !important;
        text-wrap: balance !important;
      }
    }

    /* SANCTUARY PORTAL PREVIEWS (Quick Gateway Cards) */
    .portali-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.8rem;
      margin-top: 3rem;
    }
    @media (max-width: 900px) {
      .portali-grid { grid-template-columns: 1fr; }
    }
    .portale-card {
      background: #F3ECE2;
      border: 1px solid var(--border-gold);
      border-radius: var(--radius-lg);
      padding: 2.5rem 2rem;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
      position: relative;
      overflow: hidden;
      box-shadow: 0 8px 24px rgba(50, 36, 22, 0.05);
    }
    .portale-card:hover {
      transform: translateY(-6px);
      border-color: #B89758;
      box-shadow: 0 18px 42px -12px rgba(140, 109, 55, 0.24);
    }
    .portale-tag {
      font-size: 0.7rem;
      font-weight: 700;
      letter-spacing: 0.16em;
      text-transform: uppercase;
      color: var(--gold-primary);
      margin-bottom: 0.85rem;
      display: inline-block;
    }
    .portale-title {
      font-size: 1.25rem;
      color: #231C18;
      margin-bottom: 1rem;
      font-weight: 800;
      line-height: 1.3;
    }
    .portale-desc {
      font-size: 0.9rem;
      color: var(--text-muted);
      line-height: 1.65;
      margin-bottom: 1.8rem;
      flex-grow: 1;
    }
    .portale-link-btn {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      color: #644B1F;
      font-weight: 700;
      font-size: 0.8rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      text-decoration: none;
      transition: var(--transition-smooth);
    }
    .portale-link-btn:hover {
      color: #9C7A3C;
      gap: 0.8rem;
    }

    /* CALENDLY POPUP MODAL (Clean, Sacred, Non-disruptive) */
    .calendly-modal-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      background: rgba(14, 12, 10, 0.82);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      z-index: 999999;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 1.5rem;
      box-sizing: border-box;
      opacity: 0;
      transition: opacity 0.3s ease;
    }
    .calendly-modal-overlay.is-active {
      display: flex;
      opacity: 1;
    }
    .calendly-modal-window {
      background: #EAE0D2;
      border: 1px solid var(--border-gold-strong);
      border-radius: var(--radius-lg);
      box-shadow: 0 25px 60px rgba(0, 0, 0, 0.55), 0 0 30px rgba(184, 151, 88, 0.25);
      width: 100%;
      max-width: 960px;
      height: 90vh;
      max-height: 760px;
      display: flex;
      flex-direction: column;
      overflow: hidden;
      position: relative;
    }
    .calendly-modal-header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 1.1rem 1.6rem;
      background: #FFFFFF;
      border-bottom: 1px solid var(--border-gold);
    }
    .calendly-modal-title {
      font-size: 0.95rem;
      font-weight: 700;
      color: #644B1F;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      display: flex;
      align-items: center;
      gap: 0.6rem;
    }
    .calendly-close-btn {
      background: transparent;
      border: 1px solid var(--border-gold);
      color: var(--text-alabaster);
      width: 34px;
      height: 34px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      transition: var(--transition-smooth);
    }
    .calendly-close-btn:hover {
      background: var(--gold-primary);
      color: #FFFFFF;
      border-color: var(--gold-primary);
    }
    .calendly-iframe-wrap {
      flex: 1;
      width: 100%;
      height: 100%;
      position: relative;
      background: #EAE0D2;
    }
    .calendly-iframe-wrap iframe {
      width: 100%;
      height: 100%;
      border: none;
    }

    /* SUBPAGE HERO (No hero photo background - clean, serene Tuscan sanctuary aesthetic) */
    .subpage-hero {
      min-height: auto !important;
      padding-top: calc(76px + clamp(2.5rem, 5.5vh, 4.5rem)) !important;
      padding-bottom: clamp(2.5rem, 4.5vh, 4.5rem) !important;
      background: linear-gradient(180deg, rgba(234, 224, 210, 0.96) 0%, rgba(234, 224, 210, 0.98) 100%) !important;
      position: relative;
      z-index: 5 !important;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      box-sizing: border-box !important;
      border-bottom: none;
    }
    .subpage-hero .hero-headline {
      color: #231C18 !important;
      text-shadow: none !important;
      margin-bottom: 1rem !important;
    }
    .subpage-hero .hero-headline span {
      color: #231C18 !important;
      text-shadow: none !important;
    }
    .subpage-hero .hero-subtext {
      color: #524339 !important;
      text-shadow: none !important;
      font-weight: 400 !important;
    }

    
    /* ==========================================================================
       HEADER DUAL SYSTEM: TRANSPARENT ONLY ON INDEX (PRE-STICKY)
       ========================================================================== */

    /* Default transition for header */
    header,
    .saga-dell-anima-wrapper header {
      transition: background 0.35s ease, backdrop-filter 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease !important;
    }

    /* 1) HOME PAGE ONLY: Transparent before sticky/floating */
    body.page-home header,
    body.page-home .saga-dell-anima-wrapper header {
      background: rgba(12, 10, 8, 0.30) !important;
      backdrop-filter: blur(16px) !important;
      -webkit-backdrop-filter: blur(16px) !important;
      border-bottom: 1px solid rgba(168, 137, 78, 0.35) !important;
      box-shadow: 0 4px 20px rgba(44, 30, 14, 0.08) !important;
    }

    body.page-home header .nav-link,
    body.page-home .saga-dell-anima-wrapper header .nav-link {
      color: rgba(255, 255, 255, 0.92) !important;
      text-shadow: 0 2px 10px rgba(0, 0, 0, 0.75) !important;
      font-weight: 700 !important;
      opacity: 1 !important;
    }

    body.page-home header .nav-link:hover,
    body.page-home .saga-dell-anima-wrapper header .nav-link:hover,
    body.page-home header .nav-link.active,
    body.page-home .saga-dell-anima-wrapper header .nav-link.active {
      color: #E2B768 !important;
      text-shadow: 0 2px 12px rgba(0, 0, 0, 0.85) !important;
    }

    body.page-home header .nav-link.active::after,
    body.page-home .saga-dell-anima-wrapper header .nav-link.active::after {
      background: #E2B768 !important;
      box-shadow: 0 0 8px rgba(226, 183, 104, 0.6) !important;
    }

    body.page-home header .lang-switcher,
    body.page-home .saga-dell-anima-wrapper header .lang-switcher {
      background: rgba(0, 0, 0, 0.35) !important;
      border: 1px solid rgba(255, 255, 255, 0.25) !important;
    }

    body.page-home header .lang-btn,
    body.page-home .saga-dell-anima-wrapper header .lang-btn {
      color: rgba(255, 255, 255, 0.9) !important;
      text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6) !important;
    }

    body.page-home header .lang-btn.active,
    body.page-home .saga-dell-anima-wrapper header .lang-btn.active {
      background: #8C6D37 !important;
      color: #FFFFFF !important;
    }

    body.page-home header .mobile-menu-btn,
    body.page-home .saga-dell-anima-wrapper header .mobile-menu-btn {
      color: #E2B768 !important;
    }

    /* 2) HOME PAGE: When scrolled / sticky (is-floating) */
    body.page-home header.is-floating,
    body.page-home .saga-dell-anima-wrapper header.is-floating {
      background: rgba(234, 224, 210, 0.98) !important;
      backdrop-filter: blur(18px) !important;
      -webkit-backdrop-filter: blur(18px) !important;
      border-bottom: 1px solid rgba(140, 109, 55, 0.35) !important;
      box-shadow: 0 6px 24px rgba(44, 30, 14, 0.09) !important;
    }

    body.page-home header.is-floating .nav-link,
    body.page-home .saga-dell-anima-wrapper header.is-floating .nav-link {
      color: #E2B768 !important;
      text-shadow: none !important;
    }

    body.page-home header.is-floating .nav-link:hover,
    body.page-home .saga-dell-anima-wrapper header.is-floating .nav-link:hover,
    body.page-home header.is-floating .nav-link.active,
    body.page-home .saga-dell-anima-wrapper header.is-floating .nav-link.active {
      color: #8C6D37 !important;
      text-shadow: none !important;
    }

    body.page-home header.is-floating .nav-link.active::after,
    body.page-home .saga-dell-anima-wrapper header.is-floating .nav-link.active::after {
      background: #8C6D37 !important;
      box-shadow: none !important;
    }

    body.page-home header.is-floating .lang-switcher,
    body.page-home .saga-dell-anima-wrapper header.is-floating .lang-switcher {
      background: rgba(140, 109, 55, 0.12) !important;
      border: 1px solid rgba(140, 109, 55, 0.35) !important;
    }

    body.page-home header.is-floating .lang-btn,
    body.page-home .saga-dell-anima-wrapper header.is-floating .lang-btn {
      color: #E2B768 !important;
      text-shadow: none !important;
    }

    body.page-home header.is-floating .lang-btn.active,
    body.page-home .saga-dell-anima-wrapper header.is-floating .lang-btn.active {
      background: #8C6D37 !important;
      color: #FFFFFF !important;
    }

    body.page-home header.is-floating .mobile-menu-btn,
    body.page-home .saga-dell-anima-wrapper header.is-floating .mobile-menu-btn {
      color: #8C6D37 !important;
    }

    /* 3) SUBPAGES (NOT HOME): Always frosted parchment with crisp high contrast text */
    body:not(.page-home) header,
    body:not(.page-home) .saga-dell-anima-wrapper header {
      background: rgba(12, 10, 8, 0.30) !important;
      backdrop-filter: blur(16px) !important;
      -webkit-backdrop-filter: blur(16px) !important;
      border-bottom: 1px solid rgba(168, 137, 78, 0.35) !important;
      box-shadow: 0 2px 18px rgba(44, 30, 14, 0.06) !important;
    }

    body:not(.page-home) header.is-floating,
    body:not(.page-home) .saga-dell-anima-wrapper header.is-floating {
      background: rgba(10, 8, 7, 0.96) !important;
      backdrop-filter: blur(18px) !important;
      -webkit-backdrop-filter: blur(18px) !important;
      border-bottom: 1px solid rgba(168, 137, 78, 0.35) !important;
      box-shadow: 0 4px 24px rgba(44, 30, 14, 0.09) !important;
    }

    body:not(.page-home) header .nav-link,
    body:not(.page-home) .saga-dell-anima-wrapper header .nav-link {
      color: #382B22 !important;
      font-weight: 700 !important;
      font-size: 0.76rem !important;
      letter-spacing: 0.16em !important;
      text-transform: uppercase !important;
      text-shadow: none !important;
      opacity: 1 !important;
    }

    body:not(.page-home) header .nav-link:hover,
    body:not(.page-home) .saga-dell-anima-wrapper header .nav-link:hover,
    body:not(.page-home) header .nav-link.active,
    body:not(.page-home) .saga-dell-anima-wrapper header .nav-link.active {
      color: #8C6D37 !important;
    }

    body:not(.page-home) header .nav-link.active::after,
    body:not(.page-home) .saga-dell-anima-wrapper header .nav-link.active::after {
      background: #8C6D37 !important;
      height: 2px !important;
    }

    body:not(.page-home) header .lang-switcher,
    body:not(.page-home) .saga-dell-anima-wrapper header .lang-switcher {
      background: rgba(140, 109, 55, 0.12) !important;
      border: 1px solid rgba(140, 109, 55, 0.35) !important;
    }

    body:not(.page-home) header .lang-btn,
    body:not(.page-home) .saga-dell-anima-wrapper header .lang-btn {
      color: #382B22 !important;
      font-weight: 700 !important;
      text-shadow: none !important;
    }

    body:not(.page-home) header .lang-btn.active,
    body:not(.page-home) .saga-dell-anima-wrapper header .lang-btn.active {
      background: #8C6D37 !important;
      color: #FFFFFF !important;
    }

    body:not(.page-home) header .mobile-menu-btn,
    body:not(.page-home) .saga-dell-anima-wrapper header .mobile-menu-btn {
      color: #8C6D37 !important;
    }


    /* ==========================================================================
       TESTIMONIALS SECTION & ENHANCED GRAPHICS STYLES
       ========================================================================== */
    .testimonials-section {
      padding: 6.5rem 0;
      background: #EAE0D2;
      position: relative;
      overflow: hidden;
    }

    .testimonials-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 2rem;
      max-width: 1100px;
      margin: 3rem auto 0;
    }

    @media (max-width: 840px) {
      .testimonials-grid {
        grid-template-columns: 1fr;
      }
    }

    .testimonial-card {
      background: #F3ECE2;
      border: 1px solid var(--border-gold);
      border-radius: var(--radius-md);
      padding: 2.4rem;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      position: relative;
      box-shadow: 0 4px 20px rgba(50, 36, 22, 0.04);
      transition: var(--transition-smooth);
    }

    .testimonial-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 8px 30px rgba(140, 109, 55, 0.12);
      border-color: var(--border-gold-strong);
    }

    .testimonial-stars {
      color: var(--gold-primary);
      letter-spacing: 0.25em;
      font-size: 1rem;
      margin-bottom: 1.1rem;
      display: flex;
      align-items: center;
      gap: 0.2rem;
    }

    .testimonial-quote {
      font-family: var(--font-secondary);
      font-size: 1.02rem;
      line-height: 1.75;
      color: #382B22;
      font-style: italic;
      margin-bottom: 1.8rem;
      position: relative;
    }

    .testimonial-quote::before {
      content: '“';
      font-family: var(--font-primary);
      font-size: 3rem;
      line-height: 0;
      position: absolute;
      top: -0.8rem;
      left: -1rem;
      color: rgba(140, 109, 55, 0.18);
      font-style: normal;
    }

    .testimonial-author-wrap {
      display: flex;
      align-items: center;
      justify-content: space-between;
      border-top: 1px solid rgba(140, 109, 55, 0.18);
      padding-top: 1.2rem;
      flex-wrap: wrap;
      gap: 0.8rem;
    }

    .testimonial-author-info {
      display: flex;
      align-items: center;
      gap: 0.9rem;
    }

    .testimonial-avatar {
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: linear-gradient(135deg, #EAE0D2 0%, #E8DFD3 100%);
      border: 1.5px solid var(--gold-primary);
      display: flex;
      align-items: center;
      justify-content: center;
      font-family: var(--font-primary);
      font-weight: 800;
      color: #644B1F;
      font-size: 0.92rem;
      letter-spacing: 0.05em;
      flex-shrink: 0;
    }

    .testimonial-meta strong {
      display: block;
      color: #231C18;
      font-size: 0.95rem;
      font-weight: 700;
    }

    .testimonial-meta span {
      display: block;
      font-size: 0.78rem;
      color: var(--gold-primary);
      font-weight: 600;
      letter-spacing: 0.04em;
    }

    .testimonial-tag {
      font-size: 0.7rem;
      padding: 0.3rem 0.75rem;
      border-radius: 9999px;
      background: rgba(140, 109, 55, 0.09);
      color: #644B1F;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.08em;
    }

    /* Photo gallery and card visual thumbnails */
    .portal-thumb-img {
      width: 100%;
      height: 180px;
      object-fit: cover;
      border-radius: var(--radius-sm);
      margin-bottom: 1.2rem;
      border: 1px solid rgba(140, 109, 55, 0.2);
      transition: transform 0.4s ease;
    }
    .portale-card:hover .portal-thumb-img {
      transform: scale(1.02);
    }


    /* ==========================================================================
       LANGUAGE DROPDOWN TOGGLE (EXACT SCREENSHOT REPLICA - NOTRANSLATE SAFE)
       ========================================================================== */
    .lang-dropdown-wrapper {
      position: relative;
      display: inline-flex;
      align-items: center;
      user-select: none;
      z-index: 1200;
    }

    .lang-pill-btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 0.35rem;
      background: #FFFFFF !important;
      border: 1px solid #CCCCCC !important;
      border-radius: 9999px !important;
      padding: 3px 9px 3px 8px !important;
      cursor: pointer;
      color: #333333 !important;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
      font-size: 0.8rem !important;
      font-weight: 600 !important;
      letter-spacing: 0.03em !important;
      line-height: 1 !important;
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
      transition: border-color 0.15s ease;
    }

    .lang-pill-btn:hover {
      border-color: #888888 !important;
    }

    .lang-chevron {
      width: 10px;
      height: 6px;
      display: inline-block;
      flex-shrink: 0;
      transition: transform 0.2s ease;
      transform-origin: center center;
    }

    .lang-dropdown-wrapper.open .lang-chevron {
      transform: rotate(180deg);
    }

    .lang-current-code {
      display: inline-block;
      color: #333333 !important;
      font-weight: 600 !important;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif !important;
    }

    /* Clean rectangular dropdown menu matching screenshot */
    .lang-menu {
      display: none;
      position: absolute;
      top: calc(100% + 3px);
      left: 50%;
      transform: translateX(-50%);
      width: 48px;
      background: #FFFFFF;
      border: 1px solid #777777;
      border-radius: 2px;
      box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
      padding: 0;
      margin: 0;
      list-style: none;
      z-index: 1300;
    }

    .lang-dropdown-wrapper.open .lang-menu {
      display: block;
    }

    .lang-opt {
      display: block;
      width: 100%;
      box-sizing: border-box;
      border: none;
      background: #FFFFFF;
      color: #111111;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
      font-size: 0.84rem;
      font-weight: 500;
      line-height: 1;
      padding: 4px 0;
      text-align: center;
      cursor: pointer;
      letter-spacing: 0.04em;
      transition: background 0.1s ease, color 0.1s ease;
    }

    .lang-opt:hover {
      background: #F0F4FA;
      color: #000000;
    }

    /* Active language: vivid blue fill with white text */
    .lang-opt.active {
      background: #1B6CEB !important;
      color: #FFFFFF !important;
      font-weight: 700 !important;
    }

    /* Header transparency & scrolling states */
    body.page-home header .lang-pill-btn,
    body.page-home header.is-floating .lang-pill-btn,
    body:not(.page-home) header .lang-pill-btn {
      background: #FFFFFF !important;
      border: 1px solid #CCCCCC !important;
      color: #333333 !important;
    }


    
    /* ==========================================================================
       SYMMETRICAL 3-COLUMN HEADER BAR
       ========================================================================== */
    .nav-fullwidth-wrapper {
      width: 100%;
      padding: 0 clamp(1.2rem, 3.5vw, 3.5rem);
      display: flex;
      align-items: center;
      justify-content: space-between;
      position: relative;
    }

    .header-left {
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: flex-start;
    }

    .header-center {
      flex: 0 0 auto;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
    }

    .header-right {
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 0.85rem;
    }

    .sidebar-toggle-btn {
      display: inline-flex;
      align-items: center;
      gap: 0.65rem;
      background: transparent;
      border: none;
      cursor: pointer;
      padding: 0.5rem 0.2rem;
      transition: var(--transition-smooth);
    }

    .sidebar-burger-icon {
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 5px;
      width: 22px;
      height: 16px;
    }

    .burger-line {
      display: block;
      height: 1.8px;
      width: 100%;
      background: currentColor;
      border-radius: 2px;
      transition: all 0.25s ease;
    }

    .burger-line.line-short {
      width: 70%;
    }

    .sidebar-toggle-btn:hover .burger-line.line-short {
      width: 100%;
    }

    .sidebar-toggle-label {
      font-family: var(--font-primary);
      font-size: 0.78rem;
      font-weight: 700;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: currentColor;
    }

    body.page-home header .sidebar-toggle-btn {
      color: #FFFFFF !important;
      text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45) !important;
    }
    body.page-home header .sidebar-toggle-btn:hover {
      color: #8C6D37 !important;
    }
    body.page-home header.is-floating .sidebar-toggle-btn,
    body:not(.page-home) header .sidebar-toggle-btn {
      color: #382B22 !important;
      text-shadow: none !important;
    }
    body.page-home header.is-floating .sidebar-toggle-btn:hover,
    body:not(.page-home) header .sidebar-toggle-btn:hover {
      color: #8C6D37 !important;
    }

    @media (max-width: 768px) {
      .sidebar-toggle-label {
        display: none;
      }
      .sidebar-toggle-btn {
        padding: 0.4rem;
      }
      .brand-logo-img {
        height: clamp(42px, 10.5vw, 51px);
        max-width: clamp(158px, 42vw, 195px);
      }
      .header-right {
        gap: 0.5rem;
      }
      .nav-cta-btn span {
        display: none;
      }
      .nav-cta-btn {
        padding: 0.45rem 0.65rem;
      }
    }

/* ==========================================================================
       LIGHT TUSCAN PARCHMENT SIDEBAR (CALMING & LUXURIOUS)
       ========================================================================== */
    .sidebar-backdrop {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      background: rgba(35, 27, 20, 0.45);
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      opacity: 0;
      visibility: hidden;
      transition: opacity 0.35s ease, visibility 0.35s ease;
      z-index: 100001 !important;
    }

    .sidebar-backdrop.is-open {
      opacity: 1;
      visibility: visible;
    }

    .sidebar-drawer {
      position: fixed;
      top: 0;
      left: 0;
      width: clamp(310px, 86vw, 390px);
      height: 100vh;
      background: #EAE0D2 !important;
      background-image: radial-gradient(circle at 10% 20%, rgba(226, 183, 104, 0.12) 0%, transparent 50%),
                        linear-gradient(180deg, #FFFFFF 0%, #EAE0D2 100%) !important;
      border-right: 1px solid rgba(140, 109, 55, 0.25) !important;
      box-shadow: 16px 0 45px rgba(56, 43, 34, 0.18) !important;
      transform: translateX(-100%);
      transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
      z-index: 100002 !important;
      display: flex;
      flex-direction: column;
      overflow-y: auto;
      overscroll-behavior: contain;
    }

    .sidebar-drawer.is-open {
      transform: translateX(0);
    }

    .sidebar-inner {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      min-height: 100%;
      padding: clamp(1.8rem, 4vw, 2.5rem);
      box-sizing: border-box;
    }

    .sidebar-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding-bottom: 1.6rem;
      border-bottom: 1px solid rgba(140, 109, 55, 0.2);
    }

    .sidebar-brand {
      display: flex;
      align-items: center;
      text-decoration: none;
    }

    .sidebar-logo-img {
      height: 42px;
      width: auto;
      max-width: 170px;
      object-fit: contain;
      display: block;
    }

    .sidebar-close-btn {
      background: #FFFFFF;
      border: 1px solid rgba(140, 109, 55, 0.3);
      width: 36px;
      height: 36px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #382B22;
      cursor: pointer;
      box-shadow: 0 2px 6px rgba(56, 43, 34, 0.08);
      transition: all 0.2s ease;
    }

    .sidebar-close-btn:hover {
      background: #EAE0D2;
      border-color: #8C6D37;
      color: #8C6D37;
      transform: rotate(90deg);
    }

    /* Clean Unnumbered Navigation */
    .sidebar-nav {
      margin: 2.5rem 0;
      flex: 1;
    }

    .sidebar-nav-list {
      list-style: none;
      padding: 0;
      margin: 0;
      display: flex;
      flex-direction: column;
      gap: 1.4rem;
    }

    .sidebar-nav-item {
      position: relative;
    }

    .sidebar-nav-link {
      display: inline-flex;
      align-items: center;
      text-decoration: none;
      padding: 0.4rem 0;
      transition: all 0.2s ease;
    }

    .sidebar-nav-text {
      font-family: 'Cinzel Decorative', Georgia, serif;
      font-size: 1.28rem;
      letter-spacing: 0.06em;
      color: #382B22;
      transition: color 0.2s ease, transform 0.2s ease;
    }

    .sidebar-nav-link:hover .sidebar-nav-text {
      color: #8C6D37;
      transform: translateX(6px);
    }

    .sidebar-nav-link.active .sidebar-nav-text {
      color: #8C6D37;
      font-weight: 700;
      text-decoration: underline;
      text-decoration-color: rgba(140, 109, 55, 0.45);
      text-underline-offset: 6px;
    }

    /* Sidebar Footer */
    .sidebar-bottom {
      padding-top: 1.8rem;
      border-top: 1px solid rgba(140, 109, 55, 0.2);
      display: flex;
      flex-direction: column;
      gap: 1.2rem;
    }

    .sidebar-cta-btn {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 0.55rem;
      width: 100%;
      padding: 0.85rem 1.2rem;
      border-radius: 9999px;
      background: linear-gradient(135deg, #9C7A3C 0%, #755420 100%);
      color: #FFFFFF !important;
      text-decoration: none;
      font-family: var(--font-primary);
      font-size: 0.85rem;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      box-shadow: 0 4px 14px rgba(140, 109, 55, 0.3);
      transition: all 0.2s ease;
    }

    .sidebar-cta-btn:hover {
      background: linear-gradient(135deg, #A8894E 0%, #8A6428 100%);
      transform: scale(1.05);
      box-shadow: 0 6px 18px rgba(140, 109, 55, 0.45);
    }

    .sidebar-meta {
      display: flex;
      flex-direction: column;
      gap: 0.15rem;
    }

    .sidebar-meta-loc {
      font-family: var(--font-primary);
      font-size: 0.8rem;
      color: #554433;
      margin: 0;
    }

    .sidebar-meta-sub {
      font-family: var(--font-primary);
      font-size: 0.72rem;
      color: #8C6D37;
      letter-spacing: 0.08em;
      margin: 0;
      text-transform: uppercase;
    }

    .sidebar-socials {
      display: flex;
      align-items: center;
      gap: 0.75rem;
    }

    .sidebar-social-link {
      width: 34px;
      height: 34px;
      border-radius: 50%;
      border: 1px solid rgba(140, 109, 55, 0.3);
      background: #FFFFFF;
      display: flex;
      align-items: center;
      justify-content: center;
      color: #6E5A44;
      text-decoration: none;
      transition: all 0.2s ease;
    }

    .sidebar-social-link:hover {
      border-color: #8C6D37;
      color: #8C6D37;
      background: #EAE0D2;
    }


    


    /* ==========================================================================
       FROSTED OBSIDIAN HEADER (ALL PAGES & STATES)
       ========================================================================== */
    header,
    body.page-home header,
    body:not(.page-home) header,
    .saga-dell-anima-wrapper header {
      background: rgba(12, 10, 8, 0.30) !important;
      backdrop-filter: blur(16px) !important;
      -webkit-backdrop-filter: blur(16px) !important;
      border-bottom: 1px solid rgba(168, 137, 78, 0.32) !important;
      box-shadow: 0 4px 25px rgba(0, 0, 0, 0.45) !important;
      transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease !important;
    }

    header.is-floating,
    body.page-home header.is-floating,
    body:not(.page-home) header.is-floating,
    .saga-dell-anima-wrapper header.is-floating {
      background: rgba(234, 224, 210, 0.98) !important;
      backdrop-filter: blur(18px) !important;
      -webkit-backdrop-filter: blur(18px) !important;
      border-bottom: 1px solid rgba(140, 109, 55, 0.35) !important;
      box-shadow: 0 6px 24px rgba(44, 30, 14, 0.09) !important;
    }

    /* Sidebar Toggle Button in Frosted Obsidian Header */
    .sidebar-toggle-btn,
    body header .sidebar-toggle-btn,
    body.page-home header .sidebar-toggle-btn,
    body:not(.page-home) header .sidebar-toggle-btn,
    body.page-home header:not(.is-floating) .sidebar-toggle-btn {
      color: #FFFFFF !important;
      text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45) !important;
    }

    .sidebar-toggle-btn:hover,
    body header .sidebar-toggle-btn:hover,
    body.page-home header .sidebar-toggle-btn:hover,
    body:not(.page-home) header .sidebar-toggle-btn:hover,
    body.page-home header.is-floating .sidebar-toggle-btn:hover,
    body:not(.page-home) header.is-floating .sidebar-toggle-btn:hover {
      color: #E2B768 !important;
      text-shadow: 0 0 8px rgba(226, 183, 104, 0.6) !important;
    }

    .sidebar-toggle-label {
      color: currentColor !important;
    }

    .burger-line {
      background: currentColor !important;
    }


    /* ==========================================================================
       HIGH CONTRAST COLLECTIVE RIPPLE BANNER TYPOGRAPHY
       ========================================================================== */
    .saga-dell-anima-wrapper .collective-ripple-banner {
      background: linear-gradient(135deg, #1F1914 0%, #120E0B 100%) !important;
      border: 1px solid rgba(226, 183, 104, 0.45) !important;
      box-shadow: 0 16px 45px rgba(0, 0, 0, 0.45), 0 0 30px rgba(226, 183, 104, 0.08) !important;
      position: relative !important;
      overflow: hidden !important;
    }

    .saga-dell-anima-wrapper .collective-ripple-banner p,
    .saga-dell-anima-wrapper .collective-ripple-banner .ripple-text-lead {
      color: #F7F3EE !important;
      font-size: 1.15rem !important;
      line-height: 1.8 !important;
      font-weight: 400 !important;
      max-width: 820px !important;
      margin: 0 auto 2.2rem !important;
      text-shadow: 0 2px 8px rgba(0, 0, 0, 0.9) !important;
      opacity: 1 !important;
    }

    .saga-dell-anima-wrapper .collective-ripple-banner h3,
    .saga-dell-anima-wrapper .collective-ripple-banner .ripple-climax {
      color: #F5CE7A !important;
      font-family: var(--font-primary) !important;
      font-size: clamp(1.4rem, 2.8vw, 2.2rem) !important;
      font-weight: 800 !important;
      letter-spacing: 0.12em !important;
      text-transform: uppercase !important;
      margin-bottom: 0.85rem !important;
      text-shadow: 0 2px 14px rgba(0, 0, 0, 0.95), 0 0 24px rgba(226, 183, 104, 0.35) !important;
    }

    .saga-dell-anima-wrapper .collective-ripple-banner .ripple-cadence {
      color: #E2B768 !important;
      font-size: 1.05rem !important;
      letter-spacing: 0.22em !important;
      text-transform: uppercase !important;
      font-weight: 700 !important;
      text-shadow: 0 1px 6px rgba(0, 0, 0, 0.8) !important;
      margin-top: 0.5rem !important;
    }

    .saga-dell-anima-wrapper .collective-ripple-banner .ripple-divider {
      color: #E2B768 !important;
      margin-bottom: 2rem !important;
    }

    .saga-dell-anima-wrapper .collective-ripple-banner .ripple-divider span {
      background: rgba(226, 183, 104, 0.6) !important;
    }


    /* ==========================================================================
       SUBPAGE TUSCAN PARCHMENT FROSTED HEADER (OVERRIDE OBSIDIAN ON SUBPAGES)
       ========================================================================== */
    body.page-subpage header,
    body:not(.page-home) header,
    body.page-subpage .saga-dell-anima-wrapper header,
    body:not(.page-home) .saga-dell-anima-wrapper header {
      background: rgba(234, 224, 210, 0.95) !important;
      backdrop-filter: blur(16px) !important;
      -webkit-backdrop-filter: blur(16px) !important;
      border-bottom: 1px solid rgba(140, 109, 55, 0.25) !important;
      box-shadow: 0 4px 20px rgba(44, 30, 14, 0.06) !important;
    }

    body.page-subpage header.is-floating,
    body:not(.page-home) header.is-floating,
    body.page-subpage .saga-dell-anima-wrapper header.is-floating,
    body:not(.page-home) .saga-dell-anima-wrapper header.is-floating {
      background: rgba(234, 224, 210, 0.98) !important;
      backdrop-filter: blur(18px) !important;
      -webkit-backdrop-filter: blur(18px) !important;
      border-bottom: 1px solid rgba(140, 109, 55, 0.35) !important;
      box-shadow: 0 6px 24px rgba(44, 30, 14, 0.09) !important;
    }

    /* Subpage Menu Button in Deep Tuscan Charcoal */
    body.page-subpage header .sidebar-toggle-btn,
    body:not(.page-home) header .sidebar-toggle-btn,
    body.page-subpage .saga-dell-anima-wrapper header .sidebar-toggle-btn,
    body:not(.page-home) .saga-dell-anima-wrapper header .sidebar-toggle-btn,
    body.page-subpage header.is-floating .sidebar-toggle-btn,
    body:not(.page-home) header.is-floating .sidebar-toggle-btn {
      color: #382B22 !important;
      text-shadow: none !important;
    }

    body.page-subpage header .sidebar-toggle-btn:hover,
    body:not(.page-home) header .sidebar-toggle-btn:hover,
    body.page-subpage .saga-dell-anima-wrapper header .sidebar-toggle-btn:hover,
    body:not(.page-home) .saga-dell-anima-wrapper header .sidebar-toggle-btn:hover,
    body.page-subpage header.is-floating .sidebar-toggle-btn:hover,
    body:not(.page-home) header.is-floating .sidebar-toggle-btn:hover {
      color: #8C6D37 !important;
    }


    /* Header Logo Contrast: High contrast Tuscan bronze on parchment for Index floating & all subpages */
    body.page-home header.is-floating .brand-logo-img,
    body.page-subpage header .brand-logo-img,
    body:not(.page-home) header .brand-logo-img {
      filter: drop-shadow(0 1px 2px rgba(44, 30, 14, 0.15)) !important;
    }


    /* ==========================================================================
       DEFINITIVE FLOATING STICKY HEADER MENU BUTTON COLOR (DEEP TUSCAN CHARCOAL)
       ========================================================================== */
    header.is-floating .sidebar-toggle-btn,
    header.is-floating .sidebar-toggle-label,
    body.page-home header.is-floating .sidebar-toggle-btn,
    body.page-home .saga-dell-anima-wrapper header.is-floating .sidebar-toggle-btn,
    body.page-subpage header.is-floating .sidebar-toggle-btn,
    body.page-subpage .saga-dell-anima-wrapper header.is-floating .sidebar-toggle-btn,
    body:not(.page-home) header.is-floating .sidebar-toggle-btn,
    body:not(.page-home) .saga-dell-anima-wrapper header.is-floating .sidebar-toggle-btn {
      color: #382B22 !important;
      text-shadow: none !important;
    }

    header.is-floating .sidebar-toggle-btn .burger-line,
    body.page-home header.is-floating .sidebar-toggle-btn .burger-line {
      background-color: #382B22 !important;
    }

    header.is-floating .sidebar-toggle-btn:hover,
    body.page-home header.is-floating .sidebar-toggle-btn:hover,
    body.page-home .saga-dell-anima-wrapper header.is-floating .sidebar-toggle-btn:hover,
    body.page-subpage header.is-floating .sidebar-toggle-btn:hover,
    body.page-subpage .saga-dell-anima-wrapper header.is-floating .sidebar-toggle-btn:hover,
    body:not(.page-home) header.is-floating .sidebar-toggle-btn:hover,
    body:not(.page-home) .saga-dell-anima-wrapper header.is-floating .sidebar-toggle-btn:hover {
      color: #8C6D37 !important;
      text-shadow: none !important;
    }

    header.is-floating .sidebar-toggle-btn:hover .burger-line,
    body.page-home header.is-floating .sidebar-toggle-btn:hover .burger-line {
      background-color: #8C6D37 !important;
    }

    /* ==========================================================================
       REVIEWS BENTO GRID & PRECISE OVERLAY TYPOGRAPHY
       ========================================================================== */
    #testimonianze .container {
      width: 95% !important;
      max-width: min(102.5rem, 94vw) !important;
      margin: 0 auto !important;
      padding: 0 clamp(1rem, 2vw, 1.5rem) !important;
    }

    /* ==========================================================================
       TESTIMONIALS 2-CARD SLICK CAROUSEL
       ========================================================================== */
    .reviews-carousel-wrapper {
      position: relative;
      width: 100%;
      max-width: min(96rem, 92vw);
      margin: clamp(2rem, 3.5vh, 3.5rem) auto 0;
      padding: 0 clamp(1rem, 3vw, 4.5rem);
      box-sizing: border-box;
    }

    .reviews-carousel-track-container {
      overflow: hidden;
      width: 100%;
      border-radius: 26px;
    }

    .reviews-carousel-track {
      display: flex;
      gap: 2.2rem;
      transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
      will-change: transform;
    }

    .reviews-carousel-track .bento-review-card {
      flex: 0 0 calc((100% - 2.2rem) / 2);
      max-width: calc((100% - 2.2rem) / 2);
      box-sizing: border-box;
      position: relative;
      border-radius: 24px;
      overflow: hidden;
      box-shadow: 0 10px 28px rgba(50, 36, 22, 0.12), 0 0 0 1px rgba(168, 137, 78, 0.35);
      background: #140E0A;
      transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, border-color 0.4s ease;
    }

    /* Hover effects removed per user request */
    .reviews-carousel-track .bento-review-card:hover {
      transform: none;
      box-shadow: 0 10px 28px rgba(50, 36, 22, 0.12), 0 0 0 1px rgba(168, 137, 78, 0.35);
    }

    .carousel-btn {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 52px;
      height: 52px;
      border-radius: 50%;
      background: rgba(20, 14, 10, 0.88);
      border: 1px solid rgba(226, 183, 104, 0.45);
      color: #E2B768;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      z-index: 10;
      transition: all 0.3s ease;
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
    }

    .carousel-btn:hover:not(:disabled) {
      background: rgba(226, 183, 104, 0.2);
      border-color: #F5D08A;
      color: #FAF5ED;
      transform: translateY(-50%) scale(1.08);
      box-shadow: 0 12px 30px rgba(0, 0, 0, 0.8), 0 0 16px rgba(226, 183, 104, 0.4);
    }

    .carousel-btn:disabled {
      opacity: 0.25;
      cursor: not-allowed;
    }

    .carousel-btn.prev {
      left: 0.6rem;
    }

    .carousel-btn.next {
      right: 0.6rem;
    }

    .carousel-dots-nav {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 0.75rem;
      margin-top: 2.2rem;
    }

    .carousel-dot {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: rgba(226, 183, 104, 0.3);
      border: 1px solid rgba(226, 183, 104, 0.5);
      cursor: pointer;
      transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1);
      padding: 0;
    }

    .carousel-dot.active {
      width: 32px;
      border-radius: 6px;
      background: #E2B768;
      border-color: #FFE6A8;
      box-shadow: 0 0 12px rgba(226, 183, 104, 0.6);
    }

    .bento-review-inner {
      position: relative;
      width: 100%;
      aspect-ratio: 1 / 1;
      max-height: 960px;
    }

    .bento-bg-img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      pointer-events: none;
      user-select: none;
    }

    /* CARD 1: Overlay Text on Right - Shifted a bit more to the right, safely clear of feather */
    .saga-dell-anima-wrapper .bento-review-card .bento-text-overlay,
    .bento-review-card .bento-text-overlay {
      position: absolute;
      top: 4.8%;
      bottom: 4.8%;
      left: 54.5%;
      right: 10.3%;
      width: auto;
      height: auto;
      padding: 0;
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      gap: 0.42rem;
      z-index: 2;
      overflow: hidden;
    }

    .saga-dell-anima-wrapper .bento-review-card .bento-title,
    .bento-review-card .bento-title {
      font-family: 'Cormorant Garamond', Georgia, serif !important;
      font-size: clamp(0.92rem, 1.15vw, 1.2rem) !important;
      font-weight: 600 !important;
      font-style: italic !important;
      text-transform: none !important;
      letter-spacing: 0.015em !important;
      color: #F5D08A !important;
      line-height: 1.22 !important;
      margin: 0 !important;
      text-shadow: 0 2px 10px rgba(0, 0, 0, 0.95), 0 0 20px rgba(245, 208, 138, 0.35) !important;
    }

    .saga-dell-anima-wrapper .bento-review-card .bento-body,
    .bento-review-card .bento-body {
      display: flex;
      flex-direction: column;
      gap: 0.32rem;
      flex: 0 1 auto;
      justify-content: flex-start;
    }

    .saga-dell-anima-wrapper .bento-review-card .bento-body p,
    .bento-review-card .bento-body p {
      font-family: 'Montserrat', sans-serif !important;
      font-size: clamp(0.52rem, 0.65vw, 0.72rem) !important;
      font-weight: 300 !important;
      font-style: normal !important;
      text-transform: none !important;
      letter-spacing: 0.012em !important;
      line-height: 1.3 !important;
      color: #FAF5ED !important;
      margin: 0 !important;
      text-shadow: 0 1px 4px rgba(0, 0, 0, 0.95) !important;
    }

    .saga-dell-anima-wrapper .bento-review-card .bento-signoff,
    .bento-review-card .bento-signoff {
      margin-top: auto;
      padding-top: 0.25rem;
      font-family: 'Cormorant Garamond', Georgia, serif !important;
      font-size: clamp(0.6rem, 0.72vw, 0.78rem) !important;
      font-style: italic !important;
      font-weight: 600 !important;
      text-transform: none !important;
      letter-spacing: 0.01em !important;
      color: #F1CA7E !important;
      line-height: 1.26 !important;
      text-shadow: 0 2px 8px rgba(0, 0, 0, 0.95) !important;
    }

    /* CARD 2: Overlay Text on Left - Kept exactly as perfected */
    .bento-overlay-left {
      left: 3.5% !important;
      right: 53.5% !important;
      top: 6% !important;
      bottom: 6% !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: flex-start !important;
      gap: 0.95rem !important;
    }

    /* CARD 3: Shifted left for Slide 3 */
    .saga-dell-anima-wrapper .bento-card-carla .bento-overlay-left,
    .bento-card-carla .bento-overlay-left {
      left: 1.8% !important;
      right: 55.2% !important;
    }

    /* CARD 4: Shifted a bit more to the left */
    .saga-dell-anima-wrapper .bento-card-federica .bento-overlay-left,
    .bento-card-federica .bento-overlay-left {
      left: 0.5% !important;
      right: 56.5% !important;
    }

    .bento-overlay-left .bento-title {
      font-family: 'Cormorant Garamond', Georgia, serif !important;
      font-size: clamp(1.2rem, 1.55vw, 1.6rem) !important;
      line-height: 1.2 !important;
      margin: 0 !important;
      color: #F5D08A !important;
      font-weight: 600 !important;
      font-style: italic !important;
    }

    .bento-overlay-left .bento-title-heart {
      font-family: 'Cormorant Garamond', Georgia, serif !important;
      font-size: 1.4rem !important;
      color: #E2B768 !important;
      display: block !important;
      line-height: 1 !important;
      margin-bottom: 0.25rem !important;
    }

    .bento-overlay-left .bento-body {
      display: flex !important;
      flex-direction: column !important;
      gap: 0.72rem !important;
      flex: 0 1 auto !important;
      justify-content: flex-start !important;
    }

    .bento-overlay-left .bento-body p {
      font-family: 'Montserrat', sans-serif !important;
      font-size: clamp(0.72rem, 0.85vw, 0.88rem) !important;
      line-height: 1.46 !important;
      margin: 0 !important;
    }

    .bento-overlay-left .bento-signoff {
      margin-top: auto !important;
      padding-top: 0.5rem !important;
    }

    /* CARD 3: Carla Testimonial Overlay */
    .saga-dell-anima-wrapper .bento-card-carla .bento-overlay-carla,
    .bento-card-carla .bento-overlay-carla {
      position: absolute;
      left: 5% !important;
      right: 48% !important;
      top: 5% !important;
      bottom: 4% !important;
      width: auto !important;
      height: auto !important;
      padding: 0 !important;
      display: flex !important;
      flex-direction: column !important;
      justify-content: flex-start !important;
      gap: 0.75rem !important;
      z-index: 2;
      overflow: hidden;
    }

    .bento-overlay-carla .bento-header-group {
      display: flex;
      flex-direction: column;
      gap: 0.15rem;
    }

    .bento-overlay-carla .bento-heart-flourish {
      color: #E2B768;
      display: block;
      margin-bottom: 0.15rem;
    }

    .saga-dell-anima-wrapper .bento-overlay-carla .bento-title-main,
    .bento-overlay-carla .bento-title-main {
      font-family: 'Cormorant Garamond', Georgia, serif !important;
      font-size: clamp(1.65rem, 2.2vw, 2.22rem) !important;
      font-weight: 500 !important;
      color: #FAF5ED !important;
      line-height: 1.05 !important;
      margin: 0 !important;
      letter-spacing: -0.01em !important;
      text-shadow: 0 2px 10px rgba(0, 0, 0, 0.95) !important;
    }

    .saga-dell-anima-wrapper .bento-overlay-carla .bento-subtitle-italic,
    .bento-overlay-carla .bento-subtitle-italic {
      font-family: 'Cormorant Garamond', Georgia, serif !important;
      font-size: clamp(1.25rem, 1.6vw, 1.6rem) !important;
      font-style: italic !important;
      color: #E2B768 !important;
      margin-top: 0.2rem !important;
      line-height: 1.1 !important;
      text-shadow: 0 2px 8px rgba(0, 0, 0, 0.9) !important;
    }

    .saga-dell-anima-wrapper .bento-overlay-carla .bento-body-poetry,
    .bento-overlay-carla .bento-body-poetry {
      display: flex;
      flex-direction: column;
      gap: 0.26rem !important;
    }

    .saga-dell-anima-wrapper .bento-overlay-carla .bento-body-poetry p,
    .bento-overlay-carla .bento-body-poetry p {
      font-family: 'Montserrat', sans-serif !important;
      font-size: clamp(0.68rem, 0.82vw, 0.82rem) !important;
      font-weight: 300 !important;
      color: #FAF5ED !important;
      line-height: 1.32 !important;
      margin: 0 !important;
      letter-spacing: 0.012em !important;
      text-shadow: 0 1px 4px rgba(0, 0, 0, 0.95) !important;
    }

    .saga-dell-anima-wrapper .bento-overlay-carla .bento-body-poetry .bento-p-verita,
    .bento-overlay-carla .bento-body-poetry .bento-p-verita {
      line-height: 1.3 !important;
      margin-top: 0.15rem !important;
    }

    .saga-dell-anima-wrapper .bento-overlay-carla .bento-body-poetry .bento-p-maestro,
    .bento-overlay-carla .bento-body-poetry .bento-p-maestro {
      font-family: 'Cormorant Garamond', Georgia, serif !important;
      font-size: clamp(1.15rem, 1.45vw, 1.45rem) !important;
      color: #E2B768 !important;
      font-style: normal !important;
      font-weight: 600 !important;
      margin-top: 0.45rem !important;
      text-shadow: 0 2px 8px rgba(0, 0, 0, 0.9) !important;
    }

    .saga-dell-anima-wrapper .bento-overlay-carla .bento-signoff-carla,
    .bento-overlay-carla .bento-signoff-carla {
      margin-top: auto !important;
      display: flex;
      flex-direction: column;
      gap: 0.35rem;
    }

    .saga-dell-anima-wrapper .bento-overlay-carla .bento-carla-thanks,
    .bento-overlay-carla .bento-carla-thanks {
      font-family: 'Montserrat', sans-serif !important;
      font-size: clamp(0.64rem, 0.76vw, 0.76rem) !important;
      font-weight: 300 !important;
      color: rgba(250, 245, 237, 0.88) !important;
      line-height: 1.34 !important;
      text-shadow: 0 1px 4px rgba(0, 0, 0, 0.95) !important;
    }

    .saga-dell-anima-wrapper .bento-overlay-carla .bento-carla-name-row,
    .bento-overlay-carla .bento-carla-name-row {
      display: flex;
      align-items: center;
      gap: 0.8rem;
    }

    .saga-dell-anima-wrapper .bento-overlay-carla .bento-carla-name,
    .bento-overlay-carla .bento-carla-name {
      font-family: 'Cormorant Garamond', Georgia, serif !important;
      font-size: clamp(1.6rem, 2.2vw, 2.2rem) !important;
      font-style: italic !important;
      color: #E2B768 !important;
      text-decoration: underline;
      text-decoration-thickness: 1.5px;
      text-underline-offset: 4px;
      text-shadow: 0 2px 8px rgba(0, 0, 0, 0.9) !important;
    }

    .bento-overlay-carla .bento-carla-heart-icon {
      color: #E2B768;
      display: inline-flex;
      align-items: center;
    }

        /* CARD 4: Federica Testimonial Overlay - Matching Font Family Stack */
    .saga-dell-anima-wrapper .bento-overlay-federica,
    .bento-overlay-federica {
      text-align: center !important;
      align-items: center !important;
      padding: 0 0.5rem !important;
      gap: 0.28rem !important;
      top: 4.5% !important;
      bottom: 4.5% !important;
    }

    .bento-overlay-federica .bento-fed-header {
      width: 100%;
    }

    .saga-dell-anima-wrapper .bento-overlay-federica .bento-fed-title,
    .bento-overlay-federica .bento-fed-title {
      font-family: 'Cormorant Garamond', Georgia, serif !important;
      font-size: clamp(1.4rem, 1.85vw, 1.95rem) !important;
      font-weight: 600 !important;
      font-style: italic !important;
      letter-spacing: 0.015em !important;
      color: #F5D08A !important;
      line-height: 1.15 !important;
      margin: 0 !important;
      text-shadow: 0 2px 10px rgba(0, 0, 0, 0.95), 0 0 16px rgba(245, 208, 138, 0.35) !important;
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 0.5rem !important;
    }

    .bento-overlay-federica .bento-fed-title-heart {
      font-family: 'Cormorant Garamond', Georgia, serif !important;
      font-size: 1.45rem !important;
      color: #E2B768 !important;
      font-style: normal !important;
    }

    .saga-dell-anima-wrapper .bento-overlay-federica .bento-fed-body,
    .bento-overlay-federica .bento-fed-body {
      width: 100% !important;
      align-items: center !important;
      gap: 0.24rem !important;
      flex: 0 1 auto !important;
    }

    .saga-dell-anima-wrapper .bento-overlay-federica .bento-fed-body p,
    .bento-overlay-federica .bento-fed-body p {
      font-family: 'Montserrat', sans-serif !important;
      font-size: clamp(0.64rem, 0.76vw, 0.8rem) !important;
      font-weight: 300 !important;
      font-style: normal !important;
      letter-spacing: 0.012em !important;
      line-height: 1.38 !important;
      color: #FAF5ED !important;
      text-align: center !important;
      margin: 0 !important;
      text-shadow: 0 1px 4px rgba(0, 0, 0, 0.95) !important;
    }

    .bento-overlay-federica .bento-fed-gold {
      color: #E2B768 !important;
      font-weight: 600 !important;
    }

    .bento-overlay-federica .bento-fed-divider {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 0.5rem !important;
      width: 100% !important;
      margin: 0.04rem 0 !important;
      color: #E2B768 !important;
      opacity: 0.85 !important;
    }

    .bento-overlay-federica .bento-fed-divider::before,
    .bento-overlay-federica .bento-fed-divider::after {
      content: "" !important;
      height: 1px !important;
      width: 48px !important;
      background: linear-gradient(90deg, transparent, rgba(226, 183, 104, 0.5), transparent) !important;
    }

    .bento-overlay-federica .bento-fed-divider span {
      font-family: 'Cormorant Garamond', Georgia, serif !important;
      font-size: 0.95rem !important;
      line-height: 1 !important;
    }

    .saga-dell-anima-wrapper .bento-overlay-federica .bento-fed-signoff,
    .bento-overlay-federica .bento-fed-signoff {
      display: flex !important;
      flex-direction: column !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 0.05rem !important;
      margin-top: auto !important;
      padding-top: 0.2rem !important;
    }

    .bento-overlay-federica .bento-fed-love {
      font-family: 'Cormorant Garamond', Georgia, serif !important;
      font-size: clamp(1.05rem, 1.35vw, 1.4rem) !important;
      font-style: italic !important;
      font-weight: 500 !important;
      color: #FAF5ED !important;
      line-height: 1.15 !important;
      text-shadow: 0 2px 8px rgba(0, 0, 0, 0.95) !important;
    }

    .bento-overlay-federica .bento-fed-name {
      font-family: 'Cormorant Garamond', Georgia, serif !important;
      font-size: clamp(1.45rem, 1.95vw, 2.1rem) !important;
      font-style: italic !important;
      font-weight: 700 !important;
      color: #FFE6A8 !important;
      text-decoration: underline !important;
      text-decoration-thickness: 1.5px !important;
      text-underline-offset: 4px !important;
      line-height: 1.15 !important;
      margin: 0.05rem 0 !important;
      text-shadow: 0 2px 10px rgba(0, 0, 0, 0.95), 0 0 16px rgba(226, 183, 104, 0.4) !important;
    }

    .bento-overlay-federica .bento-fed-bottom-heart {
      font-family: 'Cormorant Garamond', Georgia, serif !important;
      font-size: 1.25rem !important;
      color: #E2B768 !important;
      line-height: 1 !important;
      opacity: 0.9 !important;
    }

/* Responsive Adaptation for Carousel */
    @media (max-width: 1280px) {
      .reviews-carousel-wrapper {
        padding: 0 3.8rem;
      }
      .reviews-carousel-track .bento-review-card {
        flex: 0 0 100%;
        max-width: 100%;
      }
    }

    /* Block 2 merged into primary mobile adaptation above */
    
    /* ==========================================================================
       INDEX PAGE HEADER: FULLY TRANSPARENT IN NON-FLOATING STATE
       ========================================================================== */
    body.page-home header:not(.is-floating),
    body.page-home .saga-dell-anima-wrapper header:not(.is-floating),
    body.page-home header:not(.is-floating) * {
      /* Keep element background clean & transparent */
    }
    body.page-home header:not(.is-floating),
    body.page-home .saga-dell-anima-wrapper header:not(.is-floating) {
      background: transparent !important;
      background-color: transparent !important;
      backdrop-filter: none !important;
      -webkit-backdrop-filter: none !important;
      border-bottom: 1px solid transparent !important;
      box-shadow: none !important;
    }
    body.page-home header:not(.is-floating) .sidebar-toggle-btn {
      color: #FFFFFF !important;
      text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45) !important;
    }
    body.page-home header:not(.is-floating) .sidebar-toggle-btn .burger-line {
      background-color: #FFFFFF !important;
    }
    body.page-home header:not(.is-floating) .sidebar-toggle-btn:hover {
      color: #E2B768 !important;
      text-shadow: 0 0 8px rgba(226, 183, 104, 0.6) !important;
    }
    body.page-home header:not(.is-floating) .sidebar-toggle-btn:hover .burger-line {
      background-color: #E2B768 !important;
    }

      /* FOOTER TOUCH CTA BUTTON (Matches 1:1 Session in Header) */
    .footer-touch-btn {
      display: inline-flex !important;
      align-items: center !important;
      justify-content: center !important;
      gap: 0.45rem !important;
      border-radius: 9999px !important;
      background: linear-gradient(135deg, #9C7A3C 0%, #755420 100%) !important;
      color: #FFFFFF !important;
      border: 1px solid rgba(226, 183, 104, 0.45) !important;
      font-size: 0.78rem !important;
      font-weight: 700 !important;
      letter-spacing: 0.12em !important;
      text-transform: uppercase !important;
      text-decoration: none !important;
      transition: var(--transition-smooth) !important;
      box-shadow: 0 4px 14px rgba(117, 84, 32, 0.25) !important;
      cursor: pointer !important;
      white-space: nowrap !important;
      padding: 0.65rem 1.4rem !important;
    }

    .footer-touch-btn:hover {
      transform: scale(1.05) !important;
      box-shadow: 0 6px 22px rgba(140, 109, 55, 0.4) !important;
      border-color: #E2B768 !important;
      color: #FFFFFF !important;
    }

          .phil-card-header-row {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 1rem;
      margin-bottom: 0.65rem;
    }

    .phil-card-header-row .phil-card-title {
      margin: 0;
      flex: 1;
    }

    .phil-card-header-row .card-wellness-icon {
      margin-bottom: 0;
      flex-shrink: 0;
    }

    /* SPIRITUAL WELLNESS CARD ICONS */
    .card-wellness-icon {
      width: 30px;
      height: 30px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 0.65rem;
      color: #8C6D37;
      transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), color 0.3s ease, filter 0.35s ease;
    }

    .card-wellness-icon svg {
      width: 100%;
      height: 100%;
      stroke: currentColor;
    }

    .viaggio-step-card:hover .card-wellness-icon,
    .phil-cammino-card:hover .card-wellness-icon {
      color: #B58A3E;
      transform: scale(1.1) translateY(-2px);
      filter: drop-shadow(0 4px 10px rgba(181, 138, 62, 0.3));
    }

    .circle-node-icon {
      width: 22px;
      height: 22px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 0.25rem;
      color: #8C6D37;
      transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), color 0.3s ease, filter 0.35s ease;
    }

    .circle-node-icon svg {
      width: 100%;
      height: 100%;
      stroke: currentColor;
    }

    .circle-node-card:hover .circle-node-icon {
      color: #C29648;
      transform: scale(1.12);
      filter: drop-shadow(0 3px 8px rgba(194, 150, 72, 0.35));
    }

  

/* SUBPAGE SPECIFIC EXTENSIONS */



    /* 4 CAMMINI CARDS (Interactive Luminous Sacred Paths) */
    .cammini-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 1.4rem;
      margin-top: 2.8rem;
    }

    .cammino-card {
      background: #F3ECE2;
      border: 1px solid var(--border-gold);
      border-radius: var(--radius-md);
      padding: 2.4rem 1.6rem;
      position: relative;
      transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);
      display: flex;
      flex-direction: column;
      align-items: center;
      text-align: center;
      box-shadow: 0 6px 20px rgba(50, 36, 22, 0.04);
    }

    .cammino-badge {
      font-family: var(--font-primary);
      font-size: 0.72rem;
      font-weight: 700;
      letter-spacing: 0.16em;
      color: var(--gold-primary);
      text-transform: uppercase;
      border: 1px solid var(--border-gold);
      padding: 0.22rem 0.75rem;
      border-radius: 9999px;
      margin-bottom: 1.2rem;
      background: #EAE0D2;
    }

    .cammino-title {
      font-family: var(--font-primary);
      font-size: 1.05rem;
      color: #644B1F;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      margin-bottom: 0.85rem;
      line-height: 1.35;
    }

    .cammino-desc {
      font-size: 0.88rem;
      color: var(--text-muted);
      line-height: 1.65;
    }

    .cammino-icon-wrap {
      width: 52px;
      height: 52px;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      background: rgba(140, 109, 55, 0.08);
      border: 1px solid var(--border-gold);
      margin-bottom: 1.2rem;
      color: var(--gold-primary);
      transition: var(--transition-smooth);
    }


    /* PHILOSOPHY & SACRED VALUES (5 Ethos Pillars) */
    .philosophy-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5rem;
      margin-top: 3rem;
    }

    .philosophy-card {
      background: #F3ECE2;
      border: 1px solid var(--border-gold);
      border-radius: var(--radius-md);
      padding: 2.2rem 1.6rem;
      text-align: left;
      transition: all 0.4s ease;
      box-shadow: 0 4px 16px rgba(50, 36, 22, 0.03);
    }


    /* SOUL MANIFESTO CALLOUT (Calming High Editorial Centerpiece) */
    .soul-manifesto-highlight {
      background: linear-gradient(135deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 240, 230, 0.92) 100%);
      border: 1px solid var(--border-gold-strong);
      border-radius: var(--radius-lg);
      padding: 3.5rem 2.8rem;
      text-align: center;
      position: relative;
      margin: 3.5rem auto 2.5rem;
      max-width: 920px;
      box-shadow: 0 16px 40px -12px rgba(140, 109, 55, 0.16), 0 0 0 1px rgba(255, 255, 255, 0.8) inset;
    }

    .soul-quote-glyph {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: rgba(140, 109, 55, 0.1);
      border: 1px solid var(--border-gold);
      color: var(--gold-primary);
      margin-bottom: 1.5rem;
    }

    .soul-quote-main {
      font-family: var(--font-primary);
      font-size: clamp(1.35rem, 3.2vw, 2.05rem);
      color: #231C18;
      line-height: 1.45;
      letter-spacing: 0.04em;
      font-weight: 500;
      margin-bottom: 1.2rem;
    }

    .soul-quote-sub {
      font-size: 0.96rem;
      color: var(--text-muted);
      max-width: 720px;
      margin: 0 auto;
      line-height: 1.7;
    }


/* ==========================================================================
   FILIPPO CURTO • THE GENTLE HAWK (SACRED WELLNESS PORTAL)
   ========================================================================== */

/* Hero Sacred Composition */
.filippo-sacred-hero {
  padding-top: clamp(8.5rem, 15vh, 11rem);
  padding-bottom: 5.5rem;
  background: linear-gradient(180deg, #EAE0D2 0%, #EDE5D8 50%, #EAE0D2 100%);
  position: relative;
  overflow: hidden;
  text-align: center;
}

.filippo-sacred-hero::before {
  content: '';
  position: absolute;
  top: 15%;
  left: 50%;
  transform: translateX(-50%);
  width: 700px;
  height: 500px;
  background: radial-gradient(circle, rgba(184, 151, 88, 0.16) 0%, transparent 70%);
  pointer-events: none;
  filter: blur(40px);
}

.filippo-hero-talisman-wrap {
  position: relative;
  display: inline-block;
  margin: 0 auto 2.4rem;
}

.filippo-hero-talisman {
  width: 270px;
  height: 360px;
  border-radius: 135px;
  overflow: hidden;
  position: relative;
  border: 3px solid #B89758;
  box-shadow: 0 16px 45px -10px rgba(74, 53, 23, 0.28), 0 0 40px rgba(184, 151, 88, 0.25);
  background: #D8C7B5;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.6s ease;
}

.filippo-hero-talisman:hover {
  transform: scale(1.03);
  box-shadow: 0 22px 55px -10px rgba(74, 53, 23, 0.35), 0 0 50px rgba(226, 183, 104, 0.45);
}

.filippo-hero-talisman img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 15%;
  display: block;
}

.filippo-talisman-float-badge {
  position: absolute;
  bottom: -14px;
  left: 50%;
  transform: translateX(-50%);
  background: #FFFFFF;
  border: 1px solid #B89758;
  border-radius: 9999px;
  padding: 0.4rem 1.2rem;
  font-family: var(--font-primary);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #644B1F;
  box-shadow: 0 6px 20px rgba(50, 36, 22, 0.12);
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  z-index: 5;
}

.filippo-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-primary);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-primary);
  background: rgba(140, 109, 55, 0.12);
  border: 1px solid var(--border-gold);
  padding: 0.38rem 1rem;
  border-radius: 9999px;
  margin-bottom: 1rem;
}

.filippo-hero-name {
  font-family: var(--font-primary);
  font-size: clamp(2.4rem, 5.5vw, 3.8rem);
  font-weight: 800;
  color: #231C18;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 0.4rem;
  line-height: 1.1;
}

.filippo-hero-hawk {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-size: clamp(1.4rem, 3vw, 2rem);
  color: #8C6D37;
  font-weight: 600;
  margin-bottom: 0.8rem;
}

.filippo-hero-role {
  font-family: var(--font-primary);
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #644B1F;
  margin-bottom: 1.6rem;
}

.filippo-hero-pillars-ribbon {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.65rem 1.4rem;
  margin: 1.5rem auto 2.2rem;
  max-width: 960px;
}

.filippo-hero-pillar-item {
  font-family: var(--font-primary);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #524339;
  background: #F4ECE1;
  border: 1px solid rgba(140, 109, 55, 0.28);
  padding: 0.4rem 0.95rem;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  box-shadow: 0 2px 8px rgba(50, 36, 22, 0.04);
}

.filippo-hero-pillar-item span.glyph {
  color: #8C6D37;
  font-size: 0.75rem;
}

.filippo-hero-soul-quote {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-size: clamp(1.2rem, 2.5vw, 1.55rem);
  color: #231C18;
  max-width: 780px;
  margin: 0 auto 2.4rem;
  line-height: 1.55;
}

/* Sacred Narrative Splits */
.filippo-sacred-split {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 3.8rem;
  align-items: center;
  margin: 3.5rem 0;
}

.filippo-sacred-media {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(140, 109, 55, 0.35);
  box-shadow: 0 16px 40px -10px rgba(50, 36, 22, 0.16);
  background: #E8DFD3;
}

.filippo-sacred-media img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  display: block;
  transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

.filippo-sacred-media:hover img {
  transform: scale(1.03);
}

.filippo-media-caption-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1.2rem 1.4rem;
  background: linear-gradient(to top, rgba(23, 17, 13, 0.88) 0%, rgba(23, 17, 13, 0.4) 70%, transparent 100%);
  color: #FFFFFF;
  font-family: var(--font-primary);
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* 3 NDE Thresholds Grid */
.filippo-thresholds-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.8rem;
  margin-top: 3rem;
}

.filippo-threshold-card {
  background: #F3ECE2;
  border: 1px solid var(--border-gold);
  border-radius: 14px;
  padding: 2.2rem 1.8rem;
  position: relative;
  display: flex;
  flex-direction: column;
  box-shadow: 0 6px 22px rgba(50, 36, 22, 0.06);
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.filippo-threshold-card:hover {
  transform: translateY(-5px);
  background: #FFFFFF;
  border-color: var(--border-gold-strong);
  box-shadow: 0 18px 45px -10px rgba(140, 109, 55, 0.22);
}

.filippo-threshold-number {
  font-family: 'Cinzel', Georgia, serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: rgba(140, 109, 55, 0.35);
  position: absolute;
  top: 1.4rem;
  right: 1.5rem;
}

.filippo-threshold-badge {
  display: inline-block;
  font-family: var(--font-primary);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #8C6D37;
  background: rgba(140, 109, 55, 0.12);
  border: 1px solid rgba(140, 109, 55, 0.25);
  padding: 0.25rem 0.65rem;
  border-radius: 4px;
  margin-bottom: 1.2rem;
  width: fit-content;
}

.filippo-threshold-title {
  font-family: var(--font-primary);
  font-size: 1.22rem;
  font-weight: 800;
  color: #231C18;
  margin: 0 0 0.8rem 0;
  line-height: 1.3;
}

.filippo-threshold-desc {
  font-size: 0.92rem;
  color: var(--text-muted);
  line-height: 1.65;
  margin: 0;
}

/* Dual Presence Gallery */
.filippo-presence-dual {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  margin: 3.5rem 0 2rem;
}

.filippo-presence-card {
  background: #F3ECE2;
  border: 1px solid var(--border-gold);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(50, 36, 22, 0.08);
  transition: transform 0.45s ease, box-shadow 0.45s ease;
}

.filippo-presence-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 48px -10px rgba(140, 109, 55, 0.22);
}

.filippo-presence-img-wrap {
  width: 100%;
  height: 380px;
  overflow: hidden;
  position: relative;
}

.filippo-presence-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}

.filippo-presence-card:hover .filippo-presence-img-wrap img {
  transform: scale(1.04);
}

.filippo-presence-body {
  padding: 1.8rem 2rem;
}

.filippo-presence-tag {
  font-family: var(--font-primary);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--gold-primary);
  margin-bottom: 0.4rem;
  display: block;
}

.filippo-presence-title {
  font-family: var(--font-primary);
  font-size: 1.25rem;
  font-weight: 800;
  color: #231C18;
  margin: 0 0 0.6rem 0;
}

.filippo-presence-text {
  font-size: 0.92rem;
  color: var(--text-muted);
  line-height: 1.65;
  margin: 0;
}

/* Personal Invitation Centerpiece */
.filippo-invitation-container {
  background: #FFFFFF;
  border: 1px solid #B89758;
  border-radius: 20px;
  padding: 4rem 3rem;
  text-align: center;
  max-width: 940px;
  margin: 5rem auto 2rem;
  position: relative;
  box-shadow: 0 20px 50px -15px rgba(74, 53, 23, 0.16);
}

.filippo-invitation-container::before {
  content: '';
  position: absolute;
  top: -1px; left: 15%; right: 15%;
  height: 2px;
  background: linear-gradient(90deg, transparent, #B89758, transparent);
}

.filippo-invitation-quote {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-size: clamp(1.4rem, 3.2vw, 2.1rem);
  color: #231C18;
  line-height: 1.45;
  margin: 0 auto 1.8rem;
  max-width: 820px;
}

.filippo-invitation-desc {
  font-size: 1.05rem;
  color: var(--text-muted);
  line-height: 1.75;
  max-width: 720px;
  margin: 0 auto 2.5rem;
}

.filippo-invitation-actions {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
}

@media (max-width: 900px) {
  .filippo-sacred-split {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .filippo-thresholds-grid,
  .filippo-presence-dual {
    grid-template-columns: 1fr;
  }
  .filippo-presence-img-wrap {
    height: 300px;
  }
  .filippo-sacred-media img {
    height: 380px;
  }
  .filippo-invitation-container {
    padding: 2.5rem 1.5rem;
  }
}


/* ==========================================================================
   FILIPPO CURTO EDITORIAL DESIGN

/* SECTION 1: HERO SPLIT - MANIFESTO ON LEFT, CUTOUT ON RIGHT */
.filippo-hero-split-section {
  position: relative;
  padding: clamp(2.5rem, 5vh, 4rem) 0 0;
  background: #EAE0D2;
  overflow: hidden;
}

.filippo-hero-split-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, clamp(300px, 32vw, 480px));
  gap: clamp(2rem, 3.5vw, 3.5rem);
  align-items: end;
}

.filippo-hero-split-left {
  padding-bottom: clamp(2rem, 4vh, 3.5rem);
}

.filippo-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: 'Cinzel', serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #8C6D37;
  text-transform: uppercase;
  margin-bottom: 1.6rem;
}

.filippo-manifesto-hero-box {
  border-left: 3px solid #8C6D37;
  padding-left: 1.4rem;
  margin-bottom: 2rem;
}

.filippo-manifesto-line-light {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(2rem, 3.2vw, 2.9rem);
  font-style: normal;
  color: #201A15;
  line-height: 1.22;
  margin: 0 0 0.35rem 0;
}

.filippo-manifesto-line-bold {
  font-family: 'Cinzel', Georgia, serif;
  font-size: clamp(1.6rem, 2.7vw, 2.4rem);
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 1.22;
  color: #8C6D37;
  margin: 0;
  text-transform: uppercase;
}

.filippo-hero-narrative-prose {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-bottom: 2rem;
}

.filippo-hero-p {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.96rem;
  line-height: 1.85;
  color: #382B22;
  margin: 0;
}

.filippo-hero-pillars-subtle {
  font-family: 'Cinzel', serif;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  color: #8C6D37;
  text-transform: uppercase;
  font-weight: 600;
  border-top: 1px solid rgba(140, 109, 55, 0.2);
  padding-top: 1.2rem;
}

.filippo-hero-split-right {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  position: relative;
}

.filippo-cutout-wrap {
  width: 100%;
  max-width: clamp(300px, 32vw, 480px);
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 68%, rgba(0,0,0,0) 98%);
  mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 68%, rgba(0,0,0,0) 98%);
}

.filippo-cutout-img {
  width: 100%;
  height: auto;
  max-height: clamp(360px, 58vh, 620px);
  object-fit: contain;
  object-position: bottom center;
  display: block;
  filter: drop-shadow(0 15px 35px rgba(44, 30, 14, 0.12));
}

.filippo-section-mini-header {
  margin-bottom: 1.5rem;
}

.filippo-section-tag {
  display: inline-block;
  font-family: 'Cinzel', serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #8C6D37;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}

.filippo-section-subhead {
  font-family: 'Cinzel', serif;
  font-size: clamp(1.4rem, 2.2vw, 1.85rem);
  font-weight: 700;
  color: #201A15;
  margin: 0;
  letter-spacing: 0.03em;
}

@media (max-width: 992px) {
  .filippo-hero-split-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .filippo-hero-split-left {
    padding-bottom: 1rem;
  }
  .filippo-hero-split-right {
    order: -1;
  }
  .filippo-cutout-wrap {
    max-width: 360px;
    margin: 0 auto;
  }
}
 (CLIENT REFERENCE MOCKUP REPLICA)
   Warm Tuscan Parchment, Editorial Typography & Subtle Sacred Micro-Interactions
   ========================================================================== */

.filippo-container {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* SECTION 1: HERO */
.filippo-editorial-hero {
  position: relative;
  padding: 4rem 0 3rem;
  background: #EAE0D2;
  overflow: hidden;
}

.filippo-hero-header {
  text-align: center;
  margin-bottom: 2.2rem;
}

.filippo-editorial-title {
  font-family: 'Cinzel', 'Cinzel Decorative', Georgia, serif;
  font-size: clamp(2.2rem, 4.4vw, 3.8rem);
  font-weight: 700;
  letter-spacing: 0.09em;
  line-height: 1.12;
  color: #201A15;
  margin: 0;
  text-transform: uppercase;
}

.filippo-editorial-title .filippo-title-line {
  display: block;
}

.filippo-hero-composition {
  position: relative;
  display: grid;
  grid-template-columns: 200px 1fr 280px;
  align-items: center;
  gap: 2.5rem;
  max-width: 1040px;
  margin: 0 auto;
}

.filippo-hero-left-flank {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}

.filippo-inset-card {
  width: 185px;
  height: 255px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 12px 32px rgba(44, 30, 14, 0.14);
  border: 1px solid rgba(140, 109, 55, 0.28);
  background: #1C1814;
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.filippo-inset-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(44, 30, 14, 0.2);
}

.filippo-inset-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.filippo-hero-centerpiece {
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

.filippo-portrait-fade-wrap {
  width: 100%;
  max-width: 440px;
  position: relative;
  -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 56%, rgba(0,0,0,0) 97%);
  mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 56%, rgba(0,0,0,0) 97%);
}

.filippo-main-portrait {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
  filter: contrast(1.02) drop-shadow(0 15px 35px rgba(44, 30, 14, 0.12));
}

.filippo-hero-right-flank {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.filippo-hero-role-title {
  font-family: 'Cinzel', serif;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #201A15;
  margin: 0 0 0.85rem 0;
  line-height: 1.35;
  text-transform: uppercase;
}

.filippo-hero-tags p {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.86rem;
  line-height: 1.75;
  color: #4A3E34;
  margin: 0;
  font-weight: 400;
}

/* SECTION 2: COME FILIPPO GUIDA AL BENESSERE SPIRITUALE (NO LANDMARKS, 2 PHOTOS OF FILIPPO) */
.filippo-editorial-section {
  position: relative;
}

.filippo-wellness-section {
  padding: 6.5rem 0 7rem;
  background: #EAE0D2;
  position: relative;
}

/* Centered Section Header: Heading & Text Excerpt */
.filippo-wellness-header {
  text-align: center;
  max-width: 1200px;
  margin: 0 auto 3.8rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
}

.filippo-wellness-title {
  font-family: 'Cinzel', serif;
  font-size: clamp(2rem, 3.2vw, 2.75rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.25;
  color: #201A15;
  margin: 0;
  text-align: center;
  max-width: 100%;
}

.filippo-wellness-lead {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.05rem;
  line-height: 1.85;
  color: #4A3E34;
  margin: 0;
  text-align: center;
  max-width: 1080px;
}

/* 2-Column Split: 3 Pillars on Left, 2 Photos on Right */
.filippo-wellness-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: clamp(2rem, 3.5vw, 4rem);
  align-items: center;
}

.filippo-wellness-pillars {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

/* Spiritual Wellness Pillar Cards (Exact match to .phil-cammino-card system) */
.filippo-pillar-card {
  background: #F3ECE2;
  border: 1px solid rgba(168, 137, 78, 0.26);
  border-radius: 14px;
  padding: 1.45rem 1.6rem;
  box-shadow: 0 4px 14px rgba(50, 36, 22, 0.04);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  flex-direction: column;
  position: relative;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), background 0.3s ease, border-color 0.3s ease, box-shadow 0.4s ease;
}

.filippo-pillar-card:hover {
  background: #FAF6F0;
  border-color: rgba(168, 137, 78, 0.65);
  transform: translateY(-3px);
  box-shadow: 0 16px 36px rgba(50, 36, 22, 0.12);
}

.filippo-pillar-card .phil-card-header-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.65rem;
}

.filippo-pillar-title {
  font-family: 'Cinzel', serif;
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #231C18;
  margin: 0;
  line-height: 1.35;
  flex: 1;
}

.filippo-pillar-card .card-wellness-icon {
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #8C6D37;
  flex-shrink: 0;
  margin-bottom: 0;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  border-radius: 0 !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), color 0.3s ease, filter 0.35s ease;
}

.filippo-pillar-card .card-wellness-icon svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
}

.filippo-pillar-card:hover .card-wellness-icon {
  color: #B58A3E;
  transform: scale(1.12) translateY(-2px);
  filter: drop-shadow(0 4px 10px rgba(181, 138, 62, 0.3));
}

.filippo-pillar-text {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.88rem;
  line-height: 1.68;
  color: #5A483B;
  margin: 0;
}

/* Right Column: Dual Authentic Pictures of Filippo */
.filippo-wellness-gallery {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.6rem;
  align-items: start;
}

.filippo-wellness-card {
  display: block;
  background: transparent !important;
  border-radius: 20px;
  overflow: hidden;
  border: none !important;
  outline: none !important;
  box-shadow: 0 10px 28px rgba(50, 36, 22, 0.08);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.filippo-wellness-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(50, 36, 22, 0.12);
  border: none !important;
  outline: none !important;
}

/* Staggered magazine layout offset on desktop */
.filippo-wellness-card-ceremony {
  margin-top: 2.8rem;
}

.filippo-wellness-img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 4;
  min-height: clamp(280px, 34vh, 380px);
  overflow: hidden;
  border-radius: 20px;
  background: transparent !important;
  border: none !important;
  outline: none !important;
}

.filippo-wellness-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 20%;
  display: block;
  border: none !important;
  outline: none !important;
  border-radius: 20px;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.filippo-wellness-card:hover .filippo-wellness-img {
  transform: scale(1.04);
}

@media (max-width: 1100px) {
  .filippo-wellness-section .container {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .filippo-wellness-header {
    display: contents;
  }
  .filippo-wellness-grid {
    display: contents;
  }
  .filippo-wellness-title {
    order: 1;
    margin-bottom: clamp(1.2rem, 3vw, 1.6rem);
    text-align: center;
    width: 100%;
  }
  .filippo-wellness-gallery {
    order: 2;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: clamp(0.85rem, 2.5vw, 1.5rem) !important;
    width: 100% !important;
    max-width: 620px !important;
    margin: 0 auto clamp(1.3rem, 3vw, 1.8rem) auto !important;
  }
  .filippo-wellness-card-ceremony {
    margin-top: 0 !important;
  }
  .filippo-wellness-lead {
    order: 3;
    text-align: center;
    margin-bottom: clamp(2rem, 4.5vw, 2.8rem);
    max-width: 760px;
    width: 100%;
  }
  .filippo-wellness-pillars {
    order: 4;
    width: 100% !important;
    max-width: 720px !important;
  }
  .filippo-wellness-img-wrap {
    min-height: 0;
  }
}

@media (max-width: 768px) {
  .filippo-wellness-gallery {
    gap: clamp(0.75rem, 2.5vw, 1.15rem) !important;
    margin-bottom: clamp(1.25rem, 3vw, 1.65rem) !important;
    max-width: 100% !important;
  }
  .filippo-wellness-card {
    border-radius: 14px !important;
  }
  .filippo-wellness-img-wrap {
    min-height: 0 !important;
    aspect-ratio: 3 / 4 !important;
    border-radius: 14px !important;
  }
  .filippo-wellness-img {
    border-radius: 14px !important;
    object-position: center 20% !important;
  }
}

/* SECTION 3: LE SOGLIE E LA CRESCITA */
.filippo-timeline-section {
  padding: clamp(3.5rem, 6vh, 5.5rem) 0 clamp(3.5rem, 6vh, 6rem);
  background: #EAE0D2;
}

.filippo-timeline-section .container {
  max-width: min(98rem, 96vw) !important;
  padding: 0 clamp(1.2rem, 2.5vw, 2.5rem);
}

.filippo-section-headline {
  text-align: center;
  font-family: 'Cinzel', serif;
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #201A15;
  margin: 0 0 clamp(0.5rem, 1vh, 0.85rem) 0;
  text-transform: uppercase;
}

.filippo-section-lead {
  text-align: center;
  font-family: 'Cinzel', serif;
  font-size: clamp(0.92rem, 1.3vw, 1.12rem);
  font-style: italic;
  letter-spacing: 0.04em;
  color: #8C6D37;
  max-width: 760px;
  margin: 0 auto clamp(2rem, 3.5vh, 3.2rem) auto;
  line-height: 1.6;
}

.filippo-row-milestone {
  display: block;
  font-family: 'Cinzel', serif;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #201A15;
  margin-bottom: 0.35rem;
}

.filippo-timeline-outro {
  max-width: 780px;
  margin: clamp(3rem, 5vh, 4.5rem) auto 0 auto;
  text-align: center;
  padding: clamp(2.2rem, 3.5vh, 3rem) clamp(1.5rem, 3vw, 2.8rem);
  background: rgba(244, 238, 229, 0.65);
  border: 1px solid rgba(140, 109, 55, 0.25);
  border-radius: 16px;
  box-shadow: 0 10px 30px rgba(44, 30, 14, 0.05);
}

.filippo-outro-heading {
  font-family: 'Cinzel', serif;
  font-size: clamp(1.3rem, 2vw, 1.65rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #201A15;
  margin-bottom: 0.85rem;
  text-transform: uppercase;
}

.filippo-outro-text {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(0.88rem, 1.15vw, 0.98rem);
  line-height: 1.8;
  color: #4A3E34;
  margin: 0 auto;
  font-style: italic;
}

/* Runway Fashion Timeline Layout */
.filippo-fashion-timeline {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}

.filippo-timeline-centerpiece {
  position: absolute;
  left: 50%;
  top: 0;
  bottom: 0;
  transform: translateX(-50%);
  width: clamp(380px, 30vw, 520px);
  max-width: 90%;
  z-index: 3;
  pointer-events: auto;
}

.filippo-centerpiece-card {
  width: 100%;
  height: 100%;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 16px 42px rgba(44, 30, 14, 0.16);
  border: none !important;
  outline: none !important;
  background: transparent !important;
  transition: transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.5s ease;
}

.filippo-centerpiece-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 50px rgba(44, 30, 14, 0.22);
}

.filippo-centerpiece-img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 20%;
  border: none !important;
  outline: none !important;
  border-radius: 18px;
  transition: transform 0.6s ease;
}

.filippo-centerpiece-card:hover .filippo-centerpiece-img {
  transform: scale(1.02);
}

.filippo-timeline-rows {
  display: flex;
  flex-direction: column;
}

.filippo-timeline-row {
  display: grid;
  grid-template-columns: minmax(130px, 1fr) clamp(380px, 30vw, 520px) minmax(130px, 1fr);
  align-items: center;
  padding: clamp(0.55rem, 0.9vh, 0.85rem) 0.75rem;
  border-bottom: 1px solid rgba(140, 109, 55, 0.25);
  transition: background 0.3s ease;
  position: relative;
}

.filippo-timeline-row:last-child {
  border-bottom: none;
}

.filippo-timeline-row:hover {
  background: rgba(140, 109, 55, 0.05);
}

.filippo-row-year-cell {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding-right: 1rem;
}

.filippo-row-year {
  font-family: 'Cinzel', serif;
  font-size: 1.45rem;
  font-weight: 700;
  color: #201A15;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.filippo-year-present {
  font-size: 1.3rem;
  letter-spacing: 0.1em;
}

.filippo-row-center-gap {
  min-height: 1px;
}

.filippo-row-desc-cell {
  padding-left: 1.5rem;
}

.filippo-row-desc {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.88rem;
  line-height: 1.6;
  color: #4A3E34;
  margin: 0;
}

/* SECTION 4: INTIMATE SACRED INVITATION */
.filippo-invitation-section {
  padding: 5rem 0 6rem;
  background: #EAE0D2;
  border-top: 1px solid rgba(140, 109, 55, 0.16);
}

.filippo-invitation-card {
  max-width: 820px;
  margin: 0 auto;
  background: rgba(244, 238, 229, 0.7);
  border: 1px solid rgba(140, 109, 55, 0.3);
  border-radius: 20px;
  padding: 3rem 2.5rem;
  text-align: center;
  box-shadow: 0 12px 35px rgba(44, 30, 14, 0.08);
}

.filippo-invitation-badge {
  display: inline-block;
  font-family: 'Cinzel', serif;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #8C6D37;
  text-transform: uppercase;
  margin-bottom: 1rem;
}

.filippo-invitation-title {
  font-family: 'Cinzel', serif;
  font-size: clamp(1.6rem, 2.5vw, 2.2rem);
  font-weight: 700;
  color: #201A15;
  margin: 0 0 1rem 0;
}

.filippo-invitation-text {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.92rem;
  line-height: 1.8;
  color: #4A3E34;
  max-width: 640px;
  margin: 0 auto 2.2rem auto;
}

.filippo-invitation-cta-group {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

/* RESPONSIVE BREAKPOINTS */
@media (max-width: 992px) {
  .filippo-hero-composition {
    grid-template-columns: 1fr;
    gap: 2rem;
    text-align: center;
  }
  .filippo-hero-left-flank {
    justify-content: center;
  }
  .filippo-inset-card {
    width: 200px;
    height: 270px;
  }
  .filippo-hero-right-flank {
    align-items: center;
  }
  .filippo-two-col-grid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  .filippo-peru-card {
    margin-top: 1rem;
  }
  .filippo-peru-img-wrap {
    max-width: 100%;
    aspect-ratio: 4/3;
  }
}

@media (max-width: 1120px) {
  /* Runway Timeline Responsive */
  .filippo-timeline-centerpiece {
    position: static;
    transform: none;
    width: 100%;
    max-width: 500px;
    height: 520px;
    margin: 0 auto 3rem auto;
  }
  .filippo-timeline-row {
    grid-template-columns: 180px 1fr;
    gap: 1.5rem;
    padding: 1.15rem 0.25rem;
  }
  .filippo-row-center-gap {
    display: none;
  }
  .filippo-row-year-cell {
    padding-right: 0;
    gap: 0.85rem;
  }
  .filippo-row-desc-cell {
    padding-left: 0;
  }
  .filippo-row-year {
    font-size: 1.25rem;
  }
}

@media (max-width: 640px) {
  .filippo-timeline-row {
    grid-template-columns: 1fr;
    gap: 0.4rem;
    padding: 1rem 0;
  }
  .filippo-row-year-cell {
    gap: 0.75rem;
  }
  .filippo-row-desc {
    font-size: 0.84rem;
  }
  .filippo-facilitator-card {
    flex-direction: column;
  }
  .filippo-facilitator-avatar {
    flex: 0 0 200px;
  }
  .filippo-invitation-card {
    padding: 2rem 1.25rem;
  }
}


/* ==========================================================================
   FILIPPO HERO SECTION (QUOTATION STYLE ON LEFT, CUTOUT ON RIGHT)
   ========================================================================== */
.filippo-hero-quote-layout {
  position: relative;
  padding: 4.5rem 0 0;
  background: #EAE0D2;
  overflow: hidden;
  border-bottom: 1px solid rgba(140, 109, 55, 0.18);
}

.filippo-hero-quote-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 3.5rem;
  align-items: flex-end;
}

.filippo-hero-quote-col {
  padding-bottom: 3.8rem;
  display: flex;
  flex-direction: column;
}

.filippo-hero-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: 'Cinzel', serif;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: #8C6D37;
  text-transform: uppercase;
  margin-bottom: 1.4rem;
}

/* Oversized Soul Thesis Callout in Exact Index Page Style */
.filippo-hero-thesis-wrap {
  margin-bottom: 1.5rem;
  position: relative;
  padding-left: 1.6rem;
  border-left: 3px solid rgba(140, 109, 55, 0.75);
}

.filippo-hero-thesis-quote {
  font-family: 'Cinzel', Georgia, serif;
  font-size: clamp(2.2rem, 3.8vw, 3.2rem);
  color: #201A15;
  line-height: 1.18;
  font-weight: 500;
  letter-spacing: -0.01em;
  margin: 0;
}

.filippo-hero-thesis-quote .filippo-thesis-line1 {
  display: block;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-style: italic;
  font-size: 0.9em;
  color: #382B22;
  font-weight: 400;
}

.filippo-hero-thesis-quote strong.filippo-thesis-line2 {
  display: block;
  margin-top: 0.35rem;
  font-family: 'Cinzel', serif;
  font-weight: 800;
  letter-spacing: 0.05em;
  color: #8C6D37;
  text-transform: uppercase;
  font-size: 0.95em;
}

.filippo-hero-role-title {
  font-family: 'Cinzel', serif;
  font-size: 1.12rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #201A15;
  margin: 0 0 1rem 0;
  line-height: 1.4;
  text-transform: uppercase;
}

.filippo-hero-prose {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.98rem;
  line-height: 1.85;
  color: #4A3E34;
  margin-bottom: 1.6rem;
  max-width: 580px;
}

.filippo-hero-pillars-cluster {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-bottom: 1.8rem;
}

.filippo-pillar-pill {
  display: inline-block;
  padding: 0.4rem 0.9rem;
  border-radius: 20px;
  background: rgba(244, 238, 229, 0.85);
  border: 1px solid rgba(140, 109, 55, 0.28);
  font-family: 'Montserrat', sans-serif;
  font-size: 0.78rem;
  font-weight: 500;
  color: #382B22;
  letter-spacing: 0.02em;
}

/* Inset Photo Badge */
.filippo-hero-trio-inset {
  display: flex;
  align-items: center;
  gap: 1.1rem;
  background: rgba(244, 238, 229, 0.72);
  border: 1px solid rgba(140, 109, 55, 0.25);
  border-radius: 14px;
  padding: 0.85rem 1.15rem;
  max-width: 520px;
  box-shadow: 0 6px 20px rgba(44, 30, 14, 0.06);
}

.filippo-trio-thumbnail {
  width: 66px;
  height: 66px;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
  border: 1px solid rgba(140, 109, 55, 0.3);
  box-shadow: 0 4px 12px rgba(44, 30, 14, 0.12);
}

.filippo-trio-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.filippo-trio-caption {
  display: flex;
  flex-direction: column;
}

.filippo-trio-badge {
  font-family: 'Cinzel', serif;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #8C6D37;
  text-transform: uppercase;
  margin-bottom: 0.2rem;
}

.filippo-trio-caption p {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.78rem;
  line-height: 1.45;
  color: #5C4E42;
  margin: 0;
}






/* ==========================================================================
   FILIPPO CURTO PAGE WIDTH & SPACING: EXACT MATCH TO INDEX PAGE #VIAGGIO
   ========================================================================== */

body.page-subpage .container,
.filippo-hero-section .container,
.filippo-editorial-section .container,
.blog-feed-section .container {
  width: 95% !important;
  max-width: min(102.5rem, 94vw) !important;
  margin: 0 auto !important;
  padding: 0 clamp(1rem, 2vw, 1.5rem) !important;
  box-sizing: border-box !important;
}

.filippo-hero-section {
  position: relative;
  padding-top: calc(76px + clamp(2rem, 4.5vh, 4rem)) !important;
  padding-bottom: 0 !important;
  background: #EAE0D2;
  overflow: hidden;
}

.filippo-section-header {
  text-align: center;
  max-width: 820px;
  margin: 0 auto clamp(2rem, 3.5vh, 3.5rem);
}

.filippo-section-header .section-title {
  font-family: var(--font-primary, 'Cinzel', serif);
  font-size: clamp(2rem, 3.8vw, 3rem);
  font-weight: 700;
  letter-spacing: 0.12em;
  color: #231C18;
  text-transform: uppercase;
  margin-bottom: 0.85rem;
}

.filippo-section-header .section-desc {
  font-family: 'Montserrat', sans-serif;
  font-size: 1.05rem;
  line-height: 1.65;
  color: #6A5849;
  margin: 0;
}

.filippo-viaggio-split {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, clamp(320px, 30vw, 480px));
  gap: clamp(2rem, 4vw, 4.5rem);
  align-items: center;
  margin-top: 0;
  margin-bottom: clamp(2rem, 3.5vh, 3.5rem);
}

.filippo-left-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-bottom: 0;
}

.filippo-left-content .viaggio-thesis-wrap {
  margin-bottom: 1.8rem;
  position: relative;
  padding-left: 1.5rem;
  border-left: 2.5px solid rgba(168, 137, 78, 0.65);
}

.filippo-left-content .viaggio-thesis-quote {
  font-family: var(--font-primary, 'Montserrat', sans-serif);
  font-size: clamp(1.8rem, 3.2vw, 2.5rem);
  color: #231C18;
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: -0.01em;
  margin: 0;
}

.filippo-left-content .viaggio-thesis-quote strong {
  display: block;
  margin-top: 0.45rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  color: #5C4320;
  text-transform: uppercase;
  font-size: 0.88em;
}

.filippo-prose {
  font-size: 1.15rem;
  line-height: 1.85;
  color: #5A483B;
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
  margin-bottom: 0;
}

.filippo-prose p {
  margin: 0;
}

/* Right Side: Graphic Unit Shifted Up 25px with Clean Brown Shape (No Dark Shadows) */
.filippo-hero-cutout-col {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
}

.filippo-hero-graphic {
  position: relative;
  width: 100%;
  max-width: clamp(320px, 30vw, 480px);
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  transform: translateY(-25px); /* Moved up by 25px */
  -webkit-mask-image: linear-gradient(to bottom, #000 88%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 88%, transparent 100%);
}

.filippo-hero-shape-backdrop {
  position: absolute;
  top: 52%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: clamp(300px, 29vw, 460px);
  height: clamp(300px, 29vw, 460px);
  max-width: 102%;
  z-index: 1;
  pointer-events: none;
  opacity: 0.98;
  filter: none !important; /* Removed dark shadow applying on the images */
}

.filippo-backdrop-shape-svg {
  width: 100%;
  height: 100%;
  display: block;
}

.filippo-cutout-wrap {
  width: 100%;
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  transform: none;
  margin: 0;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

.filippo-cutout-img {
  width: 100%;
  height: auto;
  max-height: clamp(380px, 62vh, 680px);
  object-fit: contain;
  object-position: center;
  display: block;
  opacity: 1 !important;
  filter: none !important; /* Removed shadow applying on the images */
}

@media (max-width: 992px) {
  .filippo-viaggio-split {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  .filippo-hero-cutout-col {
    order: -1;
    width: 100%;
  }
  .filippo-hero-graphic {
    max-width: 380px;
    transform: translateY(-10px);
  }
  .filippo-hero-shape-backdrop {
    width: 360px;
    height: 360px;
    top: 52%;
  }
  .filippo-cutout-wrap {
    max-width: 380px;
    transform: none;
    margin-bottom: 0;
  }
  .filippo-left-content {
    padding-bottom: 1.5rem;
  }
}

/* ==========================================================================
   BLOG POST CARDS & ARTICLE READER MODAL (Guida Spirituale Hub)
   ========================================================================== */
.blog-feed-list {
  display: flex;
  flex-direction: column;
  gap: clamp(1.8rem, 3.2vh, 3rem);
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}

.blog-post-card {
  width: 100%;
  box-sizing: border-box;
  padding: clamp(2rem, 3.2vw, 3.25rem) clamp(1.8rem, 3.2vw, 3.5rem);
  background: var(--bg-card);
  border: 1px solid var(--border-gold);
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(35, 28, 24, 0.04);
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease;
  position: relative;
}

.blog-post-card:hover {
  transform: translateY(-3px);
  border-color: var(--border-gold-strong);
  box-shadow: 0 14px 35px rgba(184, 151, 88, 0.12);
}

.blog-meta-top {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.1rem;
}

.blog-read-time {
  font-family: var(--font-body, 'Montserrat', sans-serif);
  font-size: 0.82rem;
  color: var(--text-subtle, #7C6F62);
  letter-spacing: 0.04em;
  font-weight: 500;
}

.blog-post-title {
  font-family: var(--font-title, 'Cinzel', serif);
  font-size: clamp(1.4rem, 2.5vw, 2.05rem);
  font-weight: 700;
  color: #231C18;
  margin-bottom: 1.3rem;
  line-height: 1.35;
  letter-spacing: 0.035em;
  text-transform: uppercase;
}

.blog-post-excerpt {
  font-family: var(--font-body, 'Montserrat', sans-serif);
  font-size: 1.05rem;
  color: #5A4E44;
  line-height: 1.8;
  margin-bottom: 2rem;
  font-weight: 400;
}

.blog-post-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.25rem;
  border-top: 1px solid rgba(184, 151, 88, 0.28);
  padding-top: 1.6rem;
}

.blog-author-group {
  display: flex;
  align-items: center;
  gap: 0.9rem;
}

.blog-author-avatar {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid var(--border-gold);
  flex-shrink: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.blog-author-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

.blog-author-name {
  font-size: 0.95rem;
  font-weight: 700;
  color: #231C18;
  display: block;
  letter-spacing: 0.02em;
}

.blog-author-role {
  font-size: 0.8rem;
  color: var(--gold-primary, #9E7D47);
  display: block;
  font-weight: 500;
  letter-spacing: 0.03em;
}

.blog-open-btn {
  background: #7F5F2B !important;
  color: #FFFFFF !important;
  font-family: var(--font-body, 'Montserrat', sans-serif) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  font-size: 0.82rem !important;
  padding: 0.9rem 1.65rem !important;
  border-radius: 6px !important;
  border: none !important;
  cursor: pointer !important;
  box-shadow: 0 3px 10px rgba(127, 95, 43, 0.2) !important;
  transition: all 0.25s ease !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.blog-open-btn:hover {
  background: #6A4D20 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 16px rgba(127, 95, 43, 0.32) !important;
}

/* Article Reading Modal */
.article-modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(18, 14, 11, 0.82);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}

.article-modal-overlay.is-active {
  opacity: 1;
  visibility: visible;
}

.article-modal-window {
  background: #FAF5EC;
  border: 1px solid var(--border-gold);
  border-radius: 16px;
  width: 100%;
  max-width: 860px;
  max-height: 88vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 25px 65px rgba(0, 0, 0, 0.35);
  transform: translateY(24px) scale(0.97);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.article-modal-overlay.is-active .article-modal-window {
  transform: translateY(0) scale(1);
}

.article-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem 2.25rem;
  border-bottom: 1px solid rgba(184, 151, 88, 0.25);
  background: #F4EBDD;
  flex-shrink: 0;
}

.article-modal-meta {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: var(--gold-primary, #9E7D47);
  text-transform: uppercase;
}

.article-modal-close {
  background: transparent;
  border: none;
  cursor: pointer;
  color: #231C18;
  padding: 0.4rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease, transform 0.2s ease;
}

.article-modal-close:hover {
  background: rgba(184, 151, 88, 0.15);
  transform: rotate(90deg);
}

.article-modal-content {
  padding: 2.75rem 3rem 2rem;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: var(--gold-primary) transparent;
}

.article-modal-title {
  font-family: var(--font-title, 'Cinzel', serif);
  font-size: clamp(1.6rem, 3vw, 2.25rem);
  font-weight: 700;
  color: #231C18;
  line-height: 1.3;
  margin-bottom: 1.5rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.article-modal-author-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding-bottom: 1.5rem;
  margin-bottom: 2rem;
  border-bottom: 1px solid rgba(184, 151, 88, 0.2);
}

.article-modal-body p {
  font-family: var(--font-body, 'Montserrat', sans-serif);
  font-size: 1.08rem;
  line-height: 1.85;
  color: #3D332A;
  margin-bottom: 1.5rem;
}

.article-modal-body h3 {
  font-family: var(--font-title, 'Cinzel', serif);
  font-size: 1.35rem;
  color: #231C18;
  margin: 2.4rem 0 1rem;
  letter-spacing: 0.03em;
}

.article-modal-body blockquote {
  border-left: 3px solid var(--gold-primary);
  padding: 1.25rem 1.75rem;
  margin: 2.2rem 0;
  font-style: italic;
  background: rgba(184, 151, 88, 0.09);
  border-radius: 0 8px 8px 0;
  font-size: 1.15rem;
  color: #231C18;
  line-height: 1.7;
}

.article-modal-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
  padding-top: 2rem;
  margin-top: 2.5rem;
  border-top: 1px solid rgba(184, 151, 88, 0.25);
}

@media (max-width: 768px) {
  .blog-post-card {
    padding: 2rem 1.5rem;
  }
  .blog-post-footer {
    flex-direction: column;
    align-items: flex-start;
  }
  .blog-open-btn {
    width: 100%;
  }
  .article-modal-content {
    padding: 1.75rem 1.5rem;
  }
  .article-modal-footer {
    flex-direction: column;
    width: 100%;
  }
  .article-modal-footer .btn {
    width: 100%;
    text-align: center;
  }
}

/* ==========================================================================
   ASYMMETRIC EDITORIAL BENTO TAPESTRY (RITIRI & SERVIZI)
   ========================================================================== */
.bento-tapestry-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: clamp(1rem, 1.4vw, 1.75rem);
  margin-bottom: clamp(1.8rem, 3vh, 2.8rem);
}

/* Base Bento Tile */
.bento-tile {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s ease;
  display: flex;
  flex-direction: column;
}

.bento-tile:hover {
  transform: translateY(-5px);
}

/* 1. Parchment / Warm Neutral (Text focus) */
.bento-tile-parchment {
  background: #F3ECE2;
  border: 1px solid var(--border-gold);
  padding: clamp(1.6rem, 2.2vw, 2.4rem) clamp(1.4rem, 2vw, 2.2rem);
  box-shadow: 0 8px 24px rgba(50, 36, 22, 0.05);
  justify-content: flex-start;
}
.bento-tile-parchment:hover {
  border-color: #B89758;
  box-shadow: 0 16px 36px -10px rgba(140, 109, 55, 0.2);
}

/* 2. Photographic Cards (Atmospheric with gradient overlay) */
.bento-tile-photo {
  border: 1px solid rgba(184, 151, 88, 0.45);
  box-shadow: 0 10px 30px rgba(28, 20, 14, 0.15);
  background-size: cover;
  background-position: center;
  position: relative;
  justify-content: flex-end;
  min-height: clamp(280px, 32vh, 340px);
}
.bento-tile-photo .bento-photo-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(20, 15, 11, 0.28) 0%, rgba(20, 15, 11, 0.78) 50%, rgba(16, 11, 7, 0.94) 100%);
  transition: background 0.4s ease;
}
.bento-tile-photo:hover .bento-photo-overlay {
  background: linear-gradient(180deg, rgba(20, 15, 11, 0.18) 0%, rgba(20, 15, 11, 0.72) 48%, rgba(16, 11, 7, 0.96) 100%);
}
.bento-tile-photo .bento-photo-content {
  position: relative;
  z-index: 2;
  padding: clamp(1.6rem, 2.2vw, 2.4rem) clamp(1.4rem, 2vw, 2.2rem);
  color: #F8F4EE;
}
.bento-tile-photo .bento-photo-content h3 {
  color: #FFF9F2;
}
.bento-tile-photo .bento-photo-content p {
  color: rgba(248, 244, 238, 0.92);
}

/* 3. Split Panoramic Tile (Horizontal 12-col or 7-col) */
.bento-tile-split {
  background: #F3ECE2;
  border: 1px solid var(--border-gold);
  box-shadow: 0 10px 30px rgba(50, 36, 22, 0.06);
  display: grid;
  grid-template-columns: 45% 55%;
  padding: 0;
}
.bento-tile-split:hover {
  border-color: #B89758;
  box-shadow: 0 18px 42px -10px rgba(140, 109, 55, 0.22);
}
.bento-split-visual {
  position: relative;
  min-height: 280px;
  background-size: cover;
  background-position: center;
}
.bento-split-body {
  padding: clamp(1.8rem, 2.4vw, 2.6rem) clamp(1.5rem, 2.2vw, 2.3rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* Grid Column Spans */
.bento-span-12 { grid-column: span 12; }
.bento-span-8  { grid-column: span 8; }
.bento-span-7  { grid-column: span 7; }
.bento-span-6  { grid-column: span 6; }
.bento-span-5  { grid-column: span 5; }
.bento-span-4  { grid-column: span 4; }

/* Micro elements: Numeral & Icon */
.bento-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.4rem;
}
.bento-numeral {
  font-family: var(--font-primary), 'ENDLESS', serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--gold-primary);
  letter-spacing: 0.08em;
  opacity: 0.85;
}
.bento-numeral-photo {
  color: #E2BC72;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
}
.bento-icon-badge {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(140, 109, 55, 0.08);
  border: 1px solid rgba(140, 109, 55, 0.22);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold-primary);
}
.bento-icon-badge-photo {
  background: rgba(226, 188, 114, 0.16);
  border-color: rgba(226, 188, 114, 0.4);
  color: #E2BC72;
}
.bento-tile-title {
  font-size: 1.28rem;
  color: #231C18;
  margin-bottom: 0.85rem;
  font-weight: 800;
  line-height: 1.32;
}
.bento-tile-desc {
  font-size: 0.95rem;
  color: #524339;
  line-height: 1.75;
  margin: 0;
}

/* Tablet & Mobile Responsiveness */
@media (max-width: 1024px) {
  .bento-tapestry-grid {
    grid-template-columns: repeat(6, 1fr);
  }
  .bento-span-12 { grid-column: span 6; }
  .bento-span-8  { grid-column: span 6; }
  .bento-span-7  { grid-column: span 6; }
  .bento-span-6  { grid-column: span 6; }
  .bento-span-5  { grid-column: span 6; }
  .bento-span-4  { grid-column: span 3; }
  .bento-tile-split {
    grid-template-columns: 1fr;
  }
  .bento-split-visual {
    min-height: 220px;
  }
}

@media (max-width: 768px) {
  .bento-tapestry-grid {
    grid-template-columns: 1fr;
    gap: 1.35rem;
  }
  .bento-span-12,
  .bento-span-8,
  .bento-span-7,
  .bento-span-6,
  .bento-span-5,
  .bento-span-4 {
    grid-column: span 1;
  }
  .bento-tile-parchment,
  .bento-tile-photo .bento-photo-content,
  .bento-split-body {
    padding: 1.85rem 1.45rem;
  }
}

/* ==========================================================================
   PREVIOUS RETREATS GALLERY (WORDPRESS INTEGRATION)
   ========================================================================== */
.previous-retreats-section {
  padding: clamp(3.5rem, 6vh, 5.5rem) 0 clamp(4rem, 7vh, 7rem);
  background: #E5DBCC;
  position: relative;
  border-top: 1px solid rgba(184, 151, 88, 0.25);
}

.previous-retreats-header {
  text-align: center;
  max-width: 820px;
  margin: 0 auto clamp(2rem, 3.5vh, 3.5rem);
}

.previous-retreats-title {
  font-family: var(--font-primary), 'Cinzel Decorative', serif;
  font-size: clamp(2rem, 3.8vw, 2.9rem);
  color: #231C18;
  margin: 0.85rem 0 1.1rem;
  letter-spacing: 0.04em;
  font-weight: 700;
}

.previous-retreats-sub {
  font-size: 1.05rem;
  color: #524339;
  line-height: 1.7;
  margin: 0 auto;
}

/* ==========================================================================
   RETREAT SPOTLIGHT CARD (Featured Flagship Retreat in Tuscan Design Language)
   ========================================================================== */
.retreat-spotlight-card {
  background: linear-gradient(135deg, #FAF6F0 0%, #EDE4D6 100%);
  border: 1px solid var(--border-gold);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: 0 12px 36px rgba(50, 36, 22, 0.08);
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 3.5rem;
  transition: var(--transition-smooth);
}

.retreat-spotlight-card:hover {
  transform: translateY(-4px);
  border-color: #B89758;
  box-shadow: 0 20px 48px -10px rgba(140, 109, 55, 0.22);
}

.retreat-spotlight-media {
  position: relative;
  min-height: 380px;
  overflow: hidden;
  background: #2C221B;
}

.retreat-spotlight-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.retreat-spotlight-card:hover .retreat-spotlight-img {
  transform: scale(1.04);
}

.retreat-spotlight-body {
  padding: clamp(2rem, 3.5vw, 3.2rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.retreat-spotlight-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--gold-primary);
  font-family: var(--font-primary) !important;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 0.75rem;
}

.retreat-spotlight-title {
  font-family: var(--font-primary) !important;
  font-size: clamp(1.4rem, 2.3vw, 2.1rem);
  font-weight: 800;
  line-height: 1.25;
  color: #231C18;
  margin: 0 0 1rem;
}

.retreat-spotlight-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin-bottom: 1.25rem;
  font-family: var(--font-primary) !important;
  font-size: 0.88rem;
  color: #524339;
  font-weight: 600;
}

.retreat-spotlight-meta-item {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.retreat-spotlight-meta-item svg {
  color: var(--gold-primary);
  flex-shrink: 0;
}

.retreat-spotlight-desc {
  font-family: var(--font-primary) !important;
  font-size: 0.98rem;
  color: #524339;
  line-height: 1.7;
  margin: 0 0 1.85rem;
}

.retreat-spotlight-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}

.retreat-spotlight-actions .btn-primary {
  padding: 0.85rem 1.8rem;
  font-size: 0.85rem;
  font-family: var(--font-primary) !important;
  font-weight: 700;
}

.retreat-spotlight-actions .btn-secondary {
  padding: 0.85rem 1.5rem;
  font-size: 0.85rem;
  color: #231C18;
  border: 1px solid var(--border-gold);
  background: rgba(250, 246, 240, 0.85);
  font-family: var(--font-primary) !important;
  font-weight: 700;
  letter-spacing: 0.06em;
  border-radius: 999px;
  cursor: pointer;
  transition: var(--transition-smooth);
}

.retreat-spotlight-actions .btn-secondary:hover {
  background: #FAF6F0;
  border-color: #B89758;
  color: #140E0A;
  transform: translateY(-2px);
}

@media (max-width: 900px) {
  .retreat-spotlight-card {
    grid-template-columns: 1fr;
    margin-bottom: 2.5rem;
  }
  .retreat-spotlight-media {
    min-height: 260px;
  }
  .retreat-spotlight-body {
    padding: 1.75rem 1.5rem;
  }
}

/* ==========================================================================
   SPOTLIGHT RETREAT PROMOTIONAL POPUP MODAL
   ========================================================================== */
.sda-retreat-popup-overlay {
  position: fixed;
  inset: 0;
  z-index: 99998;
  background: rgba(14, 11, 8, 0.75);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  opacity: 0;
  transition: opacity 0.35s ease;
}

.sda-retreat-popup-overlay.is-active {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.sda-retreat-popup-window {
  background: #FAF6F0;
  border: 1px solid rgba(168, 137, 78, 0.45);
  border-radius: 20px;
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.5), 0 0 35px rgba(184, 151, 88, 0.2);
  width: 100%;
  max-width: 820px;
  overflow: hidden;
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  animation: modalWindowSlideUp 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

.sda-retreat-popup-window,
.sda-retreat-popup-window * {
  font-family: var(--font-primary) !important;
  box-sizing: border-box;
}

.sda-retreat-popup-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 10;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #F3ECE2 !important;
  border: 1px solid rgba(168, 137, 78, 0.45) !important;
  color: #2C221B !important;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.25s ease;
}

.sda-retreat-popup-close:hover {
  background: #FAF6F0;
  color: #140E0A;
  border-color: #B89758;
  transform: rotate(90deg);
}

.sda-retreat-popup-media {
  position: relative;
  min-height: 320px;
  background: #2C221B;
}

.sda-retreat-popup-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.sda-retreat-popup-body {
  padding: clamp(1.8rem, 3vw, 2.5rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.sda-retreat-popup-kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: var(--gold-primary);
  font-size: 0.75rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 0.6rem;
}

.sda-retreat-popup-title {
  font-size: clamp(1.2rem, 1.8vw, 1.6rem);
  font-weight: 800;
  line-height: 1.3;
  color: #1A1816 !important;
  margin: 0 0 0.85rem;
}

.sda-retreat-popup-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1rem;
  font-size: 0.82rem;
  color: #524339 !important;
  font-weight: 600;
}

.sda-retreat-popup-meta-item {
  display: flex;
  align-items: center;
  gap: 0.35rem;
}

.sda-retreat-popup-meta-item svg {
  color: var(--gold-primary) !important;
  flex-shrink: 0;
}

.sda-retreat-popup-desc {
  font-size: 0.92rem;
  color: #3F332A !important;
  line-height: 1.65;
  margin: 0 0 1.5rem;
}

.sda-retreat-popup-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  align-items: center;
}

.sda-retreat-popup-actions .btn-primary {
  padding: 0.75rem 1.4rem;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.sda-retreat-popup-later {
  background: transparent;
  border: none;
  color: #7A695D;
  font-size: 0.82rem;
  cursor: pointer;
  padding: 0.5rem 0.75rem;
  text-decoration: underline;
  transition: color 0.2s ease;
}

.sda-retreat-popup-later:hover {
  color: #231C18;
}

@media (max-width: 800px) {
  .sda-retreat-popup-window {
    grid-template-columns: 1fr;
    max-height: 85vh;
    overflow-y: auto;
  }
  .sda-retreat-popup-media {
    min-height: 200px;
    max-height: 220px;
  }
  .sda-retreat-popup-body {
    padding: 1.5rem;
  }
}

.retreats-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.2rem, 1.8vw, 2rem);
}

.retreat-card,
.retreat-card * {
  font-family: var(--font-primary) !important;
}

.retreat-card {
  background: #F3ECE2;
  border: 1px solid var(--border-gold);
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 10px 28px rgba(50, 36, 22, 0.06);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.4s ease;
}

.retreat-card:hover {
  transform: translateY(-6px);
  border-color: #B89758;
  box-shadow: 0 18px 40px -10px rgba(140, 109, 55, 0.22);
}

.retreat-card-media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #2C221B;
}

.retreat-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.retreat-card:hover .retreat-card-img {
  transform: scale(1.05);
}

.retreat-card-tag {
  position: absolute;
  top: 1rem;
  left: 1rem;
  background: rgba(26, 19, 13, 0.8);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #F8F4EE;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  border: 1px solid rgba(184, 151, 88, 0.45);
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  font-family: var(--font-primary) !important;
}

.retreat-card-body {
  padding: 1.85rem 1.75rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.retreat-card-title {
  font-family: var(--font-primary) !important;
  font-size: 1.25rem;
  color: #231C18;
  margin: 0 0 0.8rem;
  font-weight: 700;
  line-height: 1.35;
}

.retreat-card-excerpt {
  font-family: var(--font-primary) !important;
  font-size: 0.94rem;
  color: #524339;
  line-height: 1.68;
  margin: 0 0 1.5rem;
  flex-grow: 1;
}

.retreat-card-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--gold-primary);
  text-decoration: none;
  letter-spacing: 0.05em;
  transition: color 0.3s ease, gap 0.3s ease;
  margin-top: auto;
}

.retreat-card-link:hover {
  color: #4D391A;
  gap: 0.75rem;
}

.retreat-card-link svg {
  transition: transform 0.3s ease;
}

.retreat-card-link:hover svg {
  transform: translateX(3px);
}

@media (max-width: 1024px) {
  .retreats-gallery-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}

@media (max-width: 768px) {
  .retreats-gallery-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .previous-retreats-section {
    padding: 4rem 0 5rem;
  }
}

/* ==========================================================================
   GLOBAL LAPTOP & DISPLAY SCALING TUNING (13"-16" LAPTOPS & WINDOWS 125%/150% DPI)
   Maintains the proportional visual breathing room and aspect ratio of 22" desktop
   ========================================================================== */
/* ==========================================================================
   SUBPAGE HEADER CLEARANCE (Guarantees no heading is cut off by fixed 76px header)
   ========================================================================== */
body.page-subpage .subpage-hero,
body.page-subpage .filippo-hero-section,
body.page-subpage .filippo-hero-split-section {
  padding-top: calc(76px + clamp(2.2rem, 5vh, 4rem)) !important;
}

/* ==========================================================================
   GLOBAL LAPTOP & DISPLAY SCALING TUNING (13"-16" LAPTOPS & WINDOWS 125%/150% DPI)
   Maintains the proportional visual breathing room and aspect ratio of 22" desktop
   ========================================================================== */
@media (min-width: 1025px) and (max-height: 860px) {
  .saga-dell-anima-wrapper section:not(.hero-section):not(.subpage-hero):not(.filippo-hero-section):not(.filippo-hero-split-section),
  #viaggio,
  #filosofia,
  .filippo-timeline-section,
  .previous-retreats-section,
  .saga-dell-anima-wrapper .booking-section {
    padding-top: clamp(2.5rem, 4.5vh, 4rem) !important;
    padding-bottom: clamp(2.5rem, 4.5vh, 4rem) !important;
  }

  /* Subpage Heros - Always protect fixed 76px header clearance */
  body.page-subpage .subpage-hero,
  body.page-subpage .filippo-hero-section,
  body.page-subpage .filippo-hero-split-section {
    padding-top: calc(76px + clamp(1.8rem, 3.5vh, 3.2rem)) !important;
    padding-bottom: clamp(1.8rem, 3.5vh, 3rem) !important;
  }

  .section-header,
  .filippo-section-header,
  .previous-retreats-header {
    margin-bottom: clamp(1.5rem, 2.8vh, 2.4rem) !important;
  }

  .viaggio-top-split,
  .filippo-viaggio-split,
  .philosophy-combined-split {
    margin-bottom: clamp(1.5rem, 2.8vh, 2.4rem) !important;
  }

  .phil-right-col .circle-of-life-stage {
    max-width: clamp(480px, 38vw, 620px) !important;
    height: clamp(480px, 38vw, 620px) !important;
    --orbit-radius: clamp(170px, 14vw, 215px) !important;
  }

  .circle-node-card {
    width: clamp(140px, 11vw, 175px) !important;
    height: clamp(140px, 11vw, 175px) !important;
  }

  .circle-hub-medallion {
    width: clamp(130px, 10vw, 160px) !important;
    height: clamp(130px, 10vw, 160px) !important;
  }

  .reviews-carousel-wrapper {
    margin-top: clamp(1.8rem, 2.8vh, 2.4rem) !important;
  }

  .filippo-cutout-img {
    max-height: clamp(340px, 52vh, 520px) !important;
  }
}

@media (min-width: 1025px) and (max-height: 720px) {
  .saga-dell-anima-wrapper section:not(.hero-section):not(.subpage-hero):not(.filippo-hero-section):not(.filippo-hero-split-section),
  #viaggio,
  #filosofia,
  .filippo-timeline-section,
  .previous-retreats-section,
  .saga-dell-anima-wrapper .booking-section {
    padding-top: clamp(2rem, 3.8vh, 3rem) !important;
    padding-bottom: clamp(2rem, 3.8vh, 3rem) !important;
  }

  /* Subpage Heros - Always protect fixed 76px header clearance */
  body.page-subpage .subpage-hero,
  body.page-subpage .filippo-hero-section,
  body.page-subpage .filippo-hero-split-section {
    padding-top: calc(76px + clamp(1.4rem, 2.8vh, 2.4rem)) !important;
    padding-bottom: clamp(1.4rem, 2.8vh, 2.4rem) !important;
  }

  .section-header,
  .filippo-section-header,
  .previous-retreats-header {
    margin-bottom: clamp(1.2rem, 2.2vh, 1.8rem) !important;
  }

  .viaggio-top-split,
  .filippo-viaggio-split,
  .philosophy-combined-split {
    margin-bottom: clamp(1.2rem, 2.2vh, 1.8rem) !important;
  }

  .phil-right-col .circle-of-life-stage {
    max-width: clamp(420px, 35vw, 540px) !important;
    height: clamp(420px, 35vw, 540px) !important;
    --orbit-radius: clamp(150px, 12vw, 185px) !important;
  }

  .circle-node-card {
    width: clamp(125px, 9.5vw, 150px) !important;
    height: clamp(125px, 9.5vw, 150px) !important;
  }

  .circle-hub-medallion {
    width: clamp(115px, 8.5vw, 140px) !important;
    height: clamp(115px, 8.5vw, 140px) !important;
  }

  .filippo-cutout-img {
    max-height: clamp(300px, 46vh, 440px) !important;
  }
}

/* ==========================================================================
   MOBILE HERO SECTION REFINEMENTS (iPhone 17 Pro Max, Pro, & Mobile Viewports)
   - Moves eagle closer to the fixed header on mobile only
   - Centers headline, subtext, and CTA buttons in the space below the eagle
   - Guarantees buttons float safely above Safari/Chrome mobile bottom toolbars
   ========================================================================== */
@media (max-width: 768px) {
  /* Mobile Header & Sidebar Brand Logo Sizing */
  .saga-dell-anima-wrapper header,
  header {
    height: 72px !important;
  }
  .saga-dell-anima-wrapper .header-center,
  .header-center {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .saga-dell-anima-wrapper .brand-logo,
  .brand-logo {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .saga-dell-anima-wrapper header .brand-logo-img,
  header .brand-logo-img,
  .saga-dell-anima-wrapper .brand-logo-img,
  .brand-logo-img {
    height: clamp(42px, 10.5vw, 51px) !important;
    max-width: clamp(158px, 42vw, 195px) !important;
    object-fit: contain !important;
  }
  .saga-dell-anima-wrapper .sidebar-logo-img,
  .sidebar-logo-img {
    height: 50px !important;
    max-width: 200px !important;
    object-fit: contain !important;
  }

  .saga-dell-anima-wrapper .hero-section {
    min-height: 100vh !important;
    min-height: 100dvh !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: center !important;
    background-image: url('../images/hero/hero-hawk-bg.webp') !important;
    background-size: auto 118% !important;
    background-position: center clamp(-80px, -8.5vh, -45px) !important;
    background-repeat: no-repeat !important;
    padding-top: calc(70px + 43vh) !important;
    padding-bottom: clamp(2.5rem, 6vh, 4.5rem) !important;
    box-sizing: border-box !important;
  }
  .saga-dell-anima-wrapper .hero-container {
    padding: 0 1.25rem !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: auto !important;
    margin-bottom: auto !important;
    box-sizing: border-box !important;
  }
  .saga-dell-anima-wrapper .hero-content {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }
  .saga-dell-anima-wrapper .hero-headline {
    font-size: clamp(1.2rem, 5.2vw, 1.65rem) !important;
    line-height: 1.15 !important;
    letter-spacing: 0.04em !important;
    margin-bottom: clamp(0.65rem, 1.6vh, 0.95rem) !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .saga-dell-anima-wrapper .hero-headline span {
    display: block !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
  .saga-dell-anima-wrapper .hero-subtext {
    font-size: clamp(0.8rem, 3.4vw, 0.95rem) !important;
    line-height: 1.55 !important;
    max-width: 440px !important;
    width: 100% !important;
    margin: 0 auto clamp(0.9rem, 2.2vh, 1.4rem) !important;
    padding: 0 0.5rem !important;
  }
  .saga-dell-anima-wrapper .hero-cta-group {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0.65rem !important;
    width: 100% !important;
    max-width: 100% !important;
    flex-wrap: wrap !important;
  }
  .saga-dell-anima-wrapper .hero-section .btn-primary,
  .saga-dell-anima-wrapper .hero-section .btn-secondary {
    padding: 0.68rem 1.15rem !important;
    font-size: 0.74rem !important;
    letter-spacing: 0.08em !important;
    white-space: nowrap !important;
    flex: 0 1 auto !important;
    box-sizing: border-box !important;
  }

  /* Hide the 3 threshold journey cards on mobile only */
  .viaggio-horizontal-cards {
    display: none !important;
  }

  /* Il Viaggio dell'Anima Mobile Layout: Images Above Text & Centered Editorial */
  #viaggio .viaggio-top-split {
    display: flex !important;
    flex-direction: column !important;
    gap: 2.2rem !important;
    margin-bottom: 0 !important;
  }

  #viaggio .viaggio-right-images {
    order: 1 !important;
    width: 100% !important;
    max-width: 480px !important;
    margin: 0 auto !important;
  }

  #viaggio .viaggio-images-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 0.85rem !important;
    width: 100% !important;
  }

  #viaggio .viaggio-left-content {
    order: 2 !important;
    text-align: left !important;
    align-items: flex-start !important;
    width: 100% !important;
  }

  #viaggio .viaggio-thesis-wrap {
    text-align: left !important;
    border-left: 2.5px solid rgba(168, 137, 78, 0.65) !important;
    padding-left: 1.4rem !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    margin-bottom: 1.45rem !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  #viaggio .viaggio-thesis-quote,
  .phil-thesis-quote,
  .filippo-left-content .viaggio-thesis-quote {
    text-align: left !important;
    font-family: var(--font-primary) !important;
    font-size: clamp(1.4rem, 5.2vw, 1.85rem) !important;
    line-height: 1.3 !important;
    color: #231C18 !important;
    font-weight: 500 !important;
    letter-spacing: -0.01em !important;
    margin: 0 !important;
  }

  #viaggio .viaggio-thesis-quote strong,
  .phil-thesis-quote strong,
  .filippo-left-content .viaggio-thesis-quote strong {
    display: block !important;
    margin-top: 0.35rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.05em !important;
    color: #5C4320 !important;
    text-transform: uppercase !important;
    font-size: 0.85em !important;
    text-align: left !important;
    line-height: 1.35 !important;
  }

  #viaggio .viaggio-narrative-prose {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    max-width: 100% !important;
    font-size: clamp(1rem, 3.8vw, 1.15rem) !important;
    line-height: 1.75 !important;
  }

  #viaggio .viaggio-narrative-prose p {
    text-align: left !important;
  }

  /* ==========================================================================
     THE 6 PRINCIPLES CIRCLE OF LIFE MANDALA (Mobile & Tablet Viewports <= 768px)
     - Preserves the full 360° celestial rotating wheel with concentric orbit rings
     - Mathematically centered in the mobile viewport with generous side padding
     - Opulent black & glowing gold center medallion ("I 6 PRINCIPI")
     - 6 soft-cream circular cards orbiting with crisp, legible typography
     - Smooth 60° auto-rotation with touch-pause and interactive card tap
     ========================================================================== */
  .philosophy-combined-split {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    gap: clamp(1.8rem, 3.5vh, 2.5rem) !important;
  }

  .phil-left-col {
    display: contents !important;
  }

  .phil-vision-text-block {
    display: contents !important;
  }

  .phil-right-col {
    order: 1 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .phil-thesis-wrap {
    order: 2 !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin-bottom: 0 !important;
  }

  .phil-narrative-prose {
    order: 3 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .phil-4cards-grid {
    order: 4 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .phil-left-col,
  .phil-right-col {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* 4 Cammini Cards in 2x2 Grid on Mobile & Tablet */
  .phil-4cards-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: clamp(0.55rem, 2vw, 0.85rem) !important;
  }
  .phil-4cards-grid .phil-cammino-card,
  .phil-cammino-card:not(.filippo-pillar-card) {
    padding: clamp(0.85rem, 2.5vw, 1.15rem) clamp(0.65rem, 2vw, 0.85rem) !important;
    border-radius: 12px !important;
  }
  .phil-4cards-grid .phil-card-header-row,
  .phil-cammino-card:not(.filippo-pillar-card) .phil-card-header-row {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 0.35rem !important;
    margin-bottom: 0.5rem !important;
  }
  .phil-4cards-grid .phil-card-title,
  .phil-cammino-card:not(.filippo-pillar-card) .phil-card-title {
    font-size: clamp(0.68rem, 2.3vw, 0.82rem) !important;
    line-height: 1.25 !important;
    letter-spacing: 0.03em !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #231C18 !important;
    margin: 0 !important;
  }
  .phil-4cards-grid .card-wellness-icon,
  .phil-cammino-card:not(.filippo-pillar-card) .card-wellness-icon {
    width: clamp(18px, 4.5vw, 22px) !important;
    height: clamp(18px, 4.5vw, 22px) !important;
    flex-shrink: 0 !important;
    margin-bottom: 0 !important;
  }
  .phil-4cards-grid .phil-card-desc,
  .phil-cammino-card:not(.filippo-pillar-card) .phil-card-desc {
    font-size: clamp(0.58rem, 1.8vw, 0.68rem) !important;
    line-height: 1.42 !important;
    color: #6A5849 !important;
    margin: 0 !important;
  }

  /* Filippo Curto - Spiritual Wellness Pillar Cards Mobile Enhancement */
  .filippo-wellness-grid {
    gap: clamp(2rem, 4.5vw, 2.8rem) !important;
  }
  .filippo-wellness-pillars {
    display: flex !important;
    flex-direction: column !important;
    gap: clamp(1.15rem, 3.2vw, 1.45rem) !important;
    width: 100% !important;
  }
  .filippo-pillar-card,
  .phil-cammino-card.filippo-pillar-card,
  .filippo-wellness-pillars .phil-cammino-card {
    padding: clamp(1.4rem, 4.2vw, 1.75rem) clamp(1.25rem, 3.8vw, 1.55rem) !important;
    border-radius: 16px !important;
    background: #F3ECE2 !important;
    border: 1px solid rgba(168, 137, 78, 0.3) !important;
    box-shadow: 0 4px 18px rgba(50, 36, 22, 0.05) !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .filippo-pillar-card .phil-card-header-row,
  .filippo-wellness-pillars .phil-card-header-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 0.85rem !important;
    gap: 1rem !important;
  }
  .filippo-pillar-card .filippo-pillar-title,
  .filippo-pillar-card .phil-card-title,
  .filippo-wellness-pillars .phil-card-title {
    font-family: 'Montserrat', sans-serif !important;
    font-size: clamp(0.95rem, 2.8vw, 1.08rem) !important;
    line-height: 1.35 !important;
    letter-spacing: 0.035em !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    color: #231C18 !important;
    margin: 0 !important;
    flex: 1 !important;
  }
  .filippo-pillar-card .card-wellness-icon,
  .filippo-wellness-pillars .card-wellness-icon {
    width: clamp(28px, 7vw, 34px) !important;
    height: clamp(28px, 7vw, 34px) !important;
    flex-shrink: 0 !important;
    color: #8C6D37 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
  }
  .filippo-pillar-card .card-wellness-icon svg,
  .filippo-wellness-pillars .card-wellness-icon svg {
    width: 100% !important;
    height: 100% !important;
    stroke-width: 1.8 !important;
    stroke: currentColor !important;
  }
  .filippo-pillar-card .filippo-pillar-text,
  .filippo-pillar-card .phil-card-desc,
  .filippo-wellness-pillars .phil-card-desc {
    font-family: 'Montserrat', sans-serif !important;
    font-size: clamp(0.88rem, 2.5vw, 0.98rem) !important;
    line-height: 1.68 !important;
    color: #5A483B !important;
    margin: 0 !important;
  }

  .phil-right-col {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    overflow: visible !important;
    padding: 1.5rem 0 !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }

  .phil-right-col .circle-of-life-stage {
    position: relative !important;
    --stage-size: clamp(310px, 88vw, 355px) !important;
    width: var(--stage-size) !important;
    height: var(--stage-size) !important;
    max-width: 355px !important;
    max-height: 355px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    --orbit-radius: calc(var(--stage-size) * 0.342) !important;
    --hub-size: calc(var(--stage-size) * 0.29) !important;
    --card-size: calc(var(--stage-size) * 0.322) !important;
    box-sizing: border-box !important;
  }

  .phil-right-col .circle-orbit-svg {
    display: block !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: 100% !important;
    height: 100% !important;
    pointer-events: none !important;
    z-index: 0 !important;
  }

  .phil-right-col .circle-center-hub {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    width: var(--hub-size) !important;
    height: var(--hub-size) !important;
    margin: 0 !important;
    z-index: 3 !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  .phil-right-col .circle-pulse-ring.ring-1 {
    width: calc(var(--hub-size) * 1.15) !important;
    height: calc(var(--hub-size) * 1.15) !important;
  }

  .phil-right-col .circle-pulse-ring.ring-2 {
    width: calc(var(--hub-size) * 1.32) !important;
    height: calc(var(--hub-size) * 1.32) !important;
  }

  .phil-right-col .circle-hub-medallion {
    width: var(--hub-size) !important;
    height: var(--hub-size) !important;
    border-radius: 50% !important;
    background: radial-gradient(circle at center, #281F17 0%, #15100C 100%) !important;
    border: 2px solid rgba(226, 183, 104, 0.75) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4), 0 0 0 4px rgba(226, 183, 104, 0.16) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  .phil-right-col .circle-hub-medallion .circle-hub-title,
  .saga-dell-anima-wrapper .circle-hub-medallion .circle-hub-title,
  .saga-dell-anima-wrapper .circle-hub-title {
    font-family: var(--font-primary) !important;
    font-size: clamp(0.68rem, 2.2vw, 0.78rem) !important;
    font-weight: 800 !important;
    letter-spacing: 0.04em !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
    color: #F3CA7E !important;
    -webkit-text-fill-color: #F3CA7E !important;
    text-shadow: 0 0 10px rgba(243, 202, 126, 0.7), 0 0 20px rgba(226, 183, 104, 0.45), 0 2px 6px rgba(0, 0, 0, 0.95) !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: block !important;
    text-align: center !important;
    text-wrap: balance !important;
  }

  .phil-right-col .circle-nodes-orbit {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: block !important;
    transform-origin: center center !important;
    transform: rotate(var(--wheel-rot, 0deg)) !important;
    transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1) !important;
    pointer-events: none !important;
    z-index: 2 !important;
  }

  .phil-right-col .circle-node-card {
    position: absolute !important;
    width: var(--card-size) !important;
    height: var(--card-size) !important;
    border-radius: 50% !important;
    background: radial-gradient(circle at 40% 35%, #FBF7F0 0%, #F4ECE2 100%) !important;
    border: 1.5px solid rgba(168, 137, 78, 0.35) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    transform: translate(-50%, -50%) rotate(var(--counter-rot, 0deg)) !important;
    transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, border-color 0.3s ease !important;
    pointer-events: auto !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    box-shadow: 0 6px 18px rgba(50, 36, 22, 0.09), inset 0 0 14px rgba(255, 255, 255, 0.85) !important;
    overflow: hidden !important;
  }

  .phil-right-col .circle-node-card:hover,
  .phil-right-col .circle-node-card:active {
    transform: translate(-50%, -50%) rotate(var(--counter-rot, 0deg)) scale(1.08) !important;
    box-shadow: 0 10px 24px rgba(156, 122, 60, 0.3), 0 0 0 2px rgba(226, 183, 104, 0.65) !important;
    z-index: 10 !important;
  }

  .phil-right-col .circle-node-card[data-node="1"] { top: calc(50% - var(--orbit-radius)) !important; left: 50% !important; }
  .phil-right-col .circle-node-card[data-node="2"] { top: calc(50% - (var(--orbit-radius) * 0.5)) !important; left: calc(50% + (var(--orbit-radius) * 0.866)) !important; }
  .phil-right-col .circle-node-card[data-node="3"] { top: calc(50% + (var(--orbit-radius) * 0.5)) !important; left: calc(50% + (var(--orbit-radius) * 0.866)) !important; }
  .phil-right-col .circle-node-card[data-node="4"] { top: calc(50% + var(--orbit-radius)) !important; left: 50% !important; }
  .phil-right-col .circle-node-card[data-node="5"] { top: calc(50% + (var(--orbit-radius) * 0.5)) !important; left: calc(50% - (var(--orbit-radius) * 0.866)) !important; }
  .phil-right-col .circle-node-card[data-node="6"] { top: calc(50% - (var(--orbit-radius) * 0.5)) !important; left: calc(50% - (var(--orbit-radius) * 0.866)) !important; }

  .phil-right-col .circle-node-content {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 8px 6px !important;
    box-sizing: border-box !important;
    margin: 0 auto !important;
  }

  .phil-right-col .circle-node-icon {
    width: clamp(14px, 3.8vw, 17px) !important;
    height: clamp(14px, 3.8vw, 17px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 3px !important;
    color: #8C6D37 !important;
  }

  .phil-right-col .circle-node-icon svg {
    width: 100% !important;
    height: 100% !important;
    stroke: currentColor !important;
  }

  .phil-right-col .circle-node-title {
    display: block !important;
    width: 100% !important;
    max-width: 88% !important;
    margin: 0 auto 3px !important;
    text-align: center !important;
    font-family: var(--font-primary) !important;
    font-size: clamp(0.56rem, 1.8vw, 0.68rem) !important;
    line-height: 1.18 !important;
    letter-spacing: 0.035em !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    color: #231C18 !important;
    text-wrap: balance !important;
  }

  .phil-right-col .circle-node-desc {
    display: block !important;
    width: 100% !important;
    max-width: 86% !important;
    margin: 0 auto !important;
    text-align: center !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: clamp(0.44rem, 1.4vw, 0.52rem) !important;
    line-height: 1.25 !important;
    color: #382B20 !important;
    font-weight: 600 !important;
    text-wrap: balance !important;
  }

  /* ==========================================================================
     HOME PAGE FORM / BOOKING SECTION (Mobile Viewport <= 768px)
     - Shows ONLY the Sacred Inquiry invitation block on mobile view
     - Hides the top section header ("Prenota il Tuo Viaggio"), direct contact info pane, and divider
     - Renders clean, high-elegance Sacred Inquiry card directly matching mobile specification
     ========================================================================== */
  .saga-dell-anima-wrapper .booking-section {
    background: transparent !important;
    padding: clamp(2.5rem, 5vh, 4rem) 0 !important;
  }

  .saga-dell-anima-wrapper .booking-section .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 clamp(1.2rem, 5vw, 1.75rem) !important;
    box-sizing: border-box !important;
  }

  .saga-dell-anima-wrapper .booking-section .section-header {
    display: none !important;
  }

  .saga-dell-anima-wrapper .booking-info-pane {
    display: none !important;
  }

  .saga-dell-anima-wrapper .booking-divider {
    display: none !important;
  }

  .saga-dell-anima-wrapper .booking-unified-card {
    display: block !important;
    background: #F3ECE2 !important;
    border: 1px solid rgba(168, 137, 78, 0.35) !important;
    border-radius: 20px !important;
    box-shadow: 0 10px 32px rgba(45, 33, 20, 0.08) !important;
    padding: clamp(1.8rem, 5vw, 2.5rem) clamp(1.2rem, 4.5vw, 1.8rem) !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .saga-dell-anima-wrapper .booking-invite-pane {
    display: flex !important;
    flex-direction: column !important;
    padding: 0 !important;
    background: transparent !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .saga-dell-anima-wrapper .booking-title-desktop {
    display: none !important;
  }

  .saga-dell-anima-wrapper .booking-title-mobile {
    display: inline-block !important;
  }

  .saga-dell-anima-wrapper .booking-invite-title {
    font-family: var(--font-primary), 'Cinzel', Georgia, serif !important;
    font-size: clamp(1.75rem, 6.2vw, 2.15rem) !important;
    font-weight: 800 !important;
    color: #6E5024 !important;
    letter-spacing: 0.04em !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto 1.15rem auto !important;
  }

  .saga-dell-anima-wrapper .booking-invite-desc {
    font-family: 'Montserrat', sans-serif !important;
    font-size: clamp(0.92rem, 2.8vw, 1rem) !important;
    font-weight: 500 !important;
    color: #4A3C33 !important;
    line-height: 1.62 !important;
    text-align: center !important;
    margin: 0 auto 1.85rem auto !important;
  }

  .saga-dell-anima-wrapper .booking-invite-highlights {
    display: flex !important;
    flex-direction: column !important;
    gap: 1.15rem !important;
    margin-bottom: 2.3rem !important;
  }

  .saga-dell-anima-wrapper .booking-highlight-item {
    display: flex !important;
    align-items: center !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: clamp(0.88rem, 2.7vw, 0.98rem) !important;
    font-weight: 600 !important;
    color: #2D241D !important;
    gap: 1.1rem !important;
    line-height: 1.35 !important;
  }

  .saga-dell-anima-wrapper .booking-highlight-icon {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    border-radius: 50% !important;
    background: #FAF6F0 !important;
    border: 1px solid rgba(140, 109, 55, 0.4) !important;
    color: #7A5B28 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 6px rgba(110, 80, 36, 0.1) !important;
    flex-shrink: 0 !important;
  }

  .saga-dell-anima-wrapper .booking-highlight-icon svg {
    width: 17px !important;
    height: 17px !important;
    stroke: currentColor !important;
  }

  .saga-dell-anima-wrapper .btn-sacred-launch {
    width: 100% !important;
    padding: 1.15rem 1.8rem !important;
    font-family: 'Montserrat', sans-serif !important;
    font-size: 0.92rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    color: #FFFFFF !important;
    background: linear-gradient(135deg, #88632B 0%, #68481B 100%) !important;
    box-shadow: 0 10px 28px rgba(104, 72, 27, 0.28) !important;
    border-radius: 9999px !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.85rem !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
  }

  /* ==========================================================================
     MOBILE FOOTER REFINEMENTS (Mobile Viewport <= 768px)
     - Centers all content in the footer (brand logo, excerpt, lists, socials, buttons, copyright)
     - Keeps Navigation and Contact menus side-by-side in a 2-column layout
     ========================================================================== */
  .saga-dell-anima-wrapper footer,
  footer {
    padding: clamp(3rem, 6vh, 4rem) 0 2rem !important;
    text-align: center !important;
  }

  .saga-dell-anima-wrapper .footer-container,
  .footer-container {
    padding: 0 clamp(1rem, 4vw, 1.5rem) !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }

  .saga-dell-anima-wrapper .footer-grid,
  .footer-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 2.2rem clamp(1rem, 3.5vw, 1.8rem) !important;
    text-align: center !important;
    justify-items: center !important;
    width: 100% !important;
    margin-bottom: 2.5rem !important;
  }

  .saga-dell-anima-wrapper .footer-brand-col,
  .footer-brand-col {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }

  .saga-dell-anima-wrapper .footer-brand-link,
  .footer-brand-link {
    display: flex !important;
    justify-content: center !important;
    margin: 0 auto 1.2rem auto !important;
  }

  .saga-dell-anima-wrapper .footer-logo-img,
  .footer-logo-img {
    margin: 0 auto !important;
    height: clamp(75px, 20vw, 95px) !important;
    max-width: clamp(220px, 65vw, 290px) !important;
    object-fit: contain !important;
    display: block !important;
  }

  .saga-dell-anima-wrapper .footer-excerpt,
  .footer-excerpt {
    text-align: center !important;
    margin: 0 auto !important;
    max-width: 320px !important;
    font-size: 0.84rem !important;
    line-height: 1.65 !important;
  }

  .saga-dell-anima-wrapper footer h4,
  .saga-dell-anima-wrapper footer .footer-col-title,
  .footer-col-title {
    text-align: center !important;
    margin-bottom: 1rem !important;
    font-size: 0.82rem !important;
    letter-spacing: 0.12em !important;
  }

  .saga-dell-anima-wrapper .footer-list,
  .footer-list {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 0.75rem !important;
    width: 100% !important;
    padding: 0 !important;
  }

  .saga-dell-anima-wrapper .footer-list li,
  .footer-list li {
    width: 100% !important;
    text-align: center !important;
  }

  .saga-dell-anima-wrapper .footer-list li a,
  .footer-list li a {
    display: inline-block !important;
    text-align: center !important;
    font-size: 0.84rem !important;
  }

  .saga-dell-anima-wrapper .footer-list li a:hover,
  .footer-list li a:hover {
    padding-left: 0 !important;
  }

  .saga-dell-anima-wrapper .footer-contact-item,
  .footer-contact-item {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    gap: 0.45rem !important;
    font-size: 0.8rem !important;
    word-break: break-word !important;
  }

  .saga-dell-anima-wrapper .footer-contact-icon,
  .footer-contact-icon {
    margin-top: 0 !important;
  }

  .saga-dell-anima-wrapper .footer-touch-col,
  .footer-touch-col {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }

  .saga-dell-anima-wrapper .footer-touch-col p,
  .footer-touch-col p {
    text-align: center !important;
    margin: 0 auto 1.2rem auto !important;
    max-width: 320px !important;
    font-size: 0.84rem !important;
  }

  .saga-dell-anima-wrapper .footer-social-menu,
  .footer-social-menu {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin: 0 auto 1.4rem auto !important;
    gap: 0.85rem !important;
  }

  .saga-dell-anima-wrapper .footer-touch-btn,
  .footer-touch-btn {
    margin: 0 auto !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
  }

  .saga-dell-anima-wrapper .footer-bottom-bar,
  .footer-bottom-bar {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    gap: 0.65rem !important;
    padding-top: 1.8rem !important;
  }

  .saga-dell-anima-wrapper .footer-bottom-bar div,
  .footer-bottom-bar div {
    text-align: center !important;
  }
}

@media (max-width: 400px) {
  .saga-dell-anima-wrapper .hero-section {
    background-image: url('../images/hero/hero-hawk-bg.webp') !important;
    background-size: auto 118% !important;
    background-position: center clamp(-60px, -7.5vh, -35px) !important;
    background-repeat: no-repeat !important;
    padding-top: calc(65px + 41vh) !important;
    padding-bottom: 2rem !important;
  }
  .saga-dell-anima-wrapper .hero-container {
    padding: 0 0.75rem !important;
    margin-top: auto !important;
    margin-bottom: auto !important;
  }
  .saga-dell-anima-wrapper .hero-headline {
    font-size: clamp(1rem, 4.8vw, 1.25rem) !important;
    letter-spacing: 0.03em !important;
    line-height: 1.15 !important;
    margin-bottom: 0.55rem !important;
  }
  .saga-dell-anima-wrapper .hero-subtext {
    font-size: 0.78rem !important;
    line-height: 1.5 !important;
    max-width: 330px !important;
    margin: 0 auto 0.95rem !important;
    padding: 0 !important;
  }
  .saga-dell-anima-wrapper .hero-cta-group {
    gap: 0.5rem !important;
  }
  .saga-dell-anima-wrapper .hero-section .btn-primary,
  .saga-dell-anima-wrapper .hero-section .btn-secondary {
    padding: 0.62rem 0.85rem !important;
    font-size: 0.68rem !important;
    letter-spacing: 0.06em !important;
  }
}

@media (max-width: 340px) {
  .saga-dell-anima-wrapper .hero-headline {
    font-size: 0.95rem !important;
    letter-spacing: 0.02em !important;
  }
  .saga-dell-anima-wrapper .hero-cta-group {
    flex-direction: column !important;
    width: 100% !important;
    gap: 0.5rem !important;
  }
  .saga-dell-anima-wrapper .hero-section .btn-primary,
  .saga-dell-anima-wrapper .hero-section .btn-secondary {
    width: 100% !important;
    max-width: 250px !important;
    text-align: center !important;
    justify-content: center !important;
  }
}

@media (max-height: 500px) and (orientation: landscape) {
  .saga-dell-anima-wrapper .hero-section {
    padding-top: 4.5rem !important;
    padding-bottom: 1.25rem !important;
    min-height: 100vh !important;
  }
  .saga-dell-anima-wrapper .hero-headline {
    font-size: 1.15rem !important;
    margin-bottom: 0.4rem !important;
  }
  .saga-dell-anima-wrapper .hero-subtext {
    font-size: 0.76rem !important;
    line-height: 1.4 !important;
    margin-bottom: 0.75rem !important;
    max-width: 500px !important;
  }
  .saga-dell-anima-wrapper .hero-section .btn-primary,
  .saga-dell-anima-wrapper .hero-section .btn-secondary {
    padding: 0.5rem 1rem !important;
    font-size: 0.7rem !important;
  }
}

/* ==========================================================================
   SACRED RETREAT CARDS: MEN'S & WOMEN'S SACRED RETREATS (Bento Showcase)
   ========================================================================== */
.retreat-card {
  background: linear-gradient(135deg, #F5EFE7 0%, #EFE5D7 100%) !important;
  border: 1px solid var(--border-gold) !important;
  border-radius: 14px !important;
  padding: clamp(2.2rem, 3.5vw, 3.4rem) !important;
  box-sizing: border-box !important;
  box-shadow: 0 4px 20px rgba(50, 36, 22, 0.05) !important;
}

/* Two-column grid covering full card height with vertical centering */
.retreat-card-inner {
  display: grid !important;
  grid-template-columns: 1.15fr 0.85fr !important;
  gap: clamp(2rem, 3.5vw, 3.8rem) !important;
  align-items: center !important;
}

/* Flipped version for Women's retreat: Journey on Left (0.85fr), Narrative on Right (1.15fr) */
.retreat-card-inner.flipped {
  grid-template-columns: 0.85fr 1.15fr !important;
}

@media (max-width: 960px) {
  .retreat-card-inner,
  .retreat-card-inner.flipped {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
  .retreat-card-inner.flipped .retreat-narrative {
    order: 1 !important;
  }
  .retreat-card-inner.flipped .retreat-percorso {
    order: 2 !important;
  }
}

/* Narrative Column */
.retreat-narrative {
  display: flex !important;
  flex-direction: column !important;
  gap: 1.15rem !important;
}

.retreat-title {
  font-family: var(--font-primary) !important;
  font-size: clamp(1.55rem, 2.3vw, 2.05rem) !important;
  font-weight: 800 !important;
  color: #231C18 !important;
  letter-spacing: 0.05em !important;
  margin: 0 0 0.35rem 0 !important;
  line-height: 1.25 !important;
  text-transform: uppercase !important;
}

.retreat-subtitle {
  font-family: var(--font-primary) !important;
  font-size: clamp(0.95rem, 1.2vw, 1.1rem) !important;
  font-weight: 500 !important;
  font-style: italic !important;
  color: var(--gold-primary) !important;
  margin: 0 0 0.75rem 0 !important;
  line-height: 1.4 !important;
}

.retreat-lead {
  font-family: var(--font-primary) !important;
  font-size: 1.02rem !important;
  font-weight: 600 !important;
  color: #382C24 !important;
  line-height: 1.65 !important;
  margin: 0 0 0.35rem 0 !important;
}

.retreat-quote {
  border-left: 3px solid var(--gold-primary) !important;
  padding-left: 1.15rem !important;
  margin: 0.15rem 0 !important;
  font-family: var(--font-primary) !important;
}

.retreat-quote-line1 {
  display: block !important;
  font-size: 0.95rem !important;
  font-style: italic !important;
  color: #5A4739 !important;
  line-height: 1.5 !important;
  margin-bottom: 0.2rem !important;
}

.retreat-quote-line2 {
  display: block !important;
  font-size: 1.02rem !important;
  font-weight: 700 !important;
  color: #231C18 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.02em !important;
}

.retreat-desc {
  font-family: var(--font-primary) !important;
  font-size: 0.95rem !important;
  color: #524339 !important;
  line-height: 1.75 !important;
  margin: 0 !important;
}

/* Journey Widget Box (Balanced & Centered) */
.retreat-percorso {
  background: rgba(244, 238, 229, 0.5) !important;
  border: 1px solid rgba(140, 109, 55, 0.22) !important;
  border-radius: 12px !important;
  padding: clamp(1.6rem, 2.2vw, 2.2rem) clamp(1.4rem, 2vw, 1.8rem) !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1.25rem !important;
  justify-content: center !important;
  box-shadow: 0 2px 10px rgba(50, 36, 22, 0.03) !important;
}

.retreat-percorso-title {
  font-family: var(--font-primary) !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  color: #231C18 !important;
  text-transform: uppercase !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.55rem !important;
}

.retreat-percorso-title span {
  color: var(--gold-primary) !important;
  font-size: 0.82rem !important;
}

.retreat-days-stack {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.9rem !important;
}

.retreat-day-pill {
  background: #FAF6F0 !important;
  border: 1px solid rgba(140, 109, 55, 0.2) !important;
  border-radius: 8px !important;
  padding: 1.05rem 1.35rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease !important;
}

.retreat-day-pill:hover {
  border-color: var(--gold-primary) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(140, 109, 55, 0.08) !important;
}

.retreat-day-tag {
  font-family: var(--font-primary) !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  color: var(--gold-primary) !important;
  letter-spacing: 0.08em !important;
  white-space: nowrap !important;
}

.retreat-day-name {
  font-family: var(--font-primary) !important;
  font-size: 0.92rem !important;
  font-weight: 700 !important;
  color: #231C18 !important;
  letter-spacing: 0.05em !important;
  text-align: right !important;
}

/* ==========================================================================
   FILIPPO CURTO HERO PHOTO FRAME (Replacing Cutout & Shape Graphic)
   ========================================================================== */
.filippo-hero-photo-col {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
}

.filippo-hero-photo-wrap {
  width: 100% !important;
  max-width: clamp(320px, 30vw, 440px) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 18px 45px rgba(50, 36, 22, 0.16) !important;
  border: 1px solid var(--border-gold) !important;
  background: #EFE5D7 !important;
  position: relative !important;
}

.filippo-hero-photo-img {
  width: 100% !important;
  height: auto !important;
  max-height: clamp(480px, 65vh, 620px) !important;
  object-fit: cover !important;
  object-position: center 20% !important;
  display: block !important;
}

@media (max-width: 992px) {
  .filippo-hero-photo-col {
    order: -1 !important;
    margin-bottom: 2rem !important;
  }
  .filippo-hero-photo-wrap {
    max-width: clamp(280px, 75vw, 380px) !important;
  }
}

/* Single Wellness Portrait Styling */
.filippo-wellness-gallery-single {
  grid-template-columns: 1fr !important;
  max-width: 440px !important;
  width: 100% !important;
  margin: 0 auto !important;
}

.filippo-wellness-gallery-single .filippo-wellness-card {
  border-radius: 16px !important;
  border: 1px solid var(--border-gold) !important;
  box-shadow: 0 16px 40px rgba(50, 36, 22, 0.12) !important;
}

.filippo-wellness-gallery-single .filippo-wellness-img-wrap {
  aspect-ratio: 4 / 5 !important;
  min-height: clamp(380px, 48vh, 520px) !important;
  border-radius: 16px !important;
}

/* ==========================================================================
   SACRED CIRCLE MODAL (ADBLOCK-IMMUNE & DESKTOP RESPONSIVE)
   ========================================================================== */

.sda-circle-overlay.is-open,
.newsletter-modal-overlay.is-open,
#sda-circle-dialog.is-open,
#newsletter-modal.is-open {
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.sda-circle-overlay,
.newsletter-modal-overlay {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  margin: 0 !important;
  background: rgba(16, 12, 9, 0.82) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  z-index: 2147483647 !important;
  display: none;
  align-items: center !important;
  justify-content: center !important;
  padding: 1.25rem !important;
  box-sizing: border-box !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  opacity: 0;
  transition: opacity 0.35s ease;
}

.sda-circle-window,
.newsletter-modal-window {
  background: linear-gradient(135deg, #F8F3EC 0%, #EFE5D7 100%) !important;
  border: 1px solid var(--border-gold, rgba(140, 109, 55, 0.28)) !important;
  border-radius: 20px !important;
  box-shadow: 0 25px 60px rgba(25, 18, 12, 0.35) !important;
  width: 100% !important;
  max-width: 840px !important;
  max-height: min(90vh, 650px) !important;
  margin: auto !important;
  display: grid !important;
  grid-template-columns: 0.95fr 1.05fr !important;
  overflow: hidden !important;
  position: relative !important;
  box-sizing: border-box !important;
  animation: sdaModalPopIn 0.45s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
}

@keyframes sdaModalPopIn {
  0% { transform: scale(0.92) translateY(20px); opacity: 0; }
  100% { transform: scale(1) translateY(0); opacity: 1; }
}

.sda-circle-close-btn,
.newsletter-close-btn {
  position: absolute !important;
  top: 1rem !important;
  right: 1rem !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.75) !important;
  border: 1px solid rgba(140, 109, 55, 0.25) !important;
  color: #4A3E34 !important;
  font-size: 1.35rem !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  z-index: 20 !important;
  transition: all 0.25s ease !important;
}

.sda-circle-close-btn:hover,
.newsletter-close-btn:hover {
  background: #8C6D37 !important;
  color: #FAF6F0 !important;
  transform: rotate(90deg) !important;
}

.sda-circle-photo-col,
.newsletter-photo-col {
  position: relative !important;
  min-height: 0 !important;
  height: 100% !important;
  background: #1C1814 !important;
  overflow: hidden !important;
}

.sda-circle-photo-img,
.newsletter-photo-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.sda-circle-photo-col:hover .sda-circle-photo-img,
.newsletter-photo-col:hover .newsletter-photo-img {
  transform: scale(1.03) !important;
}

.sda-circle-photo-overlay,
.newsletter-photo-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(to top, rgba(20, 16, 13, 0.65) 0%, transparent 60%) !important;
  pointer-events: none !important;
}

.sda-circle-photo-caption,
.newsletter-photo-caption {
  position: absolute !important;
  bottom: 1.25rem !important;
  left: 1.25rem !important;
  right: 1.25rem !important;
  color: #FAF6F0 !important;
  font-family: var(--font-primary, 'Montserrat', sans-serif) !important;
  font-size: 0.82rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  text-shadow: 0 2px 8px rgba(0,0,0,0.5) !important;
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem !important;
}

.sda-circle-photo-caption span,
.newsletter-photo-caption span {
  color: #D4AF37 !important;
}

.sda-circle-content-col,
.newsletter-content-col {
  padding: clamp(1.4rem, 2.2vw, 2.2rem) clamp(1.4rem, 2vw, 2rem) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: clamp(0.6rem, 1.2vw, 0.95rem) !important;
  box-sizing: border-box !important;
  overflow-y: auto !important;
  max-height: min(90vh, 650px) !important;
}

.sda-circle-tag,
.newsletter-tag {
  font-family: var(--font-primary, 'Montserrat', sans-serif) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  color: var(--gold-primary, #8C6D37) !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

.sda-circle-title,
.newsletter-title {
  font-family: var(--font-primary, 'Montserrat', sans-serif) !important;
  font-size: clamp(1.25rem, 1.8vw, 1.65rem) !important;
  font-weight: 800 !important;
  color: #231C18 !important;
  line-height: 1.25 !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  margin: 0 !important;
}

.sda-circle-desc,
.newsletter-desc {
  font-family: var(--font-primary, 'Montserrat', sans-serif) !important;
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
  color: #55453A !important;
  margin: 0 !important;
}

.sda-circle-form,
.newsletter-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
  margin-top: 0.15rem !important;
}

.sda-circle-input-group,
.newsletter-input-group {
  position: relative !important;
  width: 100% !important;
}

.sda-circle-input,
.newsletter-input {
  width: 100% !important;
  padding: 0.8rem 1.1rem !important;
  border: 1px solid rgba(140, 109, 55, 0.35) !important;
  border-radius: 8px !important;
  background: #FAF7F2 !important;
  font-family: var(--font-primary, 'Montserrat', sans-serif) !important;
  font-size: 0.92rem !important;
  color: #231C18 !important;
  box-sizing: border-box !important;
  transition: all 0.25s ease !important;
}

.sda-circle-input:focus,
.newsletter-input:focus {
  outline: none !important;
  border-color: var(--gold-primary, #8C6D37) !important;
  box-shadow: 0 0 0 3px rgba(140, 109, 55, 0.15) !important;
  background: #FFFFFF !important;
}

.sda-circle-submit-btn,
.newsletter-submit-btn {
  width: 100% !important;
  padding: 0.85rem 1.3rem !important;
  background: linear-gradient(135deg, #8C6D37 0%, #6E5326 100%) !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: var(--font-primary, 'Montserrat', sans-serif) !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  box-shadow: 0 4px 15px rgba(140, 109, 55, 0.28) !important;
  transition: all 0.3s ease !important;
}

.sda-circle-submit-btn:hover,
.newsletter-submit-btn:hover {
  background: linear-gradient(135deg, #A07D3E 0%, #7E602C 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(140, 109, 55, 0.38) !important;
}

.sda-circle-privacy,
.newsletter-privacy {
  font-family: var(--font-primary, 'Montserrat', sans-serif) !important;
  font-size: 0.74rem !important;
  color: #7A695C !important;
  line-height: 1.45 !important;
  margin: 0 !important;
}

/* Success State */
.sda-circle-success-box,
.newsletter-success-box {
  display: none;
  padding: 1.5rem 0 !important;
  text-align: center !important;
}

.sda-circle-success-title,
.newsletter-success-title {
  font-family: var(--font-primary, 'Montserrat', sans-serif) !important;
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  color: var(--gold-primary, #8C6D37) !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  margin: 0 0 0.8rem 0 !important;
}

.sda-circle-success-desc,
.newsletter-success-desc {
  font-family: var(--font-primary, 'Montserrat', sans-serif) !important;
  font-size: 0.95rem !important;
  line-height: 1.68 !important;
  color: #4A3E34 !important;
  margin: 0 0 1.5rem 0 !important;
}

@media (max-width: 768px) {
  .sda-circle-window,
  .newsletter-modal-window {
    grid-template-columns: 1fr !important;
    max-height: 92vh !important;
    overflow-y: auto !important;
    margin: auto !important;
  }
  .sda-circle-photo-col,
  .newsletter-photo-col {
    min-height: 200px !important;
    max-height: 240px !important;
    height: auto !important;
  }
  .sda-circle-content-col,
  .newsletter-content-col {
    padding: 1.5rem 1.25rem !important;
    overflow-y: visible !important;
    max-height: none !important;
  }
}
