/* ============================================================
   LUMA Integration — Contact page
   ============================================================ */

.ct-wrap{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(40px,5vw,80px);align-items:start;}

/* ---- left: details ---- */
.ct-head{display:flex;flex-direction:column;gap:18px;margin-bottom:clamp(32px,4vw,44px);}
.ct-head .gold-rule{margin-bottom:2px;}
.ct-head .lead{max-width:40ch;}
.ct-methods{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.14);}
.ct-method{display:flex;align-items:center;gap:18px;padding:20px 4px;border-bottom:1px solid rgba(255,255,255,.14);}
.ct-ic{width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(255,255,255,.22);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;color:var(--gold);transition:border-color .25s var(--ease),color .25s var(--ease),transform .25s var(--ease);}
.ct-method:hover .ct-ic{border-color:var(--gold);color:var(--gold);transform:translateX(6px);}
.ct-ic svg{width:20px;height:20px;}
.ct-method .lbl{display:flex;flex-direction:column;gap:2px;transition:transform .25s var(--ease);}
.ct-method:hover .lbl{transform:translateX(6px);}
.ct-method .lbl .k{font-size:13px;color:rgba(255,255,255,.5);}
.ct-method .lbl .v{font-size:17px;font-weight:600;color:#fff;}

.ct-area{margin-top:clamp(28px,3vw,40px);display:flex;flex-direction:column;gap:14px;}
.ct-area .gold-rule{margin-bottom:2px;}
.ct-area h3{font-size:18px;font-weight:600;color:#fff;}
.ct-area p{font-size:16px;line-height:1.55;color:rgba(255,255,255,.66);max-width:42ch;}

.ct-social{margin-top:clamp(26px,3vw,36px);display:flex;flex-direction:column;gap:14px;}
.ct-social .k{font-size:13px;color:rgba(255,255,255,.5);}
.ct-social-row{display:flex;gap:12px;}
.ct-soc{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;
  display:flex;align-items:center;justify-content:center;transition:background .22s var(--ease),transform .22s var(--ease);}
.ct-soc:hover{background:var(--gold-deep);transform:translateY(-2px);}
.ct-soc svg{width:19px;height:19px;}

/* ---- right: form card ---- */
.ct-card{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.14);border-radius:var(--r);
  padding:clamp(28px,3.4vw,48px);display:flex;flex-direction:column;gap:22px;}
.ct-form-head{display:flex;flex-direction:column;gap:10px;}
.ct-form-head h2{font-size:clamp(23px,2.2vw,30px);font-weight:700;letter-spacing:-.025em;color:#fff;}
.ct-form-head p{font-size:15.5px;color:rgba(255,255,255,.62);}
.ct-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.ct-field{display:flex;flex-direction:column;gap:8px;}
.ct-field.full{grid-column:1 / -1;}
.ct-field label{font-size:13.5px;font-weight:600;color:rgba(255,255,255,.7);}
.ct-field label .req{color:var(--gold);}
.ct-field input,.ct-field select,.ct-field textarea{
  font-family:var(--sans);font-size:15.5px;color:#fff;background:rgba(255,255,255,.05);
  border:1.5px solid rgba(255,255,255,.18);border-radius:var(--r);padding:13px 15px;width:100%;
  transition:border-color .2s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease);}
.ct-field textarea{resize:vertical;min-height:128px;}
.ct-field input::placeholder,.ct-field textarea::placeholder{color:rgba(255,255,255,.4);}
.ct-field input:focus,.ct-field select:focus,.ct-field textarea:focus{
  outline:none;border-color:var(--gold);background:rgba(255,255,255,.08);box-shadow:0 0 0 3px rgba(192,156,102,.18);}
.ct-field select{appearance:none;cursor:pointer;color:#fff;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c09c66' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 9l7 7 7-7'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:42px;}
.ct-field select option{color:var(--ink);background:#fff;}
.ct-submit{grid-column:1 / -1;display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:4px;}
.ct-note{font-size:13.5px;color:var(--stone);}

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

/* header + sticky header: solid charcoal, matching the footer */
.nav.solid,
.nav.nav-fixed.scrolled{background:var(--charcoal);backdrop-filter:none;}
