    /* ── Hero ── */
    .contact-hero {
      padding: 8rem 0 3rem;
      text-align: center;
      border-bottom: 1px solid var(--border);
    }
    .contact-hero h1 {
      margin-bottom: 1rem;
    }
    .contact-hero p {
      font-size: clamp(1rem, 1.5vw, 1.125rem);
      color: var(--grey);
      max-width: 32rem;
      margin: 0 auto;
      line-height: 1.7;
      font-weight: 300;
    }

    /* ── Calendly Embed ── */
    .calendly-section {
      padding: 3rem 0 5rem;
      border-bottom: 1px solid var(--border);
    }

    /* Two-column layout: info left, calendly right */
    .demo-grid {
      display: grid;
      grid-template-columns: 1fr 1.5fr;
      gap: 3rem;
      align-items: start;
    }
    .demo-info {
      position: sticky;
      top: 6rem;
    }
    .demo-info p {
      font-size: 1.0625rem;
      color: var(--grey);
      line-height: 1.75;
      font-weight: 300;
      margin-bottom: 1.25rem;
    }
    .demo-info p:last-child {
      margin-bottom: 0;
    }
    .demo-calendly {
      min-width: 0;
    }

    /* ── Contact Form Fallback ── */
    .contact-form-section {
      padding: 4rem 0;
      border-bottom: 1px solid var(--border);
    }
    .contact-form-section h2 {
      margin-bottom: 0.75rem;
    }
    .contact-form-section > .container > p {
      color: var(--grey);
      max-width: 32rem;
      margin-bottom: 2.5rem;
      line-height: 1.7;
      font-weight: 300;
    }
    .contact-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 3rem;
      align-items: start;
    }
    .contact-form {
      display: flex;
      flex-direction: column;
      gap: 1.25rem;
    }
    .form-group {
      display: flex;
      flex-direction: column;
      gap: 0.5rem;
    }
    .form-group label {
      font-size: 0.8125rem;
      font-weight: 500;
      color: var(--light-grey);
      letter-spacing: 0.02em;
    }
    .form-group input,
    .form-group textarea,
    .form-group select {
      width: 100%;
      background: var(--dark);
      border: 1px solid var(--border);
      border-radius: var(--r-sm);
      color: var(--white);
      font-family: var(--f);
      font-size: 0.9375rem;
      padding: 0.75rem 1rem;
      transition: border-color 0.2s;
    }
    .form-group input::placeholder,
    .form-group textarea::placeholder {
      color: var(--charcoal);
    }
    .form-group input:focus,
    .form-group textarea:focus,
    .form-group select:focus {
      outline: none;
      border-color: var(--salmon-bdr);
    }
    .form-group textarea {
      resize: vertical;
      min-height: 120px;
      line-height: 1.5;
    }
    .form-row {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 1.25rem;
    }
    .form-submit {
      margin-top: 0.5rem;
    }

    /* Contact info sidebar */
    .contact-info {
      display: flex;
      flex-direction: column;
      gap: 2rem;
    }
    .contact-info-card {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: var(--r-card);
      padding: 1.75rem;
    }
    .contact-info-card h4 {
      margin-bottom: 0.75rem;
      font-size: 1rem;
    }
    .contact-info-card p {
      font-size: 1rem;
      color: var(--grey);
      line-height: 1.65;
      font-weight: 300;
    }
    .contact-info-card a {
      color: var(--salmon);
      transition: color 0.15s;
    }
    .contact-info-card a:hover {
      color: var(--white);
    }

    .contact-detail {
      display: flex;
      align-items: center;
      gap: 0.75rem;
      margin-top: 0.75rem;
    }
    .contact-detail-icon {
      width: 20px;
      height: 20px;
      color: var(--salmon);
      flex-shrink: 0;
    }
    .contact-detail-icon svg {
      width: 100%;
      height: 100%;
      stroke: currentColor;
      fill: none;
      stroke-width: 1.5;
      stroke-linecap: round;
      stroke-linejoin: round;
    }
    .contact-detail span {
      font-size: 0.9375rem;
      color: var(--grey);
    }

    @media (max-width: 767px) {
      .demo-grid { grid-template-columns: 1fr; gap: 2rem; }
      .demo-info { position: static; text-align: center; }
      .contact-grid { grid-template-columns: 1fr; gap: 2rem; }
      .form-row { grid-template-columns: 1fr; }
    }
