.page-contact{
  --pc-primary:#0A1E3C;
  --pc-primary-2:#10294B;
  --pc-accent:#FF6B00;
  --pc-accent-soft:#FF8C3B;
  --pc-light:#F2F2F2;
  --pc-white:#FFFFFF;
  --pc-line:#DCE3EC;
  --pc-muted:#64748B;
  --pc-link:#3E77BC;
  --pc-radius-xl:28px;
  --pc-radius-lg:20px;
  --pc-radius-md:14px;
  --pc-radius-pill:999px;
  --pc-ease:cubic-bezier(0.4, 0, 0.2, 1);
  --pc-dur:300ms;
  background:var(--pc-light);
  color:var(--pc-dark, #1A202C);
  font-family:var(--font-body, 'Inter', 'Noto Sans SC', sans-serif);
  position:relative;
  overflow:hidden;
}

.page-contact .contact-signal-bg{
  position:absolute;
  top:0;
  left:44px;
  right:0;
  height:520px;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(circle at 16% 28%, rgba(255,107,0,.14), transparent 28%),
    linear-gradient(140deg, rgba(10,30,60,.04) 25%, transparent 25%),
    linear-gradient(160deg, rgba(255,107,0,.06) 0%, transparent 30%);
}

.page-contact .contact-signal-bg::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  bottom:0;
  background-image:
    radial-gradient(circle, rgba(10,30,60,.18) 1.5px, transparent 1.5px);
  background-size:28px 28px;
  -webkit-mask-image:linear-gradient(150deg, rgba(0,0,0,.9), transparent 70%);
  mask-image:linear-gradient(150deg, rgba(0,0,0,.9), transparent 70%);
}

.page-contact .contact-grid-lines{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
  pointer-events:none;
  z-index:0;
  background-image:
    linear-gradient(to right, transparent calc(100% - 1px), rgba(10,30,60,.05) calc(100% - 1px));
  background-size:0;
}

.page-contact .contact-hero{
  position:relative;
  z-index:1;
  max-width:calc(var(--container-w, 1280px) + 80px);
  margin:0 auto;
  padding:48px 24px 12px;
}

.page-contact .breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:28px;
}

.page-contact .breadcrumb-list{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  list-style:none;
  margin:0;
  padding:0;
  font-size:13px;
  color:var(--pc-muted);
}

.page-contact .breadcrumb-list a{
  color:var(--pc-link);
  text-decoration:none;
  font-weight:500;
}

.page-contact .breadcrumb-list a:hover{
  color:var(--pc-accent);
}

.page-contact .breadcrumb-sep{
  color:var(--pc-muted);
  opacity:.6;
}

.page-contact .breadcrumb-coord{
  font-family:var(--font-data, 'Roboto Mono', monospace);
  font-size:12px;
  letter-spacing:.06em;
  color:var(--pc-primary);
  background:var(--pc-white);
  border:1px solid var(--pc-line);
  border-radius:var(--pc-radius-pill);
  padding:4px 14px;
  box-shadow:0 2px 8px rgba(10,30,60,.05);
}

.page-contact .kicker{
  font-family:var(--font-data, 'Roboto Mono', monospace);
  font-size:13px;
  font-weight:500;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--pc-accent);
  margin:0 0 10px;
}

.page-contact .page-title{
  font-family:var(--font-heading, 'Noto Serif SC', serif);
  font-size:34px;
  line-height:1.2;
  font-weight:700;
  color:var(--pc-primary);
  margin:0 0 16px;
  letter-spacing:-.01em;
}

.page-contact .page-lead{
  font-size:16px;
  line-height:1.6;
  color:var(--pc-muted);
  max-width:560px;
  margin:0;
}

.page-contact .contact-direct{
  position:relative;
  z-index:1;
  max-width:calc(var(--container-w, 1280px) + 80px);
  margin:0 auto;
  padding:32px 24px 8px;
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
  align-items:stretch;
}

