.page-contact{
  --contact-pad:clamp(1.25rem,4vw,3.5rem);
  --contact-gold-line:rgba(255,215,0,.4);
  --contact-cyan-line:rgba(0,229,255,.28);
  --contact-purple-line:rgba(168,85,247,.32);
  --contact-gold-glow:0 0 28px rgba(255,215,0,.16);
  --contact-card-bg:rgba(13,16,29,.74);
  background:var(--color-night);
  color:var(--color-paper);
  overflow-x:hidden;
}

/* ===== HERO ===== */
.page-contact .contact-hero{
  position:relative;
  min-height:clamp(460px,78vh,720px);
  display:flex;
  align-items:flex-end;
  padding:calc(var(--header-h) + 2.5rem) var(--contact-pad) 5rem;
  isolation:isolate;
}
.page-contact .contact-hero__visual{
  position:absolute;
  inset:0;
  z-index:-2;
}
.page-contact .contact-hero__visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.page-contact .contact-hero__visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(10,11,18,.6) 0%,rgba(10,11,18,.3) 52%,var(--color-night) 100%);
}
.page-contact .contact-hero__grid{
  position:absolute;
  inset:0;
  z-index:-1;
  background-image:
    linear-gradient(rgba(0,229,255,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,229,255,.07) 1px,transparent 1px);
  background-size:42px 42px;
  -webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.9) 0%,transparent 90%);
  mask-image:linear-gradient(180deg,rgba(0,0,0,.9) 0%,transparent 90%);
}
.page-contact .contact-hero__beam{
  position:absolute;
  z-index:-1;
  top:14%;
  right:-14%;
  width:50%;
  height:66%;
  background:linear-gradient(125deg,rgba(168,85,247,.3),rgba(0,229,255,.14) 70%);
  filter:blur(70px);
  transform:rotate(-16deg);
}
.page-contact .contact-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:repeating-linear-gradient(180deg,transparent 0,transparent 4px,rgba(255,255,255,.014) 4px,rgba(255,255,255,.014) 5px);
}
.page-contact .contact-hero__inner{
  position:relative;
  z-index:1;
  max-width:var(--container);
  width:100%;
  margin-inline:auto;
}
.page-contact .contact-hero .breadcrumbs{
  margin-bottom:1rem;
  font-size:.85rem;
  color:var(--color-muted);
}
.page-contact .contact-hero .breadcrumbs a{
  color:var(--color-cyan);
  text-decoration:none;
  transition:color .2s ease;
}
.page-contact .contact-hero .breadcrumbs a:hover{
  color:var(--color-gold);
}
.page-contact .contact-hero .breadcrumbs__sep{
  margin:0 .45rem;
  color:var(--color-muted);
}
.page-contact .contact-hero .kicker{
  display:flex;
  align-items:center;
  gap:.7rem;
  margin-bottom:1.1rem;
  color:var(--color-gold);
  font-family:var(--font-body);
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.page-contact .contact-hero .kicker::before{
  content:"";
  width:36px;
  height:2px;
  background:var(--color-gold);
  box-shadow:0 0 12px rgba(255,215,0,.8);
}
.page-contact .contact-hero h1{
  margin:0 0 1.1rem;
  font-family:var(--font-heading);
  font-size:clamp(3.2rem,9vw,7.2rem);
  line-height:.92;
  letter-spacing:-0.01em;
  color:var(--color-paper);
  text-shadow:
    0 0 22px rgba(168,85,247,.55),
    0 0 60px rgba(168,85,247,.28),
    4px 6px 0 rgba(168,85,247,.55);
}
.page-contact .contact-hero__sub{
  max-width:36rem;
  margin:0 0 1.8rem;
  color:var(--color-muted);
  font-size:1rem;
  line-height:1.7;
}
.page-contact .contact-hero .btn--ghost{
  border-color:var(--contact-cyan-line);
  color:var(--color-cyan);
}

/* ===== BODY ===== */
.page-contact .contact-body{
  max-width:var(--container);
  margin-inline:auto;
  padding:0 var(--contact-pad) 5rem;
}

/* ===== PANEL ===== */
.page-contact .contact-panel{
  position:relative;
  margin-top:clamp(-1.2rem,-3vw,-2.5rem);
  padding:clamp(1.5rem,4vw,3rem);
  border:1px solid var(--contact-gold-line);
  border-radius:var(--radius);
  background:
    linear-gradient(135deg,rgba(255,215,0,.06),transparent 32%),
    var(--contact-card-bg);
  box-shadow:var(--shadow),var(--contact-gold-glow);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.page-contact .contact-panel::before{
  content:"";
  position:absolute;
  top:0;
  left:2rem;
  right:2rem;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--color-gold),transparent);
  opacity:.6;
}
.page-contact .contact-panel__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1.5rem;
}
.page-contact .contact-panel__leading{
  flex:1;
  min-width:0;
}
.page-contact .contact-panel__leading .kicker{
  margin:0 0 .7rem;
  color:var(--color-cyan);
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.page-contact .contact-panel__leading h2{
  margin:0 0 .9rem;
  font-family:var(--font-heading);
  font-size:clamp(1.8rem,4.2vw,2.8rem);
  line-height:1.05;
  color:var(--color-paper);
}
.page-contact .contact-panel__desc{
  margin:0;
  color:var(--color-muted);
  line-height:1.75;
  max-width:44rem;
}
.page-contact .contact-panel__avatar{
  flex:0 0 auto;
  width:clamp(64px,12vw,96px);
  aspect-ratio:1;
  border-radius:24px;
  border:1px solid var(--contact-gold-line);
  box-shadow:var(--contact-gold-glow);
  overflow:hidden;
  background:var(--color-deep);
  transform:rotate(5deg);
}
.page-contact .contact-panel__avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.page-contact .contact-panel__grid{
  display:grid;
  gap:1.1rem;
  margin-top:2.2rem;
}
.page-contact .contact-card{
  position:relative;
  display:flex;
  gap:1rem;
  padding:1.4rem 1.3rem;
  border-radius:var(--radius);
  background:
    linear-gradient(160deg,rgba(255,215,0,.05),transparent 55%),
    rgba(13,16,29,.72);
  border:1px solid var(--contact-gold-line);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.page-contact .contact-card:hover{
  transform:translateY(-3px);
  border-color:rgba(255,215,0,.75);
  box-shadow:0 14px 40px rgba(0,0,0,.35),0 0 22px rgba(255,215,0,.14);
}
.page-contact .contact-card__icon{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border-radius:14px;
  color:var(--color-gold);
  background:rgba(255,215,0,.08);
  border:1px solid rgba(255,215,0,.25);
}
.page-contact .contact-card__body{
  min-width:0;
}
.page-contact .contact-card__label{
  margin:0 0 .25rem;
  font-size:.78rem;
  font-weight:600;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--color-muted);
}
.page-contact .contact-card__value{
  margin:0 0 .55rem;
  font-family:var(--font-mono);
  font-size:clamp(1rem,2.6vw,1.35rem);
  font-weight:600;
  color:var(--color-paper);
  word-break:break-all;
}
.page-contact .contact-card__value a{
  color:inherit;
  text-decoration:none;
  border-bottom:1px dashed rgba(255,215,0,.4);
  transition:border-color .2s ease;
}
.page-contact .contact-card__value a:hover{
  border-bottom-color:var(--color-gold);
}
.page-contact .contact-card__desc{
  margin:0;
  font-size:.9rem;
  line-height:1.65;
  color:var(--color-muted);
}

/* ===== LOCAL ===== */
.page-contact .contact-local{
  position:relative;
  margin-top:4.5rem;
  padding:2.2rem 1.5rem;
  border:1px solid var(--contact-cyan-line);
  border-radius:var(--radius);
  background:
    radial-gradient(circle at 85% 20%,rgba(0,229,255,.08),transparent 42%),
    var(--color-deep);
  overflow:hidden;
  display:grid;
  gap:1.4rem;
}
.page-contact .contact-local::after{
  content:"";
  position:absolute;
  right:-4rem;
  bottom:-4rem;
  width:12rem;
  height:12rem;
  border-radius:50%;
  background:radial-gradient(circle,rgba(0,229,255,.14),transparent 70%);
  pointer-events:none;
}
.page-contact .contact-local__badge{
  width:max-content;
  padding:.25rem .75rem;
  font-family:var(--font-heading);
  font-size:1.05rem;
  color:var(--color-cyan);
  border:1px solid rgba(0,229,255,.4);
  border-radius:99px;
  box-shadow:inset 0 0 14px rgba(0,229,255,.15);
}
.page-contact .contact-local__content{
  position:relative;
  z-index:1;
}
.page-contact .contact-local__content .kicker{
  margin:0 0 .6rem;
  color:var(--color-cyan);
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.page-contact .contact-local__content h2{
  margin:0 0 1rem;
  font-family:var(--font-heading);
  font-size:clamp(1.7rem,3.8vw,2.5rem);
  line-height:1.1;
  color:var(--color-paper);
}
.page-contact .contact-local__addr{
  display:inline-block;
  margin:0 0 1rem;
  padding-bottom:.5rem;
  border-bottom:1px dashed rgba(255,215,0,.35);
  font-family:var(--font-mono);
  font-size:clamp(1.05rem,2.6vw,1.35rem);
  font-weight:600;
  color:var(--color-paper);
}
.page-contact .contact-local__text{
  margin:0 0 1.2rem;
  font-size:.95rem;
  line-height:1.75;
  color:var(--color-muted);
  max-width:44rem;
}
.page-contact .contact-local__note{
  display:inline-flex;
  padding:.5rem .85rem;
  border-radius:99px;
  background:rgba(0,229,255,.08);
  border:1px solid rgba(0,229,255,.2);
  color:var(--color-cyan);
  font-size:.85rem;
  line-height:1.5;
}

/* ===== TIPS ===== */
.page-contact .contact-tips{
  margin-top:4.5rem;
}
.page-contact .contact-tips__head{
  max-width:40rem;
}
.page-contact .contact-tips__head .kicker{
  margin:0 0 .6rem;
  color:var(--color-purple);
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.page-contact .contact-tips__head h2{
  margin:0 0 .8rem;
  font-family:var(--font-heading);
  font-size:clamp(1.7rem,3.8vw,2.5rem);
  line-height:1.1;
  color:var(--color-paper);
}
.page-contact .contact-tips__desc{
  margin:0;
  color:var(--color-muted);
  line-height:1.7;
}
.page-contact .contact-tips__list{
  list-style:none;
  margin:2.2rem 0 0;
  padding:0;
  display:grid;
  gap:1rem;
}
.page-contact .contact-tips__item{
  position:relative;
  padding:1.4rem 1.3rem;
  background:rgba(17,22,41,.7);
  border:1px solid var(--contact-purple-line);
  border-radius:var(--radius);
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.page-contact .contact-tips__item:hover{
  transform:translateY(-2px);
  border-color:rgba(168,85,247,.6);
  box-shadow:0 12px 34px rgba(0,0,0,.3),0 0 20px rgba(168,85,247,.12);
}
.page-contact .contact-tips__num{
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  margin-bottom:.8rem;
  border-radius:10px;
  font-family:var(--font-heading);
  font-size:.95rem;
  color:var(--color-purple);
  background:rgba(168,85,247,.12);
  border:1px solid rgba(168,85,247,.35);
}
.page-contact .contact-tips__item h3{
  margin:0 0 .35rem;
  font-size:1rem;
  color:var(--color-paper);
}
.page-contact .contact-tips__item p{
  margin:0;
  font-size:.88rem;
  line-height:1.6;
  color:var(--color-muted);
}

/* ===== RELATED ===== */
.page-contact .contact-related{
  margin-top:4.5rem;
  padding:2rem 0 0;
  border-top:1px solid rgba(255,255,255,.08);
  display:flex;
  flex-direction:column;
  gap:1.4rem;
  align-items:flex-start;
}
.page-contact .contact-related__note .kicker{
  margin:0 0 .4rem;
  color:var(--color-gold);
  font-size:.75rem;
  font-weight:600;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.page-contact .contact-related__note > p{
  margin:0;
  color:var(--color-muted);
  font-size:.9rem;
  line-height:1.6;
  max-width:34rem;
}
.page-contact .contact-related__trust{
  margin-top:.9rem;
  padding:.6rem .8rem;
  border-left:2px solid rgba(255,215,0,.45);
  background:rgba(255,215,0,.05);
  border-radius:0 var(--radius-sm) var(--radius-sm) 0;
  font-size:.82rem;
  color:var(--color-muted);
  line-height:1.6;
}
.page-contact .contact-related__actions{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
}

/* ===== DESKTOP ===== */
@media (min-width:800px){
  .page-contact .contact-hero{
    padding-bottom:6rem;
  }
  .page-contact .contact-body{
    padding-bottom:7rem;
  }
  .page-contact .contact-panel{
    padding:3.5rem;
  }
  .page-contact .contact-panel__grid{
    grid-template-columns:7fr 5fr;
    align-items:start;
    gap:1.4rem;
    margin-top:2.6rem;
  }
  .page-contact .contact-card--phone{
    margin-top:2.6rem;
  }
  .page-contact .contact-local{
    grid-template-columns:auto 1fr;
    gap:2.5rem;
    align-items:start;
    padding:3rem;
  }
  .page-contact .contact-tips__list{
    grid-template-columns:repeat(4,1fr);
    gap:1.1rem;
  }
  .page-contact .contact-tips__item{
    padding:1.6rem 1.3rem 1.3rem;
  }
  .page-contact .contact-tips__item:not(:last-child)::before{
    content:"";
    position:absolute;
    top:50%;
    right:-1.1rem;
    width:1.1rem;
    height:2px;
    background:linear-gradient(90deg,rgba(168,85,247,.7),transparent);
    pointer-events:none;
  }
  .page-contact .contact-related{
    flex-direction:row;
    align-items:flex-end;
    justify-content:space-between;
  }
  .page-contact .contact-related__actions{
    flex:0 0 auto;
  }
}
