.contact-subject-description {
  margin:
    7px 2px 0;

  min-height:
    34px;

  color:
    var(--text-muted);

  font-size:
    10px;

  line-height:
    1.55;
}

/* =========================================================
   CONTACT PAGE
========================================================= */

.contact-page {
  max-width: 1160px;
  margin-inline: auto;
}


/* =========================================================
   HEADER
========================================================= */

.contact-header {
  max-width: 760px;

  padding:
    18px 2px 28px;

  margin-bottom: 25px;

  border-bottom:
    1px solid
    var(--border);
}


.contact-title {
  margin:
    4px 0 0;

  color:
    var(--text);

  font-family:
    var(--font-display);

  font-size:
    clamp(2.8rem, 6vw, 4.8rem);

  font-weight: 600;

  line-height: .95;

  letter-spacing:
    -.035em;
}


.contact-header > p {
  max-width: 660px;

  margin:
    13px 0 0;

  color:
    var(--text-muted);

  font-size: 14px;

  line-height: 1.75;
}


/* =========================================================
   LAYOUT
========================================================= */

.contact-grid {
  display: grid;

  grid-template-columns:
    minmax(0, 1.25fr)
    minmax(320px, .75fr);

  align-items: start;

  gap: 20px;
}


/* =========================================================
   FORM PANEL
========================================================= */

.contact-panel {
  overflow: hidden;

  background:
    var(--paper);

  border:
    1px solid
    var(--border);

  border-radius:
    var(--radius-md);

  box-shadow:
    var(--shadow-md);
}


.contact-panel-header {
  display: flex;

  align-items: center;

  gap: 15px;

  padding:
    20px 22px;

  background:
    linear-gradient(
      90deg,
      var(--surface-soft),
      var(--paper)
    );

  border-bottom:
    1px solid
    var(--border);
}


.contact-panel-number {
  width: 44px;
  height: 44px;

  flex:
    0 0 44px;

  display: grid;
  place-items: center;

  color:
    var(--accent-text);

  border:
    1px solid
    color-mix(
      in srgb,
      var(--accent) 40%,
      var(--border)
    );

  border-radius: 50%;

  font-family:
    var(--font-display);

  font-size: 17px;

  font-weight: 700;
}


.contact-panel-kicker {
  display: block;

  color:
    var(--accent-text);

  font-size: 8px;

  font-weight: 800;

  letter-spacing:
    .14em;

  text-transform: uppercase;
}


.contact-panel-header h2,
.contact-faq-header h2 {
  margin:
    2px 0 0;

  color:
    var(--text);

  font-family:
    var(--font-display);

  font-size: 25px;

  font-weight: 600;

  line-height: 1;
}


.contact-panel-header p {
  margin:
    5px 0 0;

  color:
    var(--text-muted);

  font-size: 11px;
}


/* =========================================================
   FORM
========================================================= */

.contact-form {
  display: grid;

  gap: 18px;

  padding:
    24px;
}


.contact-field-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 12px;
}


.contact-field {
  min-width: 0;
}


.contact-field label {
  display: block;

  margin:
    0 0 7px 2px;

  color:
    var(--text-secondary);

  font-size: 9px;

  font-weight: 800;

  letter-spacing:
    .07em;

  text-transform: uppercase;
}



.contact-submit {
  width: 100%;

  min-height: 48px;

  justify-content: space-between;

  padding-inline: 18px;
}


/* =========================================================
   SIDEBAR
========================================================= */

.contact-sidebar {
  display: grid;

  gap: 18px;
}


/* =========================================================
   LICENCE
========================================================= */

.contact-license {
  position: relative;

  overflow: hidden;

  padding:
    25px;

  color:
    #f6f1e8;

  background:
    radial-gradient(
      circle at 100% 0,
      rgba(212, 173, 100, .15),
      transparent 13rem
    ),
    linear-gradient(
      145deg,
      var(--nav-bg),
      var(--nav-bg-secondary)
    );

  border:
    1px solid
    rgba(212, 173, 100, .28);

  border-radius:
    var(--radius-md);

  box-shadow:
    var(--shadow-md);
}


