/* The photograph stays clear on the right; the glass only covers the content. */
.contact-photo {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:80px 0;
  min-height:max(1100px,56.25vw);
  background:#0B252F;
}
.contact-photograph {
  position:absolute;
  inset:0;
  z-index:-2;
  background:url('assets/bg-ste.jpg') 10% center / cover no-repeat;
}
.contact-photo::before {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(11,37,47,.8) 0%,rgba(11,37,47,.65) 23%,rgba(11,37,47,.25) 35%,transparent 47%);
}
.contact-photo .contact-grid {
  display:block;
  width:calc(100% - clamp(100px,8vw,180px));
  max-width:1800px;
  margin-inline:auto;
}
.contact-glass {
  position:relative;
  width:490px;
  max-width:100%;
  padding:36px;
  border:1px solid rgba(193,144,130,.38);
  border-radius:36px;
  background:linear-gradient(135deg,rgba(11,37,47,.77),rgba(11,37,47,.85));
  -webkit-backdrop-filter:blur(22px) saturate(120%);
  backdrop-filter:blur(22px) saturate(120%);
  box-shadow:0 30px 70px #0004,inset 0 1px 0 #fff2,inset 0 -1px 0 #C1908212;
}
.contact-glass .eyebrow { margin-bottom:18px; }
.contact-glass .contact-copy h2 { font-size:42px; line-height:1.17; letter-spacing:-1.1px; margin-bottom:22px; }
.contact-glass .contact-copy h2 br { display:none; }
.contact-glass .contact-copy > p { max-width:none; color:#d2d8df; font-size:16px; line-height:1.7; margin-bottom:12px; }
.contact-glass .contact-details { margin-top:22px; margin-bottom:28px; font-size:14px; color:#d0d6dd; gap:14px; }
.contact-glass .contact-details svg { width:26px; height:26px; }
.contact-glass .contact-form { border:0; background:none; padding:0; border-radius:0; box-shadow:none; }
.contact-glass .field-row { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.contact-glass .field { margin-bottom:17px; }
.contact-glass .field label { font-size:14px; color:#e7e8e9; margin-bottom:7px; }
.contact-glass .field input,.contact-glass .field textarea {
  background:#0B252F66;
  border:1px solid #C1908233;
  border-radius:15px;
  color:#fff;
  font-size:16px;
  padding:12px 14px;
  min-height:50px;
}
.contact-glass .field textarea { min-height:115px; }
.contact-glass .field input::placeholder,.contact-glass .field textarea::placeholder { color:#aeb7c2; }
.contact-glass .field input:focus,.contact-glass .field textarea:focus { border-color:var(--gold); background:#0B252Fb3; box-shadow:0 0 0 3px #C1908212; }
.contact-glass .submit-button { min-height:54px; font-size:14px; text-transform:none; padding:15px 18px; }
.contact-glass .form-note { font-size:12px; color:#bdc5ce; line-height:1.65; margin-top:16px; }
.contact-glass #form-status { color:#e7e8e9; font-size:14px; margin:18px 0 0; }
/* Narrow layouts reserve a separate full-body photo area above the content. */
@media (max-width:1439px) {
  .contact-photo {
    --contact-photo-height:clamp(440px,72vw,860px);
    min-height:0;
    padding:0 0 72px;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:var(--contact-photo-height) auto;
  }
  .contact-photograph { grid-row:1; grid-column:1; position:relative; inset:auto; width:100%; height:100%; background-position:60% center; }
  .contact-photo::before { grid-row:1; grid-column:1; position:relative; inset:auto; background:linear-gradient(180deg,transparent 86%,#0B252F 100%); }
  .contact-photo .contact-grid { grid-row:2; grid-column:1; width:calc(100% - 64px); max-width:720px; margin:24px auto 0; }
  .contact-glass { width:100%; padding:42px; border-radius:34px; background:linear-gradient(135deg,#0B252Fa8,#0B252Fd6); }
  .contact-glass .contact-copy h2 { font-size:clamp(36px,4.5vw,48px); }
}
/* Compact tablet spacing and a continuous photo-to-form transition. */
@media (max-width:1023px) {
  .contact-photo { --contact-photo-height:clamp(460px,68vw,680px); padding-bottom:56px; }
  .contact-photo .contact-grid { width:calc(100% - 48px); max-width:680px; margin-top:20px; }
  .contact-glass { padding:32px; border-radius:30px; }
  .contact-glass .contact-copy h2 { font-size:38px; }
}
@media (max-width:767px) {
  .contact-photo {
    --contact-photo-height:clamp(350px,112vw,620px);
    --contact-gutter:max(16px,env(safe-area-inset-left),env(safe-area-inset-right));
    padding-bottom:48px;
    scroll-margin-top:16px;
  }
  .contact-photograph { background-position:60% center; }
  .contact-photo::before { background:linear-gradient(180deg,transparent 93%,#0B252F 100%); }
  .contact-photo .contact-grid {
    width:calc(100% - var(--contact-gutter) * 2);
    max-width:560px;
    min-width:0;
    margin-top:12px;
  }
  .contact-glass { padding:26px 22px; border-radius:26px; box-shadow:0 18px 40px #0003,inset 0 1px 0 #fff2; }
  .contact-glass .eyebrow { font-size:12px; letter-spacing:1.3px; margin-bottom:16px; }
  .contact-glass .contact-copy h2 {
    font-size:clamp(30px,7.7vw,38px);
    line-height:1.2;
    letter-spacing:-.7px;
    margin-bottom:18px;
    text-wrap:balance;
  }
  .contact-glass .contact-copy > p { font-size:16px; line-height:1.65; margin-bottom:12px; }
  .contact-glass .contact-details { font-size:14px; line-height:1.6; gap:12px; margin:20px 0 26px; }
  .contact-glass .contact-details svg { width:24px; height:24px; }
  .contact-glass .field-row { grid-template-columns:minmax(0,1fr); gap:0; }
  .contact-glass .field { margin-bottom:16px; }
  .contact-glass .field label { margin-bottom:7px; }
  .contact-glass .field input,.contact-glass .field textarea {
    min-height:52px;
    font-size:16px;
    padding:13px 14px;
    border-radius:13px;
    scroll-margin-block:100px;
  }
  .contact-glass .field textarea { min-height:128px; }
  .contact-glass .submit-button {
    width:100%; min-height:54px; font-size:14px; line-height:1.5;
    padding:14px 12px; gap:9px; white-space:normal;
  }
  .contact-glass .submit-button svg { width:20px; height:20px; }
  .contact-glass .form-note { font-size:12px; line-height:1.65; margin-top:14px; }
  .contact-glass #form-status { overflow-wrap:anywhere; }
}
@media (max-width:359px) {
  .contact-glass { padding:24px 18px; border-radius:24px; }
  .contact-glass .contact-copy h2 { font-size:30px; }
  .contact-glass .submit-button { font-size:13px; gap:8px; padding-inline:9px; }
}
@media (max-width:1023px) and (orientation:landscape) and (max-height:600px) {
  .contact-photo { --contact-photo-height:clamp(340px,58vw,520px); padding-top:0; }
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .contact-glass { background:rgba(11,37,47,.96); }
}