.page-contact .contact-info-panel{
  position:relative;
  min-height:520px;
  border-radius:var(--pc-radius-xl);
  overflow:hidden;
  background:
    linear-gradient(145deg, var(--pc-primary) 0%, var(--pc-primary-2) 70%, var(--pc-primary) 100%);
  color:var(--pc-white);
  box-shadow:0 24px 60px rgba(10,30,60,.28);
  display:flex;
  align-items:stretch;
}

.page-contact .contact-info-panel__bg{
  position:absolute;
  top:0;
  right:-60px;
  width:340px;
  height:340px;
  object-fit:cover;
  border-radius:50%;
  opacity:.18;
  mix-blend-mode:screen;
  z-index:0;
}

.page-contact .contact-info-panel__glow{
  position:absolute;
  top:-120px;
  left:-80px;
  width:320px;
  height:320px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,107,0,.28), transparent 70%);
  z-index:0;
  pointer-events:none;
}

.page-contact .contact-info-panel__inner{
  position:relative;
  z-index:1;
  padding:32px 26px;
  display:flex;
  flex-direction:column;
  flex:1;
}

.page-contact .contact-info-panel__label{
  font-family:var(--font-data, 'Roboto Mono', monospace);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--pc-accent);
  margin:0 0 12px;
}

.page-contact .contact-info-panel__title{
  font-family:var(--font-heading, 'Noto Serif SC', serif);
  font-size:24px;
  line-height:1.3;
  font-weight:700;
  color:var(--pc-white);
  margin:0 0 28px;
}

.page-contact .contact-channel-group{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-bottom:24px;
}

.page-contact .contact-channel{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 16px;
  border-radius:var(--pc-radius-lg);
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.12);
  color:var(--pc-white);
  text-decoration:none;
  transition:background var(--pc-dur) var(--pc-ease), border-color var(--pc-dur) var(--pc-ease), transform var(--pc-dur) var(--pc-ease);
}

.page-contact .contact-channel:hover{
  background:rgba(255,255,255,.13);
  border-color:rgba(255,255,255,.28);
  transform:translateX(4px);
}

.page-contact .contact-channel__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:14px;
  background:rgba(255,107,0,.9);
  color:var(--pc-white);
  flex-shrink:0;
}

.page-contact .contact-channel__text{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.page-contact .contact-channel__label{
  font-size:12px;
  color:rgba(255,255,255,.7);
  letter-spacing:.06em;
}

.page-contact .contact-channel__value{
  font-family:var(--font-data, 'Roboto Mono', monospace);
  font-size:17px;
  line-height:1.3;
  font-weight:500;
  color:var(--pc-white);
  word-break:break-all;
}

.page-contact .contact-address-block{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:14px 16px;
  border-radius:var(--pc-radius-lg);
  background:rgba(255,255,255,.05);
  border:1px dashed rgba(255,255,255,.25);
}

.page-contact .contact-address-block__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:12px;
  background:rgba(255,255,255,.1);
  color:var(--pc-accent);
  flex-shrink:0;
  margin-top:2px;
}

.page-contact .contact-address-block__text{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.page-contact .contact-address-block__label{
  font-size:12px;
  color:rgba(255,255,255,.7);
  letter-spacing:.06em;
}

.page-contact .contact-address-block__value{
  font-size:15px;
  line-height:1.5;
  color:var(--pc-white);
}

.page-contact .contact-form-wrap{
  display:flex;
}

.page-contact .contact-form-card{
  background:var(--pc-white);
  border-radius:var(--pc-radius-xl);
  padding:30px 24px;
  box-shadow:0 16px 48px rgba(10,30,60,.10);
  border:1px solid var(--pc-line);
  flex:1;
  display:flex;
  flex-direction:column;
}

.page-contact .contact-form-card__kicker{
  font-family:var(--font-data, 'Roboto Mono', monospace);
  font-size:12px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--pc-accent);
  margin:0 0 10px;
}

.page-contact .contact-form-card__title{
  font-family:var(--font-heading, 'Noto Serif SC', serif);
  font-size:24px;
  line-height:1.3;
  font-weight:700;
  color:var(--pc-primary);
  margin:0 0 10px;
}

