.page-contact{
  --contact-line-height:1.7;
  --contact-kicker-gold:rgba(240,185,11,0.18);
  --contact-cyan-glow:0 0 24px rgba(0,229,255,0.18);
  --contact-gold-glow:0 0 24px rgba(240,185,11,0.2);
  position:relative;
  overflow-x:hidden;
  background:
    radial-gradient(1100px 420px at 88% -2%,rgba(26,27,75,0.95),transparent 62%),
    linear-gradient(180deg,var(--space-navy) 0%,#0E1226 100%);
  color:var(--text-primary);
  font-family:var(--font-body);
  line-height:var(--contact-line-height);
  letter-spacing:0.02em;
}
.page-contact a{
  color:inherit;
}
.page-contact__inner{
  width:min(100% - 32px,var(--content-max));
  margin-inline:auto;
}
.page-contact .breadcrumbs{
  padding-top:28px;
  margin-bottom:0;
}

.contact-hero{
  position:relative;
  padding:48px 0 36px;
  border-bottom:3px solid var(--border-subtle);
  overflow:hidden;
}
.page-contact .contact-hero::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:5px;
  background:linear-gradient(90deg,var(--bright-cyan) 0%,var(--deep-blue) 45%,var(--gold) 100%);
  opacity:0.9;
  z-index:1;
}
.contact-hero__glow{
  position:absolute;
  width:360px;
  height:360px;
  right:-110px;
  top:-120px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(0,229,255,0.14),transparent 68%);
  pointer-events:none;
}
.contact-hero__inner{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:28px;
}
.contact-hero__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:0.82rem;
  font-weight:600;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--gold-light);
}
.contact-hero__eyebrow::before{
  content:"";
  width:34px;
  height:3px;
  background:var(--glow-gradient);
  border-radius:99px;
}
.page-contact .contact-hero h1{
  margin:10px 0 0;
  font-family:var(--font-heading);
  font-size:2.15rem;
  font-weight:700;
  line-height:1.15;
  letter-spacing:-0.01em;
}
.contact-hero__intro{
  margin:16px 0 0;
  max-width:34em;
  color:var(--text-secondary);
  font-size:1.02rem;
}
.contact-hero__art{
  display:none;
}

.contact-layout{
  display:grid;
  gap:44px 52px;
  padding:44px 0 56px;
}
.contact-aside{
  display:flex;
  flex-direction:column;
  gap:28px;
}
.contact-panel-wrap{
  display:flex;
  flex-direction:column;
  gap:40px;
}

.contact-block{
  position:relative;
  background:var(--surface-alt);
  border:3px solid var(--border-subtle);
  border-radius:var(--radius);
  box-shadow:var(--shadow-hard);
  padding:26px 24px;
}
.contact-block--service{
  border-left:6px solid var(--gold);
}
.contact-block--general{
  border-left:6px solid var(--bright-cyan);
}
.contact-block__head{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
}
.contact-block__mark{
  display:inline-grid;
  place-items:center;
  min-width:34px;
  height:30px;
  padding:0 8px;
  border:2px solid var(--gold);
  border-radius:999px;
  font-family:var(--font-heading);
  font-size:0.78rem;
  font-weight:700;
  letter-spacing:0.08em;
  color:var(--gold-light);
}
.contact-block__title{
  margin:0;
  font-family:var(--font-heading);
  font-size:var(--h3-size);
  font-weight:700;
  line-height:1.3;
}
.contact-block__desc{
  margin:0 0 18px;
  color:var(--text-secondary);
  font-size:0.95rem;
}

.contact-figure{
  margin:0 0 20px;
  border-radius:14px;
  overflow:hidden;
  border:2px solid var(--border-subtle);
  background:var(--space-navy);
}
.contact-figure__img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:cover;
}
.contact-figure--map{
  margin-top:18px;
  margin-bottom:0;
}