.contact-license::before {
  content: "";

  position: absolute;

  inset: 9px;

  pointer-events: none;

  border:
    1px solid
    rgba(214, 182, 119, .09);

  border-radius:
    calc(var(--radius-md) - 5px);
}


.contact-license > * {
  position: relative;
  z-index: 2;
}


.contact-license .archive-label {
  color:
    var(--gold-300);
}


.contact-license-price {
  display: flex;

  align-items: flex-start;

  gap: 4px;

  margin-top: 21px;
}


.contact-license-price sup {
  margin-top: 7px;

  color:
    var(--gold-300);

  font-size: 11px;
}


.contact-license-price strong {
  color:
    #fff8e9;

  font-family:
    var(--font-display);

  font-size:
    45px;

  font-weight: 500;

  line-height: .9;
}


.contact-license-term {
  margin:
    7px 0 0;

  color:
    rgba(239, 236, 227, .55);

  font-size: 9px;
}


.contact-license-rule {
  height: 1px;

  margin:
    21px 0;

  background:
    rgba(213, 175, 103, .20);
}


.contact-license-features {
  display: grid;

  gap: 9px;
}


.contact-license-features span {
  color:
    rgba(240, 237, 228, .72);

  font-size: 10px;
}


.contact-license-features span::before {
  content: "✓";

  margin-right: 7px;

  color:
    var(--gold-300);
}


/* =========================================================
   FAQ
========================================================= */

.contact-faq {
  overflow: hidden;

  background:
    var(--paper);

  border:
    1px solid
    var(--border);

  border-radius:
    var(--radius-md);

  box-shadow:
    var(--shadow-sm);
}


.contact-faq-header {
  padding:
    19px 20px;

  background:
    var(--surface-soft);

  border-bottom:
    1px solid
    var(--border);
}


.contact-faq-list {
  display: grid;
}


.contact-faq-item {
  border-bottom:
    1px solid
    var(--border-soft);
}


.contact-faq-item:last-child {
  border-bottom: 0;
}


.contact-faq-item > summary {
  min-height: 54px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 15px;

  padding:
    13px 18px;

  cursor: pointer;

  list-style: none;

  color:
    var(--text);

  font-size: 11px;

  font-weight: 700;

  line-height: 1.45;
}


.contact-faq-item > summary::-webkit-details-marker {
  display: none;
}


.contact-faq-item > summary span {
  width: 24px;
  height: 24px;

  flex:
    0 0 24px;

  display: grid;
  place-items: center;

  color:
    var(--accent-text);

  border:
    1px solid
    var(--border);

  border-radius: 50%;

  font-size: 14px;

  font-weight: 400;

  transition:
    transform var(--transition);
}


.contact-faq-item[open]
> summary span {
  transform:
    rotate(45deg);
}


.contact-faq-answer {
  padding:
    0 18px 17px;

  color:
    var(--text-muted);

  font-size: 11px;

  line-height: 1.7;
}


.contact-faq-answer strong {
  color:
    var(--text-secondary);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 900px) {

  .contact-grid {
    grid-template-columns:
      1fr;
  }


  .contact-sidebar {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

  }

}


@media (max-width: 650px) {

  .contact-field-grid,
  .contact-sidebar {
    grid-template-columns:
      1fr;
  }


  .contact-form {
    padding:
      18px;
  }


  .contact-panel-header {
    padding:
      17px 18px;
  }

}

/* =========================================================
   CONTACT DESKTOP SCROLL BEHAVIOUR
========================================================= */

.contact-grid {
  display: grid;

  grid-template-columns:
    minmax(0, 1.25fr)
    minmax(320px, .75fr);

  align-items: start;

  gap: 20px;
}


