/* ---------- contact hero (video background, dark — matches home) ---------- */
.contact-hero{
  position:relative;
  overflow:hidden;
  min-height:700px;
  display:flex;
  align-items:center;
}
.contact-hero-bg{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover;
  object-position:center top;
  z-index:0;
}
.contact-hero::before{
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(18,24,31,.82) 0%, rgba(18,24,31,.72) 45%, rgba(18,24,31,.54) 75%, rgba(18,24,31,.32) 100%);
  z-index:1;
}
.contact-hero::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0; height:220px;
  background:linear-gradient(0deg, rgba(18,24,31,.88) 0%, rgba(18,24,31,.55) 55%, transparent 100%);
  z-index:1;
  pointer-events:none;
}
.contact-hero-inner{
  position:relative; z-index:2;
  padding:64px 32px 150px;
  animation:contact-text-cycle 25.5s ease-in-out infinite;
}
@keyframes contact-text-cycle{
  0%{opacity:1;}
  19%{opacity:1;}
  23%{opacity:0;}
  96%{opacity:0;}
  100%{opacity:1;}
}
@media (prefers-reduced-motion: reduce){
  .contact-hero-inner{animation:none;}
}
.contact-hero-inner .eyebrow{color:var(--accent);}
.contact-hero-inner h1{
  color:#fff;
  font-size:clamp(32px,4.4vw,48px); font-weight:700;
  margin:14px 0 16px; max-width:600px;
}
.contact-hero-inner p{
  color:rgba(247,248,246,.82);
  font-size:16px; max-width:560px;
}

/* -- contact info strip, sitting directly on the video (no card) -- */
.contact-info-strip{
  position:absolute; left:0; right:0; bottom:0;
  z-index:3;
}
.contact-info-grid{
  display:grid; grid-template-columns:repeat(3,1fr);
}
.info-item{
  display:block;
  position:relative;
  padding:20px 24px 26px;
  border-left:1px solid rgba(247,248,246,.2);
  border-top:1px solid rgba(247,248,246,.2);
  transition:background .2s;
}
.info-item:nth-child(3n+1){border-left:none;}
.info-item:nth-child(-n+3){border-top:none;}
a.info-item{cursor:pointer;}
a.info-item:hover{background:rgba(247,248,246,.06);}
a.info-item::after{
  content:"↗";
  position:absolute; top:16px; right:18px;
  font-family:'Satoshi',monospace; font-size:12px;
  color:var(--accent); opacity:.75;
  transition:opacity .2s;
}
a.info-item:hover::after{opacity:1;}
.i-label{
  font-family:'Satoshi',monospace;
  font-size:11px; text-transform:uppercase; letter-spacing:.08em;
  color:rgba(247,248,246,.62); margin-bottom:6px;
}
.i-value{
  font-family:'Satoshi',sans-serif; font-size:16px; font-weight:700;
  color:#fff;
}
a.info-item:hover .i-value{color:var(--accent);}

/* ---------- responsive ---------- */
@media (max-width:920px){
  .contact-hero{min-height:0; display:block; background:var(--ink);}
  .contact-hero-bg{
    position:relative; inset:auto;
    width:100%; height:auto; aspect-ratio:16/9;
    object-fit:cover;
    display:block;
  }
  .contact-hero::before{display:none;}
  .contact-hero::after{display:none;}
  .contact-hero-inner{
    position:relative;
    padding:24px 32px 24px;
    min-height:0;
    box-sizing:border-box;
    animation:none;
    opacity:1;
  }
  .contact-info-strip{position:static; margin-top:0; background:var(--ink);}
  .contact-info-grid{grid-template-columns:repeat(2,1fr);}
  .info-item:nth-child(3n+1){border-left:1px solid rgba(247,248,246,.2);}
  .info-item:nth-child(odd){border-left:none;}
  .info-item:nth-child(-n+2){border-top:none;}
}
@media (max-width:560px){
  .contact-info-grid{grid-template-columns:1fr;}
  .info-item{border-left:none !important;}
  .info-item:first-child{border-top:none;}
}