.contact-channel{
  display:flex;
  align-items:center;
  gap:16px;
  margin-top:14px;
  padding:16px 14px;
  border:2px solid var(--border-subtle);
  border-radius:16px;
  background:var(--space-navy);
  transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition);
}
.contact-channel:hover,
.contact-channel:focus-visible{
  border-color:var(--gold);
  transform:translateY(-2px);
  box-shadow:0 10px 0 rgba(0,0,0,0.22);
}
.contact-channel__icon{
  width:54px;
  height:54px;
  border-radius:50%;
  display:grid;
  place-items:center;
  flex:0 0 auto;
}
.contact-channel--phone .contact-channel__icon{
  color:var(--deep-blue);
  background:radial-gradient(circle at 30% 28%,var(--gold-light),var(--gold) 72%);
  box-shadow:0 0 0 5px var(--contact-kicker-gold),0 8px 0 rgba(0,0,0,0.22);
  transition:box-shadow var(--transition),transform var(--transition);
}
.contact-channel--phone:hover .contact-channel__icon,
.contact-channel--phone:focus-visible .contact-channel__icon{
  animation:contact-ring 1.5s ease-out infinite;
}
@keyframes contact-ring{
  0%{
    box-shadow:0 0 0 0 rgba(240,185,11,0.5),0 8px 0 rgba(0,0,0,0.22);
  }
  70%{
    box-shadow:0 0 0 16px rgba(240,185,11,0),0 8px 0 rgba(0,0,0,0.22);
  }
  100%{
    box-shadow:0 0 0 0 rgba(240,185,11,0),0 8px 0 rgba(0,0,0,0.22);
  }
}
.contact-channel--mail .contact-channel__icon{
  color:#fff;
  background:linear-gradient(135deg,var(--deep-blue),var(--bright-cyan));
  box-shadow:0 0 0 5px rgba(0,229,255,0.14),0 8px 0 rgba(0,0,0,0.22),var(--contact-cyan-glow);
  transition:box-shadow var(--transition),transform var(--transition);
}
.contact-channel--mail:hover .contact-channel__icon,
.contact-channel--mail:focus-visible .contact-channel__icon{
  transform:translateY(-1px) scale(1.04);
  box-shadow:0 0 0 8px rgba(0,229,255,0.1),0 8px 0 rgba(0,0,0,0.22),0 0 30px rgba(0,229,255,0.26);
}
.contact-channel__body{
  display:flex;
  flex-direction:column;
  min-width:0;
  flex:1;
}
.contact-channel__label{
  font-size:0.8rem;
  letter-spacing:0.1em;
  color:var(--text-secondary);
  text-transform:uppercase;
}
.contact-channel__value{
  font-family:var(--font-heading);
  font-size:1.05rem;
  font-weight:700;
  color:var(--text-primary);
  word-break:break-all;
}
.contact-channel__arrow{
  color:var(--gold);
  font-size:1.1rem;
  transition:transform var(--transition);
}
.contact-channel:hover .contact-channel__arrow,
.contact-channel:focus-visible .contact-channel__arrow{
  transform:translateX(4px);
}
.contact-channel--general{
  margin-top:0;
  border-left:6px solid var(--bright-cyan);
}

.contact-hours{
  display:flex;
  align-items:center;
  gap:14px;
  margin-top:16px;
  padding:16px 14px;
  border-radius:16px;
  background:rgba(240,185,11,0.1);
  border:2px dashed var(--gold);
  transition:background var(--transition);
}
.contact-hours:hover{
  background:rgba(240,185,11,0.16);
}
.contact-hours__icon{
  color:var(--gold-light);
  display:grid;
  place-items:center;
}
.contact-hours__text{
  display:flex;
  flex-direction:column;
  line-height:1.45;
}
.contact-hours__text strong{
  font-family:var(--font-heading);
  color:var(--text-primary);
  font-weight:700;
}
.contact-hours__text small{
  color:var(--text-secondary);
  font-size:0.88rem;
}

