/* ============================================================
 * contact-cta section
 * Rendered from resources/views/components/sections/contact-cta.blade.php
 * ============================================================ */

/* ---------------------------------------------------------------
         Contact CTA — warm heritage parchment section with ivory card.
         Palette: bg #F7F1E8, card #FFFDFC, border #DED4C8, text #171311,
         muted #5F564F, primary btn #5A3324, brass accent #B68A45.
         --------------------------------------------------------------- */
      .ct {
        background: #F7F1E8;
        color: #171311;
        border-top: 1px solid #DED4C8;
        border-bottom: 1px solid #DED4C8;
        padding-block: clamp(4rem, 7vw, 6.5rem);
      }
      .ct__inner {
        max-width: 76rem;
        margin-inline: auto;
        padding-inline: clamp(1.25rem, 4vw, 2rem);
        display: grid;
        gap: 2.5rem;
      }
      @media (min-width: 60rem) {
        .ct__inner {
          grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
          gap: 4rem;
          align-items: start;
        }
      }

      /* -------- Left: copy + CTAs -------- */
      .ct__copy { max-width: 34rem; }
      .ct__eyebrow {
        font-family: var(--font-body-stack, 'Inter', system-ui, sans-serif);
        font-size: 0.72rem;
        font-weight: 600;
        letter-spacing: 0.24em;
        text-transform: uppercase;
        color: #B68A45;
        margin: 0 0 0.75rem;
      }
      .ct__h2 {
        font-family: var(--font-display-stack, 'Marcellus', 'Playfair Display', Georgia, serif);
        font-weight: 400;
        font-size: clamp(2.1rem, 4.5vw, 3.25rem);
        line-height: 1.05;
        letter-spacing: -0.015em;
        color: #171311;
        margin: 0 0 1rem;
      }
      .ct__lede {
        font-family: var(--font-body-stack, 'Inter', system-ui, sans-serif);
        font-size: clamp(1rem, 1.05vw, 1.1rem);
        line-height: 1.65;
        color: #5F564F;
        margin: 0 0 1.75rem;
      }

      .ct__cta-row {
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
        align-items: stretch;
      }
      @media (min-width: 34rem) {
        .ct__cta-row { flex-direction: row; align-items: center; }
      }

      .ct__btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.95rem 1.6rem;
        border-radius: 14px;
        font-family: var(--font-body-stack, 'Inter', system-ui, sans-serif);
        font-size: 0.92rem;
        font-weight: 600;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        text-decoration: none;
        border: 1px solid transparent;
        transition:
          background-color 200ms ease,
          border-color     200ms ease,
          color            200ms ease,
          box-shadow       200ms ease,
          transform        200ms ease;
      }
      .ct__btn--primary {
        background: #5A3324;
        color: #FFFDFC;
        border-color: #5A3324;
        box-shadow: 0 6px 18px -10px rgba(90, 51, 36, 0.5);
      }
      .ct__btn--primary:hover,
      .ct__btn--primary:focus-visible {
        background: #6E4130;
        border-color: #6E4130;
        box-shadow: 0 10px 22px -10px rgba(90, 51, 36, 0.55);
        transform: translateY(-1px);
        outline: none;
      }
      .ct__btn--primary:focus-visible {
        box-shadow:
          0 0 0 3px rgba(182, 138, 69, 0.35),
          0 10px 22px -10px rgba(90, 51, 36, 0.55);
      }
      .ct__btn--ghost {
        background: transparent;
        color: #171311;
        border-color: #DED4C8;
      }
      .ct__btn--ghost:hover,
      .ct__btn--ghost:focus-visible {
        border-color: #5A3324;
        background: #FFFDFC;
        outline: none;
      }
      .ct__btn--ghost:focus-visible {
        box-shadow: 0 0 0 3px rgba(79, 100, 120, 0.35);
      }

      /* -------- Right: ivory contact card -------- */
      .ct__card {
        background: #FFFDFC;
        border: 1px solid #DED4C8;
        border-radius: 24px;
        padding: clamp(1.5rem, 3vw, 2.25rem);
        box-shadow: 0 8px 24px rgb(23 19 17 / 0.05);
      }
      .ct__list {
        margin: 0;
        display: grid;
        gap: 1.6rem;
      }
      .ct__row { margin: 0; }
      .ct__row dt {
        font-family: var(--font-body-stack, 'Inter', system-ui, sans-serif);
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.2em;
        text-transform: uppercase;
        color: #B68A45;
        margin: 0 0 0.5rem;
      }
      .ct__row dd {
        font-family: var(--font-body-stack, 'Inter', system-ui, sans-serif);
        font-size: 1rem;
        line-height: 1.55;
        color: #171311;
        margin: 0;
      }
      .ct__row dd p { margin: 0 0 0.15rem; }
      .ct__muted { color: #5F564F; font-size: 0.88rem !important; margin-top: 0.15rem !important; }

      .ct__link {
        color: #171311;
        text-decoration: none;
        background-image: linear-gradient(to right, #4A2E1F, #4A2E1F);
        background-size: 100% 1px;
        background-position: 0 100%;
        background-repeat: no-repeat;
        padding-bottom: 3px;
        transition: color 200ms ease, background-image 200ms ease;
      }
      .ct__link:hover,
      .ct__link:focus-visible {
        color: #4A2E1F;
        outline: none;
      }
      .ct__link:focus-visible {
        box-shadow: 0 0 0 3px rgba(182, 138, 69, 0.35);
        border-radius: 4px;
      }

      @media (prefers-reduced-motion: reduce) {
        .ct__btn, .ct__link { transition: none !important; }
        .ct__btn--primary:hover { transform: none; }
      }
