/* ---------- contact-specific ---------- */
main{position:relative;z-index:2;background:var(--ink)}

/* hero */
.ct-hero{position:relative;overflow:hidden;
  padding:calc(var(--nav-h) + clamp(74px,14vh,150px)) clamp(18px,5vw,90px) clamp(46px,8vh,86px)}
.ct-hero__bg{position:absolute;inset:0;z-index:0;background:var(--gd-contact-bg,linear-gradient(145deg,#181818,#050505)) center 30%/cover no-repeat;
  opacity:.20;transform:scale(1.04);filter:saturate(1.05) contrast(1.02)}
.ct-hero__scrim{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(13,11,10,.66) 0%,rgba(13,11,10,.84) 58%,var(--ink) 100%),
             radial-gradient(120% 120% at 16% 0%,transparent 34%,rgba(13,11,10,.55) 100%)}
.ct-hero__in{position:relative;z-index:2;max-width:1300px;margin:0 auto}
.ct-title{font-family:var(--heading);font-weight:300;letter-spacing:-.01em;line-height:.98;
  font-size:clamp(46px,8.2vw,112px)}
.ct-title em{font-style:italic;color:var(--accent-2)}
.ct-intro{margin-top:24px;max-width:54ch;color:var(--warm-white-dim);line-height:1.7;
  font-size:clamp(15px,1.5vw,19px)}

/* body grid */
.ct-body{padding:clamp(18px,3vh,44px) clamp(18px,5vw,90px) clamp(72px,11vh,124px)}
.ct-grid{max-width:1300px;margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(38px,5.5vw,84px);align-items:start}

/* form */
.ct-form-head{margin-bottom:30px}
.ct-form-head h2{font-family:var(--heading);font-weight:300;font-size:clamp(26px,3.4vw,40px);line-height:1.06;margin-top:14px}
.ct-form-head h2 em{font-style:italic;color:var(--accent-2)}
.field{margin-bottom:22px}
.field .flabel{display:block;font-size:9px;font-weight:500;letter-spacing:.28em;text-transform:uppercase;
  color:var(--concrete-dim);margin-bottom:11px}
.field input,.field textarea{width:100%;font-family:var(--body);font-weight:300;font-size:15px;color:var(--warm-white);
  background:rgba(244,244,244,.03);border:1px solid rgba(244,244,244,.13);border-radius:12px;
  padding:15px 17px;transition:border-color .35s var(--ease),background .35s var(--ease),box-shadow .35s var(--ease)}
.field textarea{min-height:158px;resize:vertical;line-height:1.6}
.field input::placeholder,.field textarea::placeholder{color:var(--stone);opacity:1}
.field input:hover,.field textarea:hover{border-color:rgba(244,244,244,.24)}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);
  background:rgba(255,255,255,.05);box-shadow:0 0 0 3px var(--accent-soft)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field-row .field{margin-bottom:22px}
.ct-submit{display:flex;align-items:center;gap:18px 22px;flex-wrap:wrap;margin-top:6px}
.ct-submit .btn{border:0}
.ct-note{font-size:11.5px;letter-spacing:.02em;color:var(--stone);max-width:24ch;line-height:1.5}

/* side panel */
.ct-side{background:rgba(244,244,244,.02);border:1px solid rgba(244,244,244,.08);border-radius:20px;
  padding:clamp(24px,3vw,38px);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.side-rows{margin-top:6px}
.side-row{display:flex;align-items:center;gap:16px;padding:15px 0;
  border-bottom:1px solid rgba(244,244,244,.09);transition:.35s var(--ease)}
.side-row:last-child{border-bottom:0}
.sr-ic{width:42px;height:42px;flex:none;border-radius:50%;display:grid;place-items:center;
  border:1px solid rgba(244,244,244,.15);color:var(--accent-2);transition:.4s var(--ease)}
.sr-ic svg{width:17px;height:17px}
.side-row:hover .sr-ic{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-2);transform:translateY(-1px)}
.sr-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.sr-k{font-size:9px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--stone)}
.sr-v{font-size:15px;color:var(--warm-white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .3s}
.side-row:hover .sr-v{color:var(--accent-2)}
.sr-go{flex:none;color:var(--stone);font-size:15px;transition:.4s var(--ease)}
.side-row:hover .sr-go{color:var(--accent);transform:translateX(4px)}

/* studios */
.loc-head{margin:30px 0 16px}
.loc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.loc-card{padding:22px 20px;border:1px solid rgba(244,244,244,.1);border-radius:14px;
  background:rgba(0,0,0,.28);transition:.4s var(--ease)}
.loc-card:hover{border-color:rgba(255,255,255,.42);transform:translateY(-3px);background:rgba(255,255,255,.045)}
.loc-card .lc-k{font-size:9px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--accent-2)}
.loc-card .lc-city{font-family:var(--heading);font-weight:400;font-size:clamp(20px,2vw,25px);color:var(--warm-white);margin-top:12px;line-height:1.1}
.loc-card .lc-area{font-size:13px;color:var(--concrete-dim);margin-top:8px;line-height:1.5}
.loc-card .lc-country{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--stone);margin-top:12px}

/* closing band */
.ct-close{max-width:1300px;margin:0 auto;padding-top:clamp(40px,7vh,72px);
  border-top:1px solid rgba(244,244,244,.07);text-align:center}
.ct-close p{font-family:var(--heading);font-weight:300;font-style:italic;
  font-size:clamp(19px,2.6vw,34px);line-height:1.3;color:var(--warm-white-dim)}
.ct-close p .accent{font-style:normal}

@media(max-width:900px){
  .ct-grid{grid-template-columns:1fr;gap:clamp(34px,7vw,50px)}
  .ct-side{order:2}
}
@media(max-width:460px){
  .field-row{grid-template-columns:1fr;gap:0}
  .loc-grid{grid-template-columns:1fr}
}