.contact-block--address{
  background:
    linear-gradient(rgba(0,229,255,0.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,229,255,0.05) 1px,transparent 1px),
    var(--surface-alt);
  background-size:26px 26px;
}
.contact-address{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:16px;
  border:2px solid var(--border-subtle);
  border-radius:16px;
  background:var(--space-navy);
  transition:border-color var(--transition),box-shadow var(--transition),background var(--transition);
}
.contact-address:hover,
.contact-address:focus-within{
  border-color:var(--bright-cyan);
  box-shadow:var(--contact-cyan-glow);
  background:rgba(0,229,255,0.06);
}
.contact-address__icon{
  color:var(--bright-cyan);
  flex:0 0 auto;
}
.contact-address__text{
  font-weight:600;
  color:var(--text-primary);
  line-height:1.55;
}

.contact-panel{
  position:relative;
  padding:38px 26px 30px;
  border:3px solid var(--bright-cyan);
  border-radius:var(--radius);
  background:
    radial-gradient(420px 220px at 100% 0%,rgba(26,27,75,0.95),transparent 60%),
    linear-gradient(155deg,var(--deep-blue) 0%,var(--space-navy) 58%,var(--surface-alt) 100%);
  box-shadow:var(--shadow-hard);
  overflow:hidden;
}
.contact-panel__topper{
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:6px;
  background:linear-gradient(90deg,var(--bright-cyan) 0%,var(--gold) 65%,var(--bright-cyan) 130%);
}
.contact-panel__eyebrow{
  margin:0 0 8px;
  font-size:0.78rem;
  font-weight:600;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--bright-cyan);
}
.contact-panel__title{
  margin:0;
  font-family:var(--font-heading);
  font-size:1.55rem;
  font-weight:700;
  line-height:1.25;
}
.contact-panel__intro{
  margin:14px 0 0;
  color:var(--text-secondary);
  font-size:0.95rem;
  max-width:52ch;
}
.contact-panel__actions{
  display:grid;
  gap:16px;
  margin-top:26px;
}
.contact-panel__note{
  margin:22px 0 0;
  padding-top:18px;
  border-top:2px dashed var(--border-subtle);
  color:var(--text-secondary);
  font-size:0.88rem;
}

.contact-big{
  display:flex;
  align-items:center;
  gap:18px;
  padding:22px 20px;
  border:3px solid var(--border-subtle);
  border-radius:18px;
  background:var(--space-navy);
  transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition);
}
.contact-big:hover,
.contact-big:focus-visible{
  transform:translate(-3px,-3px);
}
.contact-big__icon{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:14px;
  flex:0 0 auto;
}
.contact-big--mail .contact-big__icon{
  color:#fff;
  background:linear-gradient(135deg,var(--deep-blue),var(--bright-cyan));
  box-shadow:0 6px 0 rgba(0,0,0,0.2),var(--contact-cyan-glow);
}
.contact-big--mail:hover,
.contact-big--mail:focus-visible{
  border-color:var(--bright-cyan);
  box-shadow:10px 10px 0 rgba(0,0,0,0.24),var(--contact-cyan-glow);
}
.contact-big--tel .contact-big__icon{
  color:var(--deep-blue);
  background:radial-gradient(circle at 30% 28%,var(--gold-light),var(--gold) 72%);
  box-shadow:0 6px 0 rgba(0,0,0,0.2),var(--contact-gold-glow);
}
.contact-big--tel:hover,
.contact-big--tel:focus-visible{
  border-color:var(--gold);
  box-shadow:10px 10px 0 rgba(0,0,0,0.24),var(--contact-gold-glow);
}
.contact-big__text{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.contact-big__label{
  font-size:0.82rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--text-secondary);
}
.contact-big__value{
  font-family:var(--font-heading);
  font-size:1.05rem;
  font-weight:700;
  word-break:break-all;
  color:var(--text-primary);
}

