/* C7 — Warm Paper. Contact-page-only styling; the shared form and its JS stay intact. */
.pg-contact { background: #f8f5ef; }

.contact-warm-details .stitle em {
  color: #23766c; background: none; -webkit-text-fill-color: currentColor;
  font-style: italic; font-weight: 400;
}
.pg-contact .contact-warm-enquiry {
  min-height: 0; display: block; background: #f8f5ef;
  padding-block: clamp(78px, 8vw, 122px) clamp(100px, 10vw, 150px);
  scroll-margin-top: var(--header-h);
}
.pg-contact .contact-warm-enquiry .contact-grid {
  grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr);
  gap: clamp(58px, 7vw, 112px);
}
.contact-warm-details { position: sticky; top: calc(var(--header-h) + 38px); padding-top: 38px; }
.contact-warm-details .stitle {
  max-width: 540px; margin-top: 0;
  font-size: clamp(40px, 4.6vw, 66px); font-weight: 500;
  line-height: 1.1; letter-spacing: -.045em;
}
.contact-warm-details .slead {
  max-width: 510px; margin-top: 22px; color: #596967;
  font-size: 16px; line-height: 1.8;
}
.contact-paper-stack { position: relative; isolation: isolate; }
.contact-paper-stack::before,
.contact-paper-stack::after {
  content: ""; position: absolute; inset: 0;
  background: #fffdf9; border: 1px solid #e3ddd0; border-radius: 9px;
  pointer-events: none;
}
.contact-paper-stack::before { transform: translate(17px, 19px) rotate(1.2deg); z-index: -2; }
.contact-paper-stack::after { transform: translate(8px, 9px) rotate(.5deg); z-index: -1; }
.pg-contact .contact-paper-form {
  position: relative; z-index: 1; background: #fffdf9; color: #17332f;
  border: 1px solid #ded7ca; border-radius: 9px;
  padding: clamp(28px, 3.7vw, 52px);
  box-shadow: 0 20px 44px rgba(73, 65, 48, .08);
  transition: box-shadow .35s var(--ease), transform .65s var(--ease), opacity .65s var(--ease);
}
.pg-contact .contact-paper-form:focus-within {
  box-shadow: 0 24px 49px rgba(73, 65, 48, .12);
}
.pg-contact .contact-paper-form h3 {
  margin-top: 0; font-size: clamp(31px, 3vw, 42px);
  font-weight: 500; letter-spacing: -.035em;
}
.pg-contact .contact-paper-form .ccard-sub {
  max-width: 480px; margin: 10px 0 0; padding: 0 0 22px;
  color: #68726c; font-size: 14px; line-height: 1.65;
  border-color: #e5e0d6;
}
.pg-contact .contact-paper-form .cform { margin-top: 24px; }
.pg-contact .contact-paper-form .cform-row { gap: 16px; }
.pg-contact .contact-paper-form .cfield { margin-bottom: 17px; }
.pg-contact .contact-paper-form .cfield label {
  margin-bottom: 7px; color: #3b504b; font-size: 12px; font-weight: 680;
}
.pg-contact .contact-paper-form .cfield .req { color: #23766c; }
.pg-contact .contact-paper-form .cfield input,
.pg-contact .contact-paper-form .cfield textarea {
  background: #faf8f3; border-radius: 6px;
  padding: 14px 15px; color: #17332f; font-size: 14px;
}
.pg-contact .contact-paper-form .cfield textarea { min-height: 132px; }
.pg-contact .contact-paper-form .cfield input::placeholder,
.pg-contact .contact-paper-form .cfield textarea::placeholder { color: #89918a; opacity: 1; }
.pg-contact .contact-paper-form .cfield input:focus,
.pg-contact .contact-paper-form .cfield textarea:focus {
  background: #fff;
  box-shadow: 0 0 0 3px rgba(60, 140, 129, .12);
}
.pg-contact .contact-paper-form .cfield.has-error input,
.pg-contact .contact-paper-form .cfield.has-error textarea { box-shadow: 0 0 0 2px #b3261e; }
.pg-contact .contact-paper-form .btn-attach {
  background: #faf8f3; border-color: #cfcbbf; border-radius: 6px;
  color: #425d55; font-size: 12px; font-weight: 700;
}
.pg-contact .contact-paper-form .btn-attach:hover { border-color: #3c8c81; color: #23766c; }
.pg-contact .contact-paper-form .cf-attach-hint,
.pg-contact .contact-paper-form .cform-note { color: #717c75; }
.pg-contact .contact-paper-form .cform-note { margin-top: 17px; }
.pg-contact .contact-paper-form .cf-agree { color: #596961; }
.pg-contact .contact-paper-form .cf-agree input { accent-color: #23766c; }
.pg-contact .contact-paper-form .cf-agree a,
.pg-contact .contact-paper-form .cform-note a { color: #23766c; }
.pg-contact .contact-paper-form .cf-foot { padding-top: 3px; }
.pg-contact .contact-paper-form .cf-foot .btn {
  min-width: 170px; justify-content: space-between;
  background: #173d39; border-color: #173d39; border-radius: 6px;
  color: #fff; box-shadow: none; font-weight: 700;
}
.pg-contact .contact-paper-form .cf-foot .btn:hover,
.pg-contact .contact-paper-form .cf-foot .btn:focus-visible {
  background: #246c62; border-color: #246c62;
  box-shadow: 0 10px 22px rgba(35, 118, 108, .17);
}
.pg-contact .contact-paper-form .cf-foot .btn span { margin-left: 20px; font-size: 18px; font-weight: 400; }

@media (max-width: 980px) {
  .pg-contact .contact-warm-enquiry .contact-grid { grid-template-columns: 1fr; gap: 55px; }
  .contact-warm-details { position: static; padding-top: 0; }
  .contact-warm-details .stitle { max-width: 780px; }
  .contact-warm-details .slead { max-width: 690px; }
}
@media (max-width: 720px) {
  .pg-contact .contact-warm-enquiry { padding-block: 63px 83px; }
  .pg-contact .contact-warm-enquiry .contact-grid { gap: 47px; }
  .contact-warm-details .stitle { font-size: clamp(38px, 9vw, 54px); }
  .contact-warm-details .slead { font-size: 15px; }
  .contact-paper-stack::before { transform: translate(9px, 10px) rotate(.7deg); }
  .contact-paper-stack::after { transform: translate(4px, 5px) rotate(.3deg); }
  .pg-contact .contact-paper-form { padding: 28px 23px; }
  .pg-contact .contact-paper-form .cform-row { grid-template-columns: 1fr; gap: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .pg-contact .contact-paper-form { transition: none; }
}
