
      /* Freight Big Pro loads from Adobe Fonts (kit enqueued by functions.php). */

      /* ── FAQ ──────────────────────────────────────────────── */
      .faq-section { padding: clamp(3rem, 6vw, 5rem) 2rem; background: var(--white); }
      .faq-section__inner { max-width: var(--content-max); margin: 0 auto; padding-inline: clamp(0.95rem, 1.8vw, 1.35rem); box-sizing: border-box; }
      .faq-title { font-family: var(--serif); font-weight: 400; font-size: clamp(1.6rem, 3vw, 2.4rem); line-height: 0.92; letter-spacing: -0.03em; text-transform: uppercase; color: var(--rich-black); margin: 0 0 2.5rem; }
      .faq-item { border-top: 1px solid var(--border); }
      .faq-item:last-child { border-bottom: 1px solid var(--border); }
      .faq-q { display: flex; justify-content: space-between; align-items: center; padding: 1.25rem 0; cursor: pointer; user-select: none; gap: 1rem; }
      .faq-q__text { font-family: var(--sans); font-weight: 500; font-size: 1rem; line-height: 1.35; }
      .faq-q__icon { width: 1.25rem; height: 1.25rem; flex-shrink: 0; position: relative; }
      .faq-q__icon::before, .faq-q__icon::after { content: ''; position: absolute; background: var(--brand-red); transition: transform 0.3s var(--ease); }
      .faq-q__icon::before { width: 100%; height: 1.5px; top: 50%; left: 0; transform: translateY(-50%); }
      .faq-q__icon::after { width: 1.5px; height: 100%; left: 50%; top: 0; transform: translateX(-50%); }
      .faq-item.active .faq-q__icon::after { transform: translateX(-50%) rotate(90deg); }
      .faq-a { max-height: 0; overflow: hidden; transition: max-height 0.4s var(--ease); }
      .faq-a__inner { padding: 0 0 1.5rem; font-size: 0.95rem; line-height: 1.65; color: var(--ink-muted); max-width: 56ch; }
    

      html { font-size: 18px; background: var(--white); }
      body {
        margin: 0;
        font-family: var(--sans);
        color: var(--rich-black);
        line-height: 1.55;
        background: var(--white);
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
      }
      a { color: inherit; text-decoration: none; }
      img { display: block; max-width: 100%; }
      :focus-visible { outline: 2px solid var(--brand-red); outline-offset: 4px; }

      main {
        width: 100%;
        padding-top: 3.5rem;
      }


      /* ── Two-column layout on a 12-col grid ─────────── */
      .contact {
        max-width: var(--content-max);
        margin: 0 auto;
        padding: clamp(2rem, 4vw, 3rem) clamp(1.25rem, 3vw, 2rem) clamp(5rem, 9vw, 7rem);
        display: grid;
        grid-template-columns: 1fr;
        gap: clamp(3rem, 6vw, 4.5rem);
      }
      @media (min-width: 900px) {
        .contact {
          grid-template-columns: repeat(12, minmax(0, 1fr));
          column-gap: clamp(1.5rem, 3vw, 2.5rem);
        }
        .contact__form-col { grid-column: 1 / span 6; }
        .contact__gallery-col { grid-column: 8 / span 5; padding-top: clamp(0.75rem, 1.5vw, 1.5rem); }
      }

      /* ── Left column: heading, intro, form ─────────── */
      .contact__head {
        margin: 0 0 1rem;
        font-family: var(--serif);
        font-weight: 400;
        font-size: clamp(2.6rem, 6vw, 4.5rem);
        line-height: 0.92;
        letter-spacing: -0.035em;
        text-transform: uppercase;
        color: var(--rich-black);
      }
      .contact__head em {
        font-style: italic;
        color: var(--brand-red);
        text-transform: none;
        letter-spacing: -0.025em;
      }
      .contact__intro {
        margin: 0 0 clamp(2rem, 4vw, 3rem);
        font-family: var(--sans);
        font-size: 1.02rem;
        line-height: 1.6;
        color: var(--ink-muted);
        max-width: 30rem;
        text-wrap: pretty;
      }

      .contact-form {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1.6rem 1.5rem;
        max-width: 36rem;
      }
      .contact-form__row {
        display: flex;
        flex-direction: column;
        gap: 0.45rem;
      }
      .contact-form__row--full { grid-column: 1 / -1; }

      .contact-form label {
        font-family: var(--sans);
        font-weight: 600;
        font-size: 0.7rem;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        color: var(--rich-black);
      }
      .contact-form input,
      .contact-form textarea,
      .contact-form select {
        font-family: var(--sans);
        font-size: 0.95rem;
        line-height: 1.5;
        color: var(--rich-black);
        background: transparent;
        border: none;
        border-bottom: 1px solid var(--soft-rule);
        padding: 0.55rem 0 0.65rem;
        outline: none;
        transition: border-color 0.24s var(--ease);
      }
      .contact-form input::placeholder,
      .contact-form textarea::placeholder {
        color: var(--stone);
        font-weight: 300;
      }
      .contact-form input:focus,
      .contact-form textarea:focus,
      .contact-form select:focus {
        border-color: var(--brand-red);
      }
      .contact-form textarea {
        resize: vertical;
        min-height: 6.5rem;
      }
      .contact-form__actions {
        grid-column: 1 / -1;
        display: flex;
        align-items: center;
        gap: 1.25rem;
        flex-wrap: wrap;
        margin-top: 1rem;
      }
      .contact-form__submit {
        font-family: var(--sans);
        font-weight: 600;
        font-size: 0.7rem;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        color: var(--white);
        background: var(--brand-red);
        border: 1px solid var(--brand-red);
        border-radius: 999px;
        padding: 0.95rem 1.6rem;
        cursor: pointer;
        line-height: 1;
        transition: background 0.3s var(--ease), color 0.3s var(--ease), transform 0.4s var(--ease);
      }
      .contact-form__submit:hover {
        background: transparent;
        color: var(--brand-red);
        transform: translateY(-2px);
      }

      /* ── Direct contact list (below the form) ──────── */
      .contact-direct {
        margin-top: clamp(3rem, 5vw, 4rem);
        padding-top: 1.5rem;
        border-top: 1px solid var(--soft-rule);
        display: grid;
        grid-template-columns: 1fr;
        gap: 1.5rem;
        max-width: 36rem;
      }
      @media (min-width: 560px) {
        .contact-direct { grid-template-columns: 1fr 1fr; }
      }
      .contact-direct__label {
        display: block;
        font-family: var(--sans);
        font-weight: 600;
        font-size: 0.66rem;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        color: var(--stone);
        margin-bottom: 0.4rem;
      }
      .contact-direct__value {
        font-family: var(--serif);
        font-weight: 400;
        font-size: 1.5rem;
        line-height: 1.15;
        color: var(--rich-black);
        letter-spacing: -0.01em;
        transition: color 0.2s var(--ease);
      }
      .contact-direct a.contact-direct__value:hover { color: var(--brand-red); }

      /* ── Footer detail lines ───────────────────────── */
      .contact-direct__note {
        margin: 0.4rem 0 0;
        font-family: var(--sans);
        font-size: 0.8rem;
        line-height: 1.5;
        color: var(--ink-muted);
      }

      /* ── Right column: editorial portrait collage (matches the comp) ── */
      .gallery {
        position: relative;
        width: 100%;
        aspect-ratio: 992 / 1848;
      }
      .gallery__tile {
        position: absolute;
        object-fit: cover;
        filter: grayscale(1);
        background: var(--paper-stage);
      }
      /* Placement as a percentage of the collage box — derived from the comp. */
      .gallery__tile--man     { left: 0;     top: 0;     width: 59.7%; height: 35.9%; }
      .gallery__tile--leaf    { left: 65.7%; top: 16.7%; width: 32.7%; height: 19.3%; }
      .gallery__tile--chevron { left: 0;     top: 40.9%; width: 32.7%; height: 9.5%;  }
      .gallery__tile--woman   { left: 41.1%; top: 41.1%; width: 58.9%; height: 46.3%; }
      .gallery__tile--face    { left: 0;     top: 54.5%; width: 31.9%; height: 45.5%; }

      @media (max-width: 560px) {
        .contact-form { grid-template-columns: 1fr; }
      }
    