.contact-help{
  border-top:3px solid var(--border-subtle);
  padding-top:8px;
}
.contact-help__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.contact-help__title{
  margin:0;
  font-family:var(--font-heading);
  font-size:var(--h3-size);
  font-weight:700;
}
.contact-help__more{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:0.9rem;
  font-weight:600;
  color:var(--bright-cyan);
  transition:color var(--transition),gap var(--transition);
}
.contact-help__more:hover{
  color:var(--gold-light);
  gap:10px;
}
.contact-help__intro{
  margin:12px 0 20px;
  color:var(--text-secondary);
  font-size:0.93rem;
  max-width:58ch;
}
.contact-help__list{
  list-style:none;
  margin:0;
  padding:0;
}
.contact-help__item{
  margin-bottom:14px;
}
.contact-help__link{
  display:flex;
  align-items:center;
  gap:14px;
  padding:18px;
  border:2px solid var(--border-subtle);
  border-radius:16px;
  background:var(--surface-alt);
  transition:border-color var(--transition),background var(--transition),transform var(--transition);
}
.contact-help__link:hover,
.contact-help__link:focus-visible{
  border-color:var(--gold);
  background:rgba(240,185,11,0.08);
  transform:translateX(6px);
}
.contact-help__num{
  display:inline-grid;
  place-items:center;
  min-width:36px;
  height:30px;
  padding:0 6px;
  border-radius:999px;
  border:2px solid var(--border-subtle);
  background:var(--space-navy);
  font-family:var(--font-heading);
  font-size:0.78rem;
  font-weight:700;
  color:var(--gold-light);
}
.contact-help__q{
  flex:1;
  font-weight:600;
  color:var(--text-primary);
  font-size:0.96rem;
  line-height:1.45;
}
.contact-help__arrow{
  color:var(--gold);
  transition:transform var(--transition);
}
.contact-help__link:hover .contact-help__arrow,
.contact-help__link:focus-visible .contact-help__arrow{
  transform:translateX(4px);
}

.contact-trust{
  border-top:3px solid var(--border-subtle);
  background:var(--surface-alt);
  padding:30px 0;
}
.contact-trust__inner{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.contact-trust__text{
  margin:0;
  color:var(--text-secondary);
  font-size:0.92rem;
  max-width:72ch;
}
.contact-trust__links{
  display:flex;
  flex-wrap:wrap;
  gap:12px 24px;
}
.contact-trust__links a{
  font-weight:600;
  font-size:0.9rem;
  color:var(--text-primary);
  transition:color var(--transition);
}
.contact-trust__links a:hover{
  color:var(--bright-cyan);
}

@media (min-width:640px){
  .contact-hero{
    padding:60px 0 44px;
  }
  .page-contact .contact-hero h1{
    font-size:2.35rem;
  }
  .contact-layout{
    padding:56px 0 64px;
  }
  .contact-block{
    padding:30px 28px;
  }
  .contact-panel{
    padding:44px 32px 34px;
  }
  .contact-panel__actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .contact-trust__inner{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
  }
  .contact-trust__links{
    flex-shrink:0;
  }
}

@media (min-width:920px){
  .contact-layout{
    grid-template-columns:minmax(0,5fr) minmax(0,7fr);
    gap:52px;
  }
  .contact-hero__inner{
    flex-direction:row;
    align-items:flex-end;
    justify-content:space-between;
    gap:40px;
  }
  .contact-hero__copy{
    flex:1 1 60%;
  }
  .contact-hero__art{
    display:block;
    flex:1 1 40%;
    max-width:440px;
  }
  .contact-hero__line{
    width:100%;
    height:auto;
    display:block;
  }
  .contact-aside{
    gap:32px;
  }
}

@media (min-width:1180px){
  .page-contact .contact-hero h1{
    font-size:var(--h1-size);
  }
  .contact-panel{
    padding:48px 40px 36px;
  }
  .contact-big{
    padding:26px 24px;
  }
}
