/* source: PAGE-022_contact.html; scope: .mf-html-page[data-maharani-page="PAGE-022"] */
@scope (.mf-html-page[data-maharani-page="PAGE-022"]) {
:scope {
      --mf-font-display: "Cormorant Garamond", Georgia, serif;
      --mf-font-body: "Libre Baskerville", Georgia, serif;
      --mf-display-weight: 300;
      --mf-body-weight: 400;
      --mf-label-weight: 400;
      --mf-cta-weight: 700;
      --mf-h1-size: clamp(3.65rem, 6.4vw, 5.75rem);
      --mf-h1-line: .95;
      --mf-h1-track: -.03em;
      --mf-h2-size: 3.5rem;
      --mf-h2-line: 1.05;
      --mf-h2-track: -.025em;
      --mf-body-size: .94rem;
      --mf-body-line: 1.82;
      --mf-label-size: .68rem;
      --mf-label-track: .19em;
      --mf-cta-size: .625rem;
      --mf-cta-track: .24em;
      --mf-canvas: #FCF9F3;
      --mf-surface: #F4EFE6;
      --mf-paper: #FFFDF8;
      --mf-ink: #241813;
      --mf-ink-soft: #51443C;
      --mf-muted: #71645A;
      --mf-deep: #171411;
      --mf-dark: #1B1814;
      --mf-red: #8C1D2C;
      --mf-red-dark: #6E1521;
      --mf-gold: #B08D57;
      --mf-gold-dark: #8F6B35;
      --mf-line: #D8C8B3;
      --mf-focus: #C83D4D;
      --mf-gutter: clamp(1.25rem, 4vw, 5rem);
      --mf-section: clamp(5.5rem, 9vw, 9rem);
      --mf-card-radius: 10px;
      --color-primary: var(--mf-red);
      --color-primary-hover: var(--mf-red-dark);
      --mf-hero-trust-surface: var(--mf-dark);
      --type-section-title-gradient: linear-gradient(180deg, rgb(212 175 55) 0%, rgb(124 43 43) 100%);
      --type-section-title-size: clamp(42px, 11vw, 56px);
      --ease-out: cubic-bezier(.22, 1, .36, 1);
      --ease-standard: cubic-bezier(.2, 0, 0, 1);
      --duration-fast: 220ms;
    }

    @media (max-width: 760px) {
      :scope {
        --mf-h2-size: clamp(42px, 11vw, 52px);
        --mf-gutter: clamp(1rem, 5vw, 1.5rem);
        --mf-section: clamp(4.4rem, 16vw, 6.25rem);
      }
    }

    *, *::before, *::after { box-sizing: border-box; }
    :scope { scroll-behavior: smooth; }
    :scope {
      margin: 0;
      background: var(--mf-canvas);
      color: var(--mf-ink);
      font-family: var(--mf-font-body);
      font-size: 16px;
      line-height: var(--mf-body-line);
      text-rendering: optimizeLegibility;
    }
    a { color: inherit; }
    button, input, textarea { font: inherit; }
    button, a { -webkit-tap-highlight-color: transparent; }
    :focus-visible { outline: 2px solid var(--mf-focus); outline-offset: 4px; }
    .relative { position: relative; }
    .h-screen { min-height: 100svh; }
    .w-full { width: 100%; }
    .flex { display: flex; }
    .flex-col { flex-direction: column; }
    .items-center { align-items: center; }
    .justify-center { justify-content: center; }
    .text-center { text-align: center; }
    .overflow-hidden { overflow: hidden; }
    .z-0 { z-index: 0; }
    .z-10 { z-index: 10; }
    .rounded-xl { border-radius: 12px; }
    .p-8 { padding: 2rem; }
    .gap-element-gap { gap: 1rem; }
    .gap-6 { gap: 1.5rem; }
    .px-page-margin-desktop { padding-inline: var(--mf-gutter); }
    .max-w-5xl { max-width: 64rem; }
    .max-w-screen-2xl { max-width: 90rem; }
    .max-w-2xl { max-width: 48rem; }
    .mx-auto { margin-inline: auto; }
    .py-section-gap { padding-block: var(--mf-section); }
    .text-on-primary { color: var(--mf-hero-h1-color, #fff); }
    .text-on-surface { color: var(--mf-ink); }
    .text-on-surface-variant { color: var(--mf-ink-soft); }
    .mt-4 { margin-top: 1rem; }
    .mt-8 { margin-top: 2rem; }
    .mb-4 { margin-bottom: 1rem; }
    .gap-8 { gap: 2rem; }
    .uppercase { text-transform: uppercase; }
    .italic { font-style: italic; }
    .font-light { font-weight: 300; }
    [class~="tracking-[0.4em]"] { letter-spacing: .4em; }
    [class~="text-white/70"] { color: rgb(255 255 255 / .7); }
    [class~="text-surface-variant/80"] { color: rgb(240 231 218 / .8); }

    /* Exact Home hero selectors/rules, captured 2026-08-12. */
    .c-hero { min-height: min(100svh, 62rem); background: var(--mf-hero-trust-surface); }
    .c-hero::after {
      position: absolute;
      right: 0;
      bottom: -1px;
      left: 0;
      z-index: 2;
      height: clamp(9rem, 28vh, 18rem);
      content: "";
      pointer-events: none;
      background: linear-gradient(180deg, rgb(27 24 20 / 0%) 0%, rgb(27 24 20 / 8%) 24%, rgb(27 24 20 / 25%) 46%, rgb(27 24 20 / 58%) 69%, rgb(27 24 20 / 88%) 88%, var(--mf-hero-trust-surface) 100%);
    }
    .c-hero__media, .c-hero__video, .c-hero__overlay {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
    }
    .c-hero__media { background: var(--mf-hero-trust-surface); }
    .c-hero__video {
      display: block;
      object-fit: cover;
      object-position: center center;
      width: 100% !important;
      height: 100% !important;
      max-width: none !important;
    }
    .c-hero__overlay {
      background: linear-gradient(rgb(23 20 17 / .42) 0%, rgb(23 20 17 / .1) 42%, rgb(23 20 17 / .58) 100%), radial-gradient(circle at 50% 48%, transparent 0, transparent 18%, rgb(23 20 17 / .36) 78%);
    }
    .c-hero__content {
      width: min(calc(100% - (2 * var(--mf-gutter))), 48rem);
      border: 1px solid rgb(255 255 255 / .22);
      background: rgb(23 20 17 / .28);
      box-shadow: 0 24px 90px rgb(0 0 0 / .18);
      backdrop-filter: blur(5px);
    }
    /* PAGE-022-only source-ratio cover; the shared hero rules above remain unchanged. */
    .c-hero--contact .contact-hero-vimeo {
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      background: var(--mf-dark);
    }
    .c-hero--contact .contact-hero-vimeo__frame {
      position: absolute;
      inset: auto;
      top: 50%;
      left: 50%;
      width: max(100vw, 266.25vh);
      height: max(37.5587vw, 100vh);
      max-width: none;
      aspect-ratio: 426 / 160;
      overflow: hidden;
      background: var(--mf-dark);
      transform: translate(-50%, -50%);
    }
    .c-hero--contact .contact-hero-vimeo__frame iframe {
      position: static;
      inset: auto;
      display: block;
      width: 100% !important;
      height: 100% !important;
      max-width: none !important;
      border: 0;
      transform: none;
    }
    .c-hero--contact .c-button:focus-visible,
    .contact-conversation__media iframe:focus-visible,
    .contact-section .field input:focus-visible,
    .contact-section .field textarea:focus-visible {
      outline: 2px solid var(--mf-focus);
      outline-offset: 4px;
    }
    .c-hero .c-button { animation: button-arrive 900ms 650ms var(--ease-out) both; }
    .text-display-xl {
      font-size: 92px;
      line-height: .95;
      letter-spacing: -.03em;
      font-weight: 300;
    }
    .text-label-caps {
      font-size: 11px;
      line-height: 1.2;
      letter-spacing: .3em;
      font-weight: 400;
    }
    .font-display-xl, .c-section-title { font-family: var(--mf-font-display); }
    .font-body-lg { font-family: var(--mf-font-body); }
    .text-body-lg { font-size: 16px; line-height: 1.85; font-weight: 400; }

    .contact-conversation {
      padding: var(--mf-section) var(--mf-gutter);
      background: var(--mf-canvas);
    }
    .contact-conversation__grid {
      display: grid;
      grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
      gap: clamp(2rem, 7vw, 7rem);
      align-items: center;
      width: min(100%, 74rem);
      margin-inline: auto;
    }
    .contact-conversation__copy { max-width: 35rem; }
    .contact-conversation__copy h2 { max-width: 15ch; }
    .contact-conversation__copy p {
      margin: 1.75rem 0 0;
      color: var(--mf-ink-soft);
      font-family: var(--mf-font-body);
      font-size: 16px;
      line-height: 1.85;
    }
    .contact-conversation__copy .contact-conversation__disclaimer {
      color: var(--mf-gold-dark);
      font-size: .78rem;
      line-height: 1.72;
    }
    .contact-conversation__media {
      position: relative;
      aspect-ratio: 16 / 9;
      margin: 0;
      overflow: hidden;
      background: var(--mf-dark);
      box-shadow: 0 18px 44px rgb(63 43 31 / .12);
    }
    .contact-conversation__media iframe {
      position: absolute;
      inset: 0;
      display: block;
      width: 100%;
      height: 100%;
      border: 0;
    }

    /* Exact Home primary CTA selectors/rules, captured 2026-08-12. */
    .c-button {
      position: relative;
      isolation: isolate;
      display: inline-flex;
      min-height: 3.5rem;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      border: 1px solid transparent;
      padding: 1rem 2.25rem;
      font-family: var(--mf-font-body);
      font-size: .625rem;
      font-weight: 700;
      letter-spacing: .24em;
      line-height: 1;
      text-decoration: none;
      text-transform: uppercase;
      transition: transform var(--duration-fast) var(--ease-out), background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard);
    }
    .c-button::after {
      position: absolute;
      inset: -2px;
      z-index: -1;
      content: "";
      background: linear-gradient(115deg, transparent 20%, rgb(255 255 255 / .24) 48%, transparent 72%);
      transform: translateX(-130%);
      transition: transform 700ms var(--ease-out);
    }
    .c-button:hover, .c-button:focus-visible { transform: translateY(-2px); }
    .c-button:hover::after, .c-button:focus-visible::after { transform: translateX(130%); }
    .c-button--primary {
      border-color: color-mix(in srgb, var(--mf-gold) 40%, var(--color-primary));
      box-shadow: 0 14px 34px rgb(66 8 17 / .24);
      background: var(--color-primary) !important;
      color: #fff !important;
    }
    .c-button--primary:hover, .c-button--primary:focus-visible {
      box-shadow: 0 18px 42px rgb(66 8 17 / .34);
      background: var(--color-primary-hover) !important;
    }

    .contact-section {
      scroll-margin-top: clamp(6.5rem, 10vw, 8rem);
      padding: var(--mf-section) var(--mf-gutter);
      background: var(--mf-surface);
    }
    .contact-grid {
      display: grid;
      grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
      gap: clamp(2rem, 7vw, 7rem);
      align-items: start;
      width: min(100%, 74rem);
      margin-inline: auto;
    }
    .contact-copy { padding-top: .45rem; }
    .c-editorial-label {
      display: inline-block;
      margin-bottom: 1.35rem;
      color: var(--mf-gold-dark);
      font-family: var(--mf-font-body);
      font-size: var(--mf-label-size);
      font-weight: var(--mf-label-weight);
      letter-spacing: var(--mf-label-track);
      line-height: 1.2;
      text-transform: uppercase;
    }
    .c-section-title {
      display: inline-block;
      margin: 0;
      background-image: var(--type-section-title-gradient);
      background-clip: text;
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      font-size: var(--type-section-title-size) !important;
      font-style: normal;
      font-weight: 300 !important;
      letter-spacing: -.025em;
      line-height: 1.05 !important;
    }
    .contact-copy p {
      max-width: 31rem;
      margin: 1.75rem 0 0;
      color: var(--mf-ink-soft);
      font-family: var(--mf-font-body);
      font-size: 16px;
      line-height: 1.85;
    }
    .form-shell {
      padding: clamp(1.35rem, 4vw, 3rem);
      border: 1px solid var(--mf-line);
      border-radius: var(--mf-card-radius);
      background: var(--mf-paper);
      box-shadow: 0 18px 44px rgb(63 43 31 / .12);
    }
    .form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 1.4rem 1.15rem;
    }
    .field {
      display: flex;
      min-width: 0;
      flex-direction: column;
      gap: .55rem;
    }
    .field.full { grid-column: 1 / -1; }
    .field label {
      color: var(--mf-ink);
      font-family: var(--mf-font-body);
      font-size: .7rem;
      font-weight: 700;
      letter-spacing: .08em;
      line-height: 1.35;
    }
    .field input, .field textarea {
      width: 100%;
      min-width: 0;
      border: 1px solid var(--mf-line);
      border-radius: 0;
      background: var(--mf-canvas);
      color: var(--mf-ink);
      font-family: var(--mf-font-body);
      font-size: .88rem;
      line-height: 1.5;
      transition: border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);
    }
    .field input { min-height: 3.25rem; padding: .8rem .9rem; }
    .field textarea { min-height: 9rem; padding: .85rem .9rem; resize: vertical; }
    .field input::placeholder { color: var(--mf-muted); opacity: .85; }
    .field input:focus, .field textarea:focus {
      border-color: var(--mf-gold-dark);
      background: #fff;
      box-shadow: 0 0 0 3px rgb(176 141 87 / .16);
      outline: none;
    }
    .form-grid .field:last-child { align-items: flex-end; justify-content: flex-end; }
    .form-grid .field:last-child .c-button { align-self: flex-end; }

    /* Exact Home closing CTA selectors/rules, captured 2026-08-12. */
    .c-closing-cta {
      position: relative;
      isolation: isolate;
      border-bottom: 0 !important;
      background: var(--mf-canvas);
    }
    .c-closing-cta__card {
      position: relative;
      isolation: isolate;
      display: flex;
      width: min(100%, 48rem);
      flex-direction: column;
      align-items: center;
      overflow: hidden;
      padding: clamp(3.75rem, 7vw, 6.5rem) clamp(1.5rem, 6vw, 5.5rem);
      border: 1px solid rgb(176 141 87 / .48);
      border-radius: clamp(1.5rem, 3.2vw, 2.6rem);
      background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260' viewBox='0 0 260 260'%3E%3Cfilter id='paper' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.035 .72' numOctaves='4' seed='17'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23paper)' opacity='.11'/%3E%3C/svg%3E") 0 0 / 260px 260px, radial-gradient(circle at 14% 8%, rgb(255 255 255 / .74), transparent 25rem) 0 0 / auto, linear-gradient(135deg, rgb(255 253 249) 0%, rgb(248 240 230) 100%) 0 0 / auto;
      background-blend-mode: multiply, normal, normal;
      box-shadow: 0 2.25rem 5rem rgb(56 35 22 / .14), 0 .65rem 1.5rem rgb(56 35 22 / .07);
      gap: 2rem;
    }
    .c-closing-cta__card::before, .c-closing-cta__card::after { content: none; }
    .c-closing-cta__card > * { position: relative; z-index: 1; }
    .c-closing-cta__card .c-section-title { max-width: 36rem; }
    .c-closing-cta__card .text-body-lg { max-width: 34rem; margin: 0; }
    .fine-line-gold { border-color: rgb(176 141 87 / .48); }

    @keyframes button-arrive {
      from { opacity: 0; transform: translateY(10px); }
      to { opacity: 1; transform: translateY(0); }
    }

    @media (max-width: 64rem) {
      .c-hero__content { padding: 2rem 1.5rem !important; }
    }
    @media (max-width: 48rem) {
      .c-hero { min-height: 48rem; }
      .text-display-xl { font-size: clamp(3rem, 13vw, 4.5rem) !important; line-height: .98 !important; }
      .contact-conversation__grid { grid-template-columns: 1fr; gap: 3rem; }
      .contact-conversation__copy { max-width: none; }
      .contact-conversation__copy h2 { max-width: 13ch; }
      .contact-grid { grid-template-columns: 1fr; gap: 3rem; }
      .contact-copy p { max-width: none; }
      .form-grid { grid-template-columns: 1fr; }
      .field.full { grid-column: auto; }
      .form-grid .field:last-child { align-items: stretch; }
      .form-grid .field:last-child .c-button { align-self: stretch; }
      .c-closing-cta__card { width: 100%; padding: 3.5rem 1.35rem; border-radius: 1.5rem; gap: 1.75rem !important; }
    }
    @media (prefers-reduced-motion: reduce) {
      :scope { scroll-behavior: auto; }
      .c-hero--contact .contact-hero-vimeo { display: none; }
      *, *::before, *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
      }
    }
}

/* ===== OWNER-APPROVED DREAMWOOD GOHIGHLEVEL BOOKING — 2026-08-26 ===== */
.mf-html-page[data-maharani-page="PAGE-022"] .form-shell--ghl {
  min-width: 0;
  overflow: hidden;
}
.mf-html-page[data-maharani-page="PAGE-022"] .ghl-booking-frame {
  display: block;
  width: 100%;
  min-height: 52rem;
  border: 0;
  overflow: hidden;
  background: var(--mf-paper);
}
@media (max-width: 48rem) {
  .mf-html-page[data-maharani-page="PAGE-022"] .form-shell--ghl {
    padding: 1rem;
  }
  .mf-html-page[data-maharani-page="PAGE-022"] .ghl-booking-frame {
    min-height: 58rem;
  }
}