/*
  LEFT SIDE
  Stays visible while the right sidebar scrolls.
*/

.contact-panel {
  position: sticky;

  /*
    Leaves room for the sticky site navbar.
    Adjust slightly if your navbar height changes.
  */
  top: 94px;

  align-self: start;
}


/*
  RIGHT SIDE
  Moves normally with the document.
*/

.contact-sidebar {
  position: relative;

  display: grid;

  gap: 18px;
}

/* =========================================================
   CONTACT RESPONSIVE — FINAL OVERRIDES
   Keep this at the BOTTOM of contact.css
========================================================= */

@media (max-width: 900px) {

  /* Stack page vertically */
  .contact-grid {
    display: grid;

    grid-template-columns: 1fr;

    gap: 18px;
  }


  /* Form always comes first */
  .contact-panel {
    order: 1;

    position: static;

    top: auto;

    width: 100%;
  }


  /* Licence + FAQ underneath */
  .contact-sidebar {
    order: 2;

    width: 100%;

    display: grid;

    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap: 14px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 650px) {

  .contact-page {
    width: 100%;
  }


  /* -------------------------------------------------------
     HEADER
  ------------------------------------------------------- */

  .contact-header {
    padding:
      10px 0 18px;

    margin-bottom: 14px;
  }


  .contact-title {
    font-size:
      clamp(2.35rem, 12vw, 3.25rem);

    line-height: .95;
  }


  .contact-header > p {
    margin-top: 9px;

    font-size: 11px;

    line-height: 1.6;
  }


  /* -------------------------------------------------------
     MAIN STACK

     FORM
     ↓
     LICENCE
     ↓
     FAQ
  ------------------------------------------------------- */

  .contact-grid {
    display: grid;

    grid-template-columns: 1fr;

    gap: 14px;
  }


  .contact-panel {
    order: 1;

    position: static;

    top: auto;

    width: 100%;
  }


  .contact-sidebar {
    order: 2;

    display: grid;

    grid-template-columns: 1fr;

    gap: 14px;

    width: 100%;
  }


  /* -------------------------------------------------------
     FORM HEADER
  ------------------------------------------------------- */

  .contact-panel-header {
    gap: 11px;

    padding:
      14px;
  }


  .contact-panel-number {
    width: 36px;
    height: 36px;

    flex-basis: 36px;

    font-size: 14px;
  }


  .contact-panel-header h2,
  .contact-faq-header h2 {
    font-size: 21px;
  }


  .contact-panel-header p {
    margin-top: 3px;

    font-size: 9px;

    line-height: 1.45;
  }


  /* -------------------------------------------------------
     FORM
  ------------------------------------------------------- */

  .contact-form {
    gap: 13px;

    padding:
      15px 14px 16px;
  }


  .contact-field-grid {
    grid-template-columns: 1fr;

    gap: 11px;
  }


  .contact-field label {
    margin-bottom: 5px;

    font-size: 8px;
  }


  .contact-subject-description {
    min-height: 0;

    margin:
      5px 1px 0;

    font-size: 9px;

    line-height: 1.45;
  }


  .contact-submit {
    min-height: 43px;

    padding-inline: 14px;
  }


  /* -------------------------------------------------------
     LICENCE
  ------------------------------------------------------- */

  .contact-license {
    padding: 19px;
  }


  .contact-license-price {
    margin-top: 15px;
  }


  .contact-license-price strong {
    font-size: 38px;
  }


  .contact-license-rule {
    margin:
      16px 0;
  }


  /* -------------------------------------------------------
     FAQ
  ------------------------------------------------------- */

  .contact-faq-header {
    padding:
      15px 16px;
  }


  .contact-faq-item > summary {
    min-height: 48px;

    padding:
      11px 14px;

    font-size: 10px;
  }


  .contact-faq-answer {
    padding:
      0 14px 14px;

    font-size: 10px;

    line-height: 1.6;
  }

}