.page-contact{
  --contact-navy:#0A2540;
  --contact-blue-deep:#0044CC;
  --contact-rad-lg:20px;
}

.page-contact .contact-intro{
  padding-top:var(--header-safe);
  position:relative;
  overflow:hidden;
}
.page-contact .contact-intro::before{
  content:"";
  position:absolute;
  top:var(--header-safe);
  right:-60px;
  width:220px;
  height:220px;
  background:radial-gradient(circle,rgba(10,102,255,.14),transparent 65%);
  pointer-events:none;
}
.page-contact .contact-intro-inner{
  position:relative;
  z-index:1;
  max-width:720px;
}
.page-contact .contact-intro-meta{
  display:flex;
  align-items:center;
  gap:var(--space-md);
  margin-bottom:var(--space-sm);
  flex-wrap:wrap;
}
.page-contact .contact-intro-status{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:var(--text-xs);
  font-weight:600;
  color:var(--color-text-secondary);
  background:var(--color-bg-glass);
  padding:4px 12px;
  border-radius:var(--radius-pill);
  border:1px solid var(--color-border);
}
.page-contact .contact-intro-inner h1{
  margin:var(--space-sm) 0 var(--space-md);
}
.page-contact .contact-intro-lead{
  color:var(--color-text-secondary);
  font-size:var(--text-md);
  max-width:560px;
  margin:0;
}

.page-contact .contact-chapter{
  margin-bottom:var(--space-xl);
  padding-bottom:var(--space-md);
  border-bottom:2px solid transparent;
  border-image:linear-gradient(90deg,var(--color-primary),var(--color-accent),transparent) 1;
}
.page-contact .contact-chapter-link{
  font-size:var(--text-sm);
  font-weight:600;
  color:var(--color-text-secondary);
  text-decoration:none;
  padding:6px 14px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-pill);
  transition:border-color .2s var(--ease),color .2s var(--ease),background .2s var(--ease);
}
.page-contact .contact-chapter-link:hover{
  color:var(--color-primary);
  border-color:var(--color-primary);
  background:rgba(10,102,255,.04);
}

.page-contact .contact-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-2xl);
}
.page-contact .contact-cards{
  display:grid;
  gap:var(--space-lg);
}

