/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/
body {
  font-family: "Inter", "system-ui", "sans-serif";
  font-size: 15px !important;
  line-height: 23px !important;
  color: rgba(60, 58, 55, 0.9);
  background: rgba(239, 232, 221, 0.4);
  margin: 0;
}

/* ===== Spacing & Layout ===== */
    .max-w-7xl { max-width: 85rem; margin-left: auto; margin-right: auto; }
    .mx-auto { margin-left: auto; margin-right: auto; }
    .px-4 { padding-left: 1rem; padding-right: 1rem; }
    .px-2 { padding-left: 0.5rem; padding-right: 0.5rem; }
    .py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; }
    .py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
    .py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
    .py-12 { padding-top: 3rem; padding-bottom: 3rem; }
    .p-4 { padding: 1rem; }
    .p-5 { padding: 1.25rem; }
    .p-6 { padding: 1.5rem; }
    .mt-1 { margin-top: 0.25rem; }
    .mt-2 { margin-top: 0.5rem; }
    .mt-3 { margin-top: 0.75rem; }
    .mt-4 { margin-top: 1rem; }
    .mt-5 { margin-top: 1.25rem; }
    .mt-6 { margin-top: 1.5rem; }
    .mt-8 { margin-top: 2rem; }
    .mt-10 { margin-top: 2.5rem; }
    .mt-14 { margin-top: 3.5rem; }
    .ml-5 { margin-left: 1.25rem; }
    .ml-auto { margin-left: auto; }
    .mb-3 { margin-bottom: 0.75rem; }
    .gap-2 { gap: 0.5rem; }
    .gap-3 { gap: 0.75rem; }
    .gap-4 { gap: 1rem; }
    .gap-5 { gap: 1.25rem; }
    .gap-6 { gap: 1.5rem; }
    .gap-8 { gap: 2rem; }
    .space-y-1 > * + * { margin-top: 0.25rem; }
    .space-y-2 > * + * { margin-top: 0.5rem; }

    /* ===== Display & Positioning ===== */
    .flex { display: flex; }
    .inline-flex { display: inline-flex; }
    .hidden { display: none; }
    .grid { display: grid; }
    .sticky { position: sticky; }
    .fixed { position: fixed; }
    .absolute { position: absolute; }
    .relative { position: relative; }
    .top-0 { top: 0; }
    .bottom-5 { bottom: 1.25rem; }
    .right-5 { right: 1.25rem; }
    .inset-0 { inset: 0; }
    .items-center { align-items: center; }
    .items-start { align-items: flex-start; }
    .justify-center { justify-content: center; }
    .flex-wrap { flex-wrap: wrap; }
    .shrink-0 { flex-shrink: 0; }
    .text-center { text-align: center; }
    .list-disc { list-style: disc; }
    .overflow-hidden { overflow: hidden; }
    .object-cover { object-fit: cover; }
    .w-full { width: 100%; }
    .w-auto { width: auto; }
    .w-max { width: max-content; }
    .w-24 { width: 6rem; }
    .w-28 { width: 7rem; }
    .h-10 { height: 2.5rem; }
    .h-full { height: 100%; }
    .h-\[2px\] { height: 2px; }
    .h-\[64vh\] { height: 64vh; }
    .z-50 { z-index: 50; }

    /* ===== Grid ===== */
    .grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)); }
    .col-span-5 { grid-column: span 5 / span 5; }
    .col-span-7 { grid-column: span 7 / span 7; }
    .aspect-\[4\/3\] { aspect-ratio: 4 / 3; }

    /* ===== Typography ===== */
    .font-display { font-family: 'Playfair Display', 'Libre Baskerville', 'serif'; }
    .font-body { font-family: 'Inter', 'system-ui', 'sans-serif'; }
    .font-semibold { font-weight: 600; }
    .text-\[11px\] { font-size: 11px; }
    .text-\[12px\] { font-size: 12px; }
    .text-\[14px\] { font-size: 14px; }
    .text-\[15px\] { font-size: 15px; }
    .text-xs { font-size: 12px; }
    .text-sm { font-size: 14px; }
    .text-lg { font-size: 18px; }
    .text-xl { font-size: 20px; }
    .text-2xl { font-size: 24px; line-height: 1.35; }
    .text-3xl { font-size: 30px; line-height: 1.3; }
    .text-4xl { font-size: 36px; line-height: 1.2; }
    .text-6xl { font-size: 52px; line-height: 1.1; }
    .leading-tight { line-height: 1.2; }
    .leading-relaxed { line-height: 1.625; }
    .tracking-widest { letter-spacing: 0.1em; }
    .tracking-\[\.2em\] { letter-spacing: 0.2em; }
    .tracking-\[\.35em\] { letter-spacing: 0.35em; }
    .uppercase { text-transform: uppercase; }

    /* ===== Colors - Text ===== */
    .text-white { color: #fff; }
    .text-white\/60 { color: rgba(255, 255, 255, 0.6); }
    .text-white\/70 { color: rgba(255, 255, 255, 0.7); }
    .text-white\/85 { color: rgba(255, 255, 255, 0.85); }
    .text-yellow-500 { color: #eab308; }
    .text-renea-deep { color: var(--renea-deep); }
    .text-renea-deep\/60 { color: rgba(14, 34, 56, 0.6); }
    .text-renea-deep\/70 { color: rgba(14, 34, 56, 0.7); }
    .text-renea-ink\/70 { color: rgba(60, 58, 55, 0.7); }
    .text-renea-ink\/75 { color: rgba(60, 58, 55, 0.75); }
    .text-renea-ink\/80 { color: rgba(60, 58, 55, 0.8); }
    .text-renea-ink\/85 { color: rgba(60, 58, 55, 0.85); }
    .text-renea-ink\/90 { color: rgba(60, 58, 55, 0.9); }
    .gold { color: #BD9B5C; }

    /* ===== Colors - Background ===== */
    .bg-white { background: #fff; }
    .bg-white\/90 { background: rgba(255, 255, 255, 0.9); }
    .bg-renea-sand { background: var(--renea-sand); }
    .bg-renea-deep { background: var(--renea-deep); }
    .bg-renea-sand\/40 { background: rgba(239, 232, 221, 0.4); }

    /* ===== Borders ===== */
    .border { border-width: 1px; border-style: solid; }
    .border-b { border-bottom-width: 1px; border-style: solid; }
    .border-t { border-top-width: 1px; border-style: solid; }
    .border-renea-deep\/5 { border-color: rgba(14, 34, 56, 0.05); }
    .border-white\/10 { border-color: rgba(255, 255, 255, 0.1); }
    .border-gold\/60 { border-color: rgba(189, 155, 92, 0.6); }
    .border-gold { border-color: #BD9B5C; }
    .rounded { border-radius: 0.25rem; }
    .rounded-xl { border-radius: 0.75rem; }

    /* ===== Shadows & Effects ===== */
    .shadow-soft { box-shadow: var(--shadow-soft); }
    .opacity-90 { opacity: 0.9; }
    .backdrop-blur { backdrop-filter: blur(8px); }

    /* ===== Gradient backgrounds ===== */
    .bg-gradient-to-b { background-image: linear-gradient(to bottom, var(--tw-gradient-from, transparent), rgba(0, 0, 0, 0.2), var(--tw-gradient-to, rgba(0, 0, 0, 0.6))); }
    .from-black\/40 { --tw-gradient-from: rgba(0, 0, 0, 0.4); }
    .via-black\/20 { --tw-gradient-via: rgba(0, 0, 0, 0.2); }
    .to-black\/60 { --tw-gradient-to: rgba(0, 0, 0, 0.6); }
    .gold-grad { background: linear-gradient(90deg, transparent, #BD9B5C, transparent); }

    /* ===== Buttons ===== */
    .btn {
      display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border-radius: 9999px;
    padding: 0.8rem 1.1rem ! IMPORTANT;
    font-weight: 600;
    border: none;
    text-decoration: none;
    cursor: pointer;
    }
    .btn-primary {
      background: linear-gradient(90deg, #0C5EA8, #0B75C9);
          color: #fff ! IMPORTANT;
    box-shadow: 0 10px 24px rgba(12, 94, 168, 0.25);
    text-transform: capitalize !important;
    }
    .btn-primary:hover { filter: brightness(1.04); }
    .btn-ghost {
      border: 1px solid rgba(189, 155, 92, 0.45);
      color: #0E2238;
      background: #ffffffb3;
    }
    .btn:focus-visible { outline: 2px solid var(--ring); outline-offset: 2px; }

    /* ===== Cards & Frames ===== */
    .soft-card { border: 1px solid rgba(60, 58, 55, 0.12); box-shadow: 0 8px 28px rgba(14, 34, 56, 0.06); }
    .paper {
      background: #fff;
      border: 1px solid rgba(189,155,92,.55);
      box-shadow: var(--shadow-paper);
    }
    .lux-card {
      background: #fff;
      border: 1px solid rgba(189, 155, 92, 0.25);
      box-shadow: 0 18px 40px rgba(14, 34, 56, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.6);
    }
    .frame { position: relative; border: 1px solid rgba(189, 155, 92, 0.65); }
    .frame:before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(189, 155, 92, 0.45); }
    .corner {
      position: absolute;
      width: 18px;
      height: 18px;
      border: 1px solid rgba(189, 155, 92, 0.75);
    }
    .corner.tl { left: 14px; top: 14px; border-right: 0; border-bottom: 0; }
    .corner.br { right: 14px; bottom: 14px; border-left: 0; border-top: 0; }
    .gilded { position: relative; }
    .gilded:after {
      content: "";
      position: absolute;
      inset: 0;
      border: 1px solid rgba(189, 155, 92, 0.55);
      border-radius: 14px;
      pointer-events: none;
    }
    .glass {
      backdrop-filter: blur(8px);
      background: rgba(255, 255, 255, 0.75);
      border: 1px solid rgba(189, 155, 92, 0.25);
    }

    /* ===== Navigation ===== */
    .nav-link { position: relative; text-decoration: none; color: var(--renea-deep); }
    .nav-link:after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: -6px;
      height: 2px;
      background: linear-gradient(90deg, transparent, #BD9B5C, transparent);
      transform: scaleX(0);
      transition: transform 0.2s ease;
    }
    .nav-link:hover:after { transform: scaleX(1); }

    /* ===== Section & Layout ===== */
    .section { scroll-margin-top: 96px; }
    .section-wrap { position: relative; }
    .section-head { letter-spacing: 0.18em; }
    .measure { max-width: var(--measure); margin-left: auto; margin-right: auto; }

    /* ===== Special Effects ===== */
    .grain:after {
      content: "";
      position: absolute;
      inset: 0;
      background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.8" numOctaves="2" stitchTiles="stitch"/></filter><rect width="100" height="100" filter="url(%23n)" opacity="0.028"/></svg>');
      mix-blend-mode: multiply;
      pointer-events: none;
    }
    .indochine-divider {
      position: relative;
      height: 36px;
      margin: 24px auto 0;
    }
    .indochine-divider:before,
    .indochine-divider:after {
      content: "";
      position: absolute;
      top: 50%;
      width: 33%;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(189, 155, 92, 0.85), transparent);
    }
    .indochine-divider:before { left: 0; }
    .indochine-divider:after { right: 0; }
    .indochine-knot {
      width: 28px;
      height: 28px;
      border: 1px solid rgba(189, 155, 92, 0.85);
      transform: rotate(45deg);
      margin: 0 auto;
      background: #fff;
    }
    .seal {
      display: inline-flex;
      align-items: center;
      gap: 0.5rem;
      padding: 0.35rem 0.6rem;
      border-radius: 9999px;
      border: 1px solid rgba(189, 155, 92, 0.5);
      background: #fff;
    }

    /* ===== Responsive Breakpoints ===== */
    @media (min-width: 640px) {
      .sm\:block { display: block; }
      .sm\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .sm\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    }

    @media (min-width: 768px) {
      .md\:flex { display: flex; }
      .md\:hidden { display: none; }
      .md\:inline-flex { display: inline-flex; }
      .md\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .md\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .md\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
      .md\:col-span-5 { grid-column: span 5 / span 5; }
      .md\:col-span-7 { grid-column: span 7 / span 7; }
      .md\:h-\[78vh\] { height: 78vh; }
      .md\:text-6xl { font-size: 52px; line-height: 1.1; }
      .md\:py-20 { padding-top: 5rem; padding-bottom: 5rem; }
    }

    @media (min-width: 1024px) {
      .lg\:px-8 { padding-left: 2rem; padding-right: 2rem; }
      .lg\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .lg\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    }

    /* ===== Utilities ===== */
    .antialiased { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
    .py-16 { padding-top: 4rem; padding-bottom: 4rem; }
    .py-20 { padding-top: 5rem; padding-bottom: 5rem; }
    .-translate-x-1\/2 { transform: translateX(-50%); }

/* ===== MOBILE RESPONSIVE (max-width: 768px) ===== */
@media only screen and (max-width: 48em) {
  /* Body & Base */
  body {
    font-size: 13px !important;
    line-height: 20px !important;
  }

  /* Typography - Mobile Sizes */
  .text-\[11px\] { font-size: 10px; }
  .text-\[12px\] { font-size: 11px; }
  .text-\[14px\] { font-size: 12px; }
  .text-\[15px\] { font-size: 13px; }
  .text-xs { font-size: 11px; }
  .text-sm { font-size: 12px; }
  .text-lg { font-size: 16px; }
  .text-xl { font-size: 17px; }
  .text-2xl { font-size: 20px; line-height: 1.3; }
  .text-3xl { font-size: 24px; line-height: 1.25; }
  .text-4xl { font-size: 28px; line-height: 1.2; }
  .text-6xl { font-size: 32px; line-height: 1.15; }

  /* Spacing - Mobile Reduced */
  .px-4 { padding-left: 0.75rem; padding-right: 0.75rem; }
  .py-6 { padding-top: 1rem; padding-bottom: 1rem; }
  .py-12 { padding-top: 2rem; padding-bottom: 2rem; }
  .py-16 { padding-top: 2.5rem; padding-bottom: 2.5rem; }
  .py-20 { padding-top: 3rem; padding-bottom: 3rem; }
  .p-4 { padding: 0.75rem; }
  .p-5 { padding: 1rem; }
  .p-6 { padding: 1.25rem; }
  .mt-5 { margin-top: 1rem; }
  .mt-6 { margin-top: 1.25rem; }
  .mt-8 { margin-top: 1.5rem; }
  .mt-10 { margin-top: 2rem; }
  .mt-14 { margin-top: 2.5rem; }
  .gap-4 { gap: 0.75rem; }
  .gap-5 { gap: 1rem; }
  .gap-6 { gap: 1.25rem; }
  .gap-8 { gap: 1.5rem; }

  /* Button - Mobile */
  .btn {
    padding: 0.65rem 1rem !important;
    font-size: 13px;
  }

  /* Heights */
  .h-\[64vh\] { height: 55vh; }
  .h-10 { height: 2.25rem; }

  /* Grid - Mobile Single Column */
  .grid-cols-2,
  .grid-cols-3,
  .grid-cols-4,
  .grid-cols-12 {
    grid-template-columns: 1fr;
  }

  /* Spacing adjustments */
  .section { scroll-margin-top: 60px; }

  /* Divider - Mobile */
  .indochine-divider {
    height: 28px;
    margin: 16px auto 0;
  }
  .indochine-knot {
    width: 22px;
    height: 22px;
  }

  /* Frame corners - Mobile */
  .corner {
    width: 14px;
    height: 14px;
  }
  .corner.tl { left: 10px; top: 10px; }
  .corner.br { right: 10px; bottom: 10px; }
  .frame:before { inset: 8px; }

  /* Cards - Mobile padding */
  .paper,
  .lux-card {
    padding: 0;
  }
.testimonials .paper {
    padding: 1rem;
  }
  /* Aspect ratio adjust */
  .aspect-\[4\/3\] { aspect-ratio: 16 / 10; }

  /* Leading */
  .leading-relaxed { line-height: 1.5; }
  .banner h1 {
    font-size: 2em;
}
#section_62111955 {
    padding-bottom: 0 !important;
}
}