.page-contact .contact-form-card__desc{
  font-size:14px;
  line-height:1.6;
  color:var(--pc-muted);
  margin:0 0 24px;
}

.page-contact .contact-form{
  display:flex;
  flex-direction:column;
  gap:18px;
  flex:1;
}

.page-contact .form-row{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
}

.page-contact .form-field{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.page-contact .form-label{
  font-size:14px;
  font-weight:500;
  color:var(--pc-primary);
}

.page-contact .form-input,
.page-contact .form-select,
.page-contact .form-textarea{
  width:100%;
  box-sizing:border-box;
  font-family:var(--font-body, 'Inter', 'Noto Sans SC', sans-serif);
  font-size:15px;
  line-height:1.5;
  color:var(--pc-dark, #1A202C);
  background:var(--pc-light);
  border:1px solid var(--pc-line);
  border-radius:var(--pc-radius-md);
  padding:12px 14px;
  transition:border-color var(--pc-dur) var(--pc-ease), box-shadow var(--pc-dur) var(--pc-ease), background var(--pc-dur) var(--pc-ease);
  appearance:none;
}

.page-contact .form-input::placeholder,
.page-contact .form-textarea::placeholder{
  color:#9AA8B9;
}

.page-contact .form-input:focus,
.page-contact .form-select:focus,
.page-contact .form-textarea:focus{
  outline:none;
  border-color:var(--pc-accent);
  background:var(--pc-white);
  box-shadow:0 0 0 3px rgba(255,107,0,.14);
}

.page-contact .form-select{
  background-image:linear-gradient(45deg, transparent 50%, var(--pc-primary) 50%), linear-gradient(135deg, var(--pc-primary) 50%, transparent 50%);
  background-position:calc(100% - 20px) calc(1em + 4px), calc(100% - 15px) calc(1em + 4px);
  background-size:5px 5px;
  background-repeat:no-repeat;
}

.page-contact .form-textarea{
  resize:vertical;
  min-height:110px;
}

.page-contact .form-note{
  font-size:12px;
  line-height:1.6;
  color:var(--pc-muted);
  margin:0;
}

.page-contact .form-note a{
  color:var(--pc-link);
  text-decoration:none;
}

.page-contact .form-note a:hover{
  text-decoration:underline;
}

.page-contact .form-actions{
  display:flex;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  margin-top:auto;
}

.page-contact .contact-submit-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--pc-accent);
  color:var(--pc-white);
  border:none;
  border-radius:var(--pc-radius-pill);
  padding:13px 30px;
  font-family:var(--font-body, 'Inter', 'Noto Sans SC', sans-serif);
  font-size:15px;
  font-weight:600;
  cursor:pointer;
  transition:background var(--pc-dur) var(--pc-ease), transform var(--pc-dur) var(--pc-ease), box-shadow var(--pc-dur) var(--pc-ease);
  box-shadow:0 8px 20px rgba(255,107,0,.28);
}

.page-contact .contact-submit-btn:hover{
  background:var(--pc-accent-soft);
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(255,107,0,.32);
}

.page-contact .form-guide{
  font-size:13px;
  color:var(--pc-muted);
}

.page-contact .contact-form-success{
  display:flex;
  align-items:center;
  gap:14px;
  background:rgba(255,107,0,.08);
  border:1px solid rgba(255,107,0,.22);
  border-radius:var(--pc-radius-md);
  padding:16px;
  margin-top:2px;
  scroll-margin-top:100px;
}

.page-contact .contact-form-success__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background:var(--pc-accent);
  color:var(--pc-white);
  flex-shrink:0;
}

.page-contact .contact-form-success__title{
  font-size:15px;
  font-weight:600;
  color:var(--pc-primary);
  margin:0 0 2px;
}

.page-contact .contact-form-success__desc{
  font-size:13px;
  color:var(--pc-muted);
  margin:0;
}

.page-contact .contact-service{
  position:relative;
  z-index:1;
  max-width:calc(var(--container-w, 1280px) + 80px);
  margin:0 auto;
  padding:40px 24px 20px;
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
  align-items:center;
}

.page-contact .contact-service__copy{
  padding:0;
}