.page-contact .contact-mail-card{
  background:var(--color-surface);
  border:1px solid var(--color-border);
  border-radius:var(--contact-rad-lg);
  padding:var(--space-lg);
  position:relative;
  overflow:hidden;
  box-shadow:var(--shadow-sm);
}
.page-contact .contact-mail-card::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  height:4px;
  width:100%;
  background:linear-gradient(90deg,var(--color-primary-light),var(--color-primary));
}
.page-contact .contact-mail-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--space-md);
  margin-bottom:var(--space-md);
}
.page-contact .contact-mail-card-head h3{
  margin:0 0 4px;
}
.page-contact .contact-card-sub{
  margin:0;
  font-size:var(--text-sm);
  color:var(--color-text-secondary);
}
.page-contact .contact-mail-icon-frame{
  flex:0 0 auto;
  width:72px;
  height:72px;
  border-radius:var(--radius-md);
  overflow:hidden;
  background:linear-gradient(135deg,#EFF6FF,#DBEAFE);
  display:flex;
  align-items:center;
  justify-content:center;
}
.page-contact .contact-mail-icon{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.page-contact .contact-dl{
  margin:var(--space-md) 0 0;
}
.page-contact .contact-dl-row{
  display:flex;
  flex-direction:column;
  gap:2px;
  padding:10px 0;
  border-bottom:1px dashed var(--color-border);
}
.page-contact .contact-dl-row:last-child{
  border-bottom:0;
}
.page-contact .contact-dl-row dt{
  flex-shrink:0;
  color:var(--color-text-secondary);
  font-size:var(--text-sm);
  font-weight:600;
}
.page-contact .contact-dl-row dd{
  margin:0;
  font-weight:700;
  font-size:var(--text-sm);
  color:var(--color-text);
  word-break:break-all;
}

.page-contact .contact-sublime{
  margin:var(--space-sm) 0 0;
  font-size:var(--text-sm);
  color:var(--color-text-secondary);
  line-height:1.6;
}

.page-contact .contact-phone-card{
  background:linear-gradient(135deg,var(--contact-navy),var(--contact-blue-deep));
  color:#FFFFFF;
  border-radius:var(--contact-rad-lg);
  padding:var(--space-lg);
  box-shadow:var(--shadow-md);
}
.page-contact .contact-phone-card h3{
  color:#FFFFFF;
  opacity:.85;
  margin:0 0 6px;
}
.page-contact .contact-phone-num{
  font-size:32px;
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.15;
  margin:var(--space-sm) 0;
  font-family:var(--font-family);
  color:#FFFFFF;
}
.page-contact .contact-phone-card .contact-sublime{
  color:rgba(255,255,255,.72);
}

.page-contact .contact-address-card{
  background:var(--color-surface);
  border:1px solid var(--color-border);
  border-radius:var(--contact-rad-lg);
  padding:var(--space-lg);
  display:grid;
  gap:var(--space-md);
  box-shadow:var(--shadow-sm);
}
.page-contact .contact-address-info h3{
  margin:0 0 4px;
}
.page-contact .contact-address-text{
  font-size:var(--text-md);
  font-weight:700;
  line-height:1.4;
  margin:0;
}
.page-contact .contact-address-card .contact-sublime{
  margin-top:var(--space-sm);
}
.page-contact .contact-map-img{
  display:block;
  width:100%;
  max-width:360px;
  height:auto;
  border-radius:var(--radius-md);
  margin-top:var(--space-sm);
}

.page-contact .contact-form-panel{
  margin:0;
  background:var(--color-bg-glass);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  border-radius:var(--contact-rad-lg);
  padding:var(--space-xl) var(--space-lg);
  border:1px solid rgba(255,255,255,.65);
  box-shadow:var(--shadow-glass);
}
.page-contact .contact-form-head{
  margin-bottom:var(--space-md);
}
.page-contact .contact-form-head h2{
  margin:var(--space-sm) 0 var(--space-xs);
}
.page-contact .contact-form-desc{
  margin:0;
  font-size:var(--text-sm);
  color:var(--color-text-secondary);
  line-height:1.6;
}
.page-contact .contact-form{
  margin-top:var(--space-md);
}
.page-contact .form-field{
  margin-bottom:var(--space-md);
}
.page-contact .form-field label{
  display:block;
  font-size:var(--text-sm);
  font-weight:600;
  color:var(--color-text);
  margin-bottom:6px;
}
.page-contact .form-field input,
.page-contact .form-field textarea{
  display:block;
  width:100%;
  box-sizing:border-box;
  padding:11px 14px;
  border:1px solid var(--color-border-strong);
  border-radius:var(--radius-sm);
  background:var(--color-surface);
  font-family:var(--font-family);
  font-size:var(--text-base);
  color:var(--color-text);
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease);
}
.page-contact .form-field input::placeholder,
.page-contact .form-field textarea::placeholder{
  color:var(--color-text-muted);
}
.page-contact .form-field input:focus,
.page-contact .form-field textarea:focus{
  outline:none;
  border-color:var(--color-primary);
  box-shadow:0 0 0 4px rgba(10,102,255,.12);
}
.page-contact .form-field textarea{
  resize:vertical;
}
.page-contact .contact-submit-btn{
  width:100%;
  justify-content:center;
  cursor:pointer;
  margin-top:var(--space-sm);
  transition:transform .15s var(--ease),box-shadow .15s var(--ease);
}
.page-contact .contact-submit-btn:active{
  transform:scale(.98);
  box-shadow:0 4px 12px rgba(255,107,44,.35);
}

.page-contact .contact-response{
  background:var(--color-surface);
}
.page-contact .contact-response-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-xl);
}
.page-contact .contact-response-panel{
  background:linear-gradient(135deg,var(--contact-navy),var(--contact-blue-deep));
  border-radius:var(--contact-rad-lg);
  padding:var(--space-xl) var(--space-lg);
  color:#FFFFFF;
  box-shadow:var(--shadow-lg);
}
.page-contact .contact-response-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(255,255,255,.12);
  color:#FFFFFF;
  border-radius:var(--radius-pill);
  padding:6px 14px;
  font-size:var(--text-sm);
  font-weight:600;
}
.page-contact .contact-response-lead{
  font-size:var(--text-lg);
  font-weight:700;
  line-height:1.45;
  margin:var(--space-lg) 0;
  max-width:480px;
  color:#FFFFFF;
}
.page-contact .contact-response-channels{
  list-style:none;
  margin:0;
  padding:0;
  border-top:1px solid rgba(255,255,255,.2);
}
.page-contact .contact-response-channels li{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:var(--space-md);
  padding:var(--space-sm) 0;
  border-bottom:1px solid rgba(255,255,255,.16);
  font-size:var(--text-sm);
  flex-wrap:wrap;
}
.page-contact .cr-label{
  color:rgba(255,255,255,.65);
  font-weight:600;
}
.page-contact .cr-value{
  font-weight:700;
  word-break:break-all;
  color:#FFFFFF;
}

