/* ============================================================
   /imel-concept/contact/ — concept restyle of the Group contact page
   Scoped to body.imel-ctc. Reuses IMEL chrome and the existing
   enquiry-form contract (field names, honeypot, /api/enquiry).
   Does not alter /contact/, functions/api/enquiry.js, or Resend.

   Desktop type:
     H1              52–56px
     H2              34–38px
     Category label  12px gold
     Body            17.5px
     Form labels     13px
     Inputs          16px
   ============================================================ */

body.imel-ctc h1,
body.imel-ctc h2{
  font-weight:400;
  letter-spacing:0;
}

/* Header Contact is current on this route; shared chrome only
   marks aria-current when the path starts with /contact/. */
body.imel-ctc .pcg-header-contact{
  color:var(--gold);
}

/* ---------- Intro ---------- */
body.imel-ctc .ic-open{
  background:#FCFBF8;
  padding:56px 0 52px;
  border-bottom:1px solid var(--im-line);
}
body.imel-ctc .ic-open h1{
  margin:0 0 12px;
  max-width:14em;
  font-size:clamp(36px,4vw,56px);
  line-height:1.16;
}
body.imel-ctc .ic-lead{
  margin:0;
  max-width:38em;
  font-size:18px;
  line-height:1.5;
  color:var(--im-ink);
}

/* ---------- Enquiry routing ---------- */
body.imel-ctc .ic-routes{
  background:var(--im-white);
  padding:56px 0 52px;
}
body.imel-ctc .ic-routes h2{
  margin:0 0 12px;
  max-width:16em;
  font-size:clamp(28px,3vw,38px);
  line-height:1.2;
}
body.imel-ctc .ic-routes-lead{
  margin:0 0 28px;
  max-width:42em;
  font-size:17.5px;
  line-height:1.55;
  color:var(--im-muted);
}
body.imel-ctc .ic-cats{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:0 48px;
  border-top:1px solid var(--im-line);
}
body.imel-ctc .ic-cats li{
  padding:16px 0;
  border-bottom:1px solid var(--im-line);
}
body.imel-ctc .ic-cat{
  margin:0 0 4px;
  font-family:var(--sans);
  font-size:12px;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold);
  line-height:1.3;
}
body.imel-ctc .ic-cats p:not(.ic-cat){
  margin:0;
  font-size:16px;
  line-height:1.45;
  color:var(--im-ink);
}
body.imel-ctc .ic-email{
  margin-top:0;
}
body.imel-ctc .ic-email a{
  font-size:17px;
  font-weight:500;
  color:var(--im-ink);
  text-decoration:none;
  border-bottom:1px solid var(--im-line);
}
body.imel-ctc .ic-email a:hover{
  color:var(--gold);
  border-bottom-color:var(--gold);
}

/* ---------- Office + form ---------- */
body.imel-ctc .ic-desk{
  background:var(--im-panel);
  padding:56px 0 64px;
  border-top:1px solid var(--im-line);
}
body.imel-ctc .ic-desk-grid{
  display:grid;
  grid-template-columns:minmax(0,.38fr) minmax(0,.62fr);
  gap:40px 56px;
  align-items:start;
}
body.imel-ctc .ic-office address{
  margin:0 0 16px;
  font-style:normal;
  font-size:17px;
  line-height:1.55;
  color:var(--im-ink);
}
body.imel-ctc .ic-office-note{
  margin:0;
  max-width:22em;
  font-size:15px;
  line-height:1.5;
  color:var(--im-muted);
}

/* Existing form markup — visual restyle only */
body.imel-ctc #enquiry-form{
  position:relative;
  max-width:40em;
}
body.imel-ctc .form-field{
  margin-bottom:16px;
}
body.imel-ctc .form-field label{
  display:block;
  margin-bottom:6px;
  font-family:var(--sans);
  font-size:13px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--im-ink);
}
body.imel-ctc .form-field label .opt{
  color:var(--im-muted);
  font-weight:400;
  letter-spacing:.04em;
  text-transform:none;
}
body.imel-ctc .form-field input,
body.imel-ctc .form-field select,
body.imel-ctc .form-field textarea{
  display:block;
  width:100%;
  box-sizing:border-box;
  margin:0;
  padding:12px 14px;
  font-family:var(--sans);
  font-size:16px;
  line-height:1.4;
  color:var(--im-ink);
  background:#FFFFFF;
  border:1px solid var(--im-line);
  border-radius:0;
  box-shadow:none;
  appearance:none;
}
body.imel-ctc .form-field select{
  background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%231B1D20' stroke-width='1.2' d='M1 1.5L6 6.5 11 1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 14px center;
  padding-right:36px;
}
body.imel-ctc .form-field textarea{
  min-height:140px;
  resize:vertical;
}
body.imel-ctc .form-field input:hover,
body.imel-ctc .form-field select:hover,
body.imel-ctc .form-field textarea:hover{
  border-color:#C4BBA8;
}
body.imel-ctc .form-field input:focus,
body.imel-ctc .form-field select:focus,
body.imel-ctc .form-field textarea:focus{
  outline:none;
  border-color:var(--im-ink);
}
body.imel-ctc .form-consent{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin:18px 0 20px;
}
body.imel-ctc .form-consent input{
  flex:0 0 16px;
  width:16px;
  height:16px;
  margin:3px 0 0;
  accent-color:var(--im-ink);
}
body.imel-ctc .form-consent label{
  margin:0;
  font-size:15px;
  font-weight:400;
  letter-spacing:0;
  text-transform:none;
  line-height:1.5;
  color:var(--im-muted);
}
body.imel-ctc .form-consent a{
  color:var(--im-ink);
  text-decoration:underline;
  text-underline-offset:2px;
}
body.imel-ctc .form-consent a:hover{color:var(--gold)}
body.imel-ctc .cf-turnstile-wrap{
  margin:18px 0 4px;
}
body.imel-ctc #enquiry-form .im-btn{
  min-width:11em;
}
body.imel-ctc #enquiry-form .im-btn:disabled{
  opacity:.55;
  cursor:wait;
}
body.imel-ctc .form-msg{
  margin-top:16px;
  padding:12px 14px;
  font-size:15.5px;
  line-height:1.45;
  display:none;
}
body.imel-ctc .form-msg.ok{
  display:block;
  border:1px solid var(--im-line);
  background:#FCFBF8;
  color:var(--im-ink);
}
body.imel-ctc .form-msg.err{
  display:block;
  border:1px solid #9B3535;
  background:#F9EFEF;
  color:#9B3535;
}
body.imel-ctc .hp-field{
  position:absolute;
  left:-9999px;
  opacity:0;
  height:0;
  overflow:hidden;
}

/* ---------- 1024 ---------- */
@media (max-width:1024px){
  body.imel-ctc .ic-open{padding:48px 0 40px}
  body.imel-ctc .ic-routes{padding:48px 0 44px}
  body.imel-ctc .ic-desk{padding:48px 0 52px}
  body.imel-ctc .ic-desk-grid{
    grid-template-columns:1fr;
    gap:32px;
  }
  body.imel-ctc .ic-cats{gap:0 32px}
}

/* ---------- 768 / 390 ---------- */
@media (max-width:768px){
  body.imel-ctc .ic-open{padding:44px 0 36px}
  body.imel-ctc .ic-routes{padding:40px 0 36px}
  body.imel-ctc .ic-desk{padding:40px 0 48px}
  body.imel-ctc .ic-cats{
    grid-template-columns:1fr;
  }
  body.imel-ctc .ic-form,
  body.imel-ctc #enquiry-form{max-width:none}
}