.page-contact .contact-service__title{
  font-family:var(--font-heading, 'Noto Serif SC', serif);
  font-size:26px;
  line-height:1.3;
  font-weight:700;
  color:var(--pc-primary);
  margin:0 0 12px;
}

.page-contact .contact-service__desc{
  font-size:15px;
  line-height:1.6;
  color:var(--pc-muted);
  margin:0;
  max-width:520px;
}

.page-contact .contact-service__figure{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin:0;
  padding:0;
}

.page-contact .contact-service__img{
  width:100%;
  max-width:100%;
  height:auto;
  border-radius:var(--pc-radius-lg);
  object-fit:cover;
  box-shadow:0 12px 32px rgba(10,30,60,.10);
}

.page-contact .contact-service__cap{
  font-family:var(--font-data, 'Roboto Mono', monospace);
  font-size:13px;
  color:var(--pc-muted);
  letter-spacing:.02em;
  padding-left:4px;
}

.page-contact .contact-relates{
  position:relative;
  z-index:1;
  max-width:calc(var(--container-w, 1280px) + 80px);
  margin:0 auto;
  padding:20px 24px 48px;
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

.page-contact .contact-relates__item a{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:20px 22px;
  border-radius:var(--pc-radius-lg);
  background:var(--pc-white);
  border:1px solid var(--pc-line);
  color:var(--pc-primary);
  text-decoration:none;
  transition:border-color var(--pc-dur) var(--pc-ease), box-shadow var(--pc-dur) var(--pc-ease), transform var(--pc-dur) var(--pc-ease);
}

.page-contact .contact-relates__item a:hover{
  border-color:var(--pc-accent);
  box-shadow:0 12px 28px rgba(255,107,0,.14);
  transform:translateY(-2px);
}

.page-contact .contact-relates__tag{
  font-size:12px;
  font-family:var(--font-data, 'Roboto Mono', monospace);
  color:var(--pc-accent);
  letter-spacing:.08em;
  text-transform:uppercase;
}

.page-contact .contact-relates__title{
  font-size:18px;
  font-weight:600;
  color:var(--pc-primary);
}

.page-contact .contact-relates__link{
  font-size:14px;
  color:var(--pc-muted);
}

@media (min-width: 640px){
  .page-contact .contact-hero{
    padding-top:60px;
  }
  .page-contact .page-title{
    font-size:40px;
  }
  .page-contact .form-row{
    grid-template-columns:1fr 1fr;
  }
  .page-contact .contact-info-panel__inner{
    padding:40px 34px;
  }
  .page-contact .contact-form-card{
    padding:36px 34px;
  }
  .page-contact .contact-relates{
    grid-template-columns:1fr 1fr;
  }
}

@media (min-width: 900px){
  .page-contact .contact-direct{
    grid-template-columns:minmax(0, 5fr) minmax(0, 6fr);
    gap:26px;
    padding-top:40px;
  }
  .page-contact .contact-info-panel{
    min-height:640px;
  }
  .page-contact .contact-info-panel__bg{
    width:420px;
    height:420px;
    top:auto;
    bottom:-40px;
  }
  .page-contact .contact-service{
    grid-template-columns:minmax(0, 3fr) minmax(0, 2fr);
    padding-top:56px;
  }
  .page-contact .contact-service__copy{
    padding-right:40px;
  }
  .page-contact .contact-form-card{
    padding:44px;
  }
  .page-contact .contact-info-panel__inner{
    padding:48px 44px;
  }
  .page-contact .contact-info-panel__title{
    font-size:28px;
  }
  .page-contact .contact-channel__value{
    font-size:19px;
  }
}

@media (min-width: 1200px){
  .page-contact .contact-hero{
    padding-left:48px;
    padding-right:48px;
  }
  .page-contact .contact-direct{
    padding-left:48px;
    padding-right:48px;
  }
  .page-contact .contact-service{
    padding-left:48px;
    padding-right:48px;
  }
  .page-contact .contact-relates{
    padding-left:48px;
    padding-right:48px;
  }
}

.page-contact {
  --pc-dark: currentColor;
}