.page-contact .contact-self-help{
  display:grid;
  grid-template-columns:1fr;
  gap:var(--space-md);
}
.page-contact .self-help-card{
  background:var(--color-bg);
  border-radius:var(--radius-md);
  padding:var(--space-lg);
  border:1px solid var(--color-border);
  border-top:4px solid var(--color-primary);
  transition:box-shadow .2s var(--ease),transform .2s var(--ease);
}
.page-contact .self-help-card:nth-child(2){
  border-top-color:var(--color-jewel-teal);
}
.page-contact .self-help-card:nth-child(3){
  border-top-color:var(--color-jewel-purple);
}
.page-contact .self-help-card:hover{
  box-shadow:var(--shadow-md);
  transform:translateY(-2px);
}
.page-contact .self-help-card h3{
  margin:0 0 var(--space-xs);
}
.page-contact .self-help-card p{
  font-size:var(--text-sm);
  color:var(--color-text-secondary);
  margin:0 0 var(--space-sm);
  line-height:1.65;
}
.page-contact .self-help-links{
  display:flex;
  flex-wrap:wrap;
  gap:var(--space-md);
}
.page-contact .contact-inline-link{
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-weight:700;
  color:var(--color-primary);
  text-decoration:none;
  font-size:var(--text-sm);
  transition:color .2s var(--ease);
}
.page-contact .contact-inline-link::after{
  content:"→";
  transition:transform .2s var(--ease);
}
.page-contact .contact-inline-link:hover{
  color:var(--color-primary-dark);
}
.page-contact .contact-inline-link:hover::after{
  transform:translateX(4px);
}

@media (min-width:480px){
  .page-contact .contact-dl-row{
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
  }
}

@media (min-width:640px){
  .page-contact .contact-address-card{
    grid-template-columns:1fr 1fr;
    align-items:end;
  }
  .page-contact .contact-map-img{
    margin-top:0;
    max-width:100%;
  }
  .page-contact .contact-mail-card,
  .page-contact .contact-phone-card,
  .page-contact .contact-address-card{
    padding:var(--space-xl);
  }
  .page-contact .contact-form-panel{
    padding:var(--space-xl);
  }
}

@media (min-width:960px){
  .page-contact .contact-intro{
    padding-top:calc(var(--header-safe) + 32px);
  }
  .page-contact .contact-intro::before{
    width:400px;
    height:400px;
  }
  .page-contact .contact-chapter{
    margin-bottom:var(--space-2xl);
  }
  .page-contact .contact-chapter-link{
    margin-left:auto;
  }
  .page-contact .contact-layout{
    grid-template-columns:7fr 5fr;
    align-items:start;
  }
  .page-contact .contact-intro-lead{
    font-size:var(--text-md);
  }
  .page-contact .contact-phone-num{
    font-size:38px;
  }
  .page-contact .contact-response-layout{
    grid-template-columns:1.05fr 1fr;
    align-items:stretch;
  }
  .page-contact .contact-response-panel{
    padding:var(--space-xl);
  }
}
