.page-contact{
  --contact-gold-glow: 0 0 20px rgba(212,175,55,.15);
  --contact-cyan-glow: 0 0 20px rgba(45,226,230,.12);
  --contact-radius-lg: 20px;
  --contact-radius-md: 12px;
  --contact-ring-width: 2px;
  --contact-step-bg: rgba(20,33,61,.6);
  --contact-card-bg: rgba(20,33,61,.45);
  --contact-border-strong: #2A4A73;
  background:
    linear-gradient(rgba(27,58,95,.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(27,58,95,.12) 1px, transparent 1px),
    var(--c-deep);
  background-size: 44px 44px;
  overflow-x: hidden;
}

.page-contact .container{
  margin-inline:auto;
  padding-inline:var(--gutter);
  width:100%;
  max-width:var(--container);
}

.page-contact .section{
  padding-block:calc(var(--section-space) * .7);
  border-bottom:1px solid rgba(31,58,95,.4);
}
.page-contact .section:last-child{
  border-bottom:none;
}

.page-contact .contact-hero{
  position:relative;
  padding-block:clamp(3rem,6vw,5rem);
  border-bottom:1px solid var(--c-line);
  background:
    radial-gradient(circle at 18% 30%, rgba(212,175,55,.08) 0%, transparent 34%),
    radial-gradient(circle at 75% 20%, rgba(45,226,230,.05) 0%, transparent 28%),
    linear-gradient(180deg, rgba(11,16,38,.4) 0%, var(--c-deep) 100%);
}

.page-contact .contact-hero__inner{
  display:grid;
  grid-template-columns:1fr;
  gap:3rem;
  align-items:center;
  position:relative;
  z-index:2;
}

.page-contact .contact-hero__kicker{
  font-family:var(--font-body);
  font-size:.75rem;
  letter-spacing:.42em;
  text-transform:uppercase;
  color:var(--c-gold);
  margin:1.5rem 0 .5rem;
  display:flex;
  align-items:center;
  gap:.65rem;
}
.page-contact .contact-hero__kicker::before{
  content:"";
  width:2.5rem;
  height:2px;
  background:linear-gradient(90deg, var(--c-gold), transparent);
  display:inline-block;
}

.page-contact .contact-hero .page-title{
  font-family:var(--font-display);
  font-size:clamp(2rem,5vw,3.25rem);
  font-weight:800;
  line-height:1.2;
  letter-spacing:.02em;
  color:var(--c-text);
  margin:0 0 1.25rem;
  position:relative;
  z-index:1;
}
.page-contact .contact-hero .page-title .accent{
  color:var(--c-gold);
  text-shadow:var(--contact-gold-glow);
}

.page-contact .contact-hero__lead{
  font-family:var(--font-body);
  font-size:1rem;
  line-height:1.9;
  color:var(--c-muted);
  max-width:42em;
  margin:0 0 1.5rem;
}

.page-contact .contact-hero__meta{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  margin-top:1.25rem;
}

.page-contact .contact-hero__orbs{
  display:none;
  position:relative;
  width:100%;
  aspect-ratio:4/3;
  max-width:480px;
  margin-left:auto;
  align-self:stretch;
}

.page-contact .orb{
  display:block;
  position:absolute;
  border-radius:50%;
}
.page-contact .orb--gold{
  width:min(240px,55%);
  aspect-ratio:1;
  border:1.5px solid rgba(212,175,55,.75);
  background:rgba(212,175,55,.05);
  box-shadow:0 0 60px rgba(212,175,55,.12) inset;
  top:0;
  right:0;
  animation:contact-float-gold 7s ease-in-out infinite;
}
.page-contact .orb--cyan{
  width:min(140px,32%);
  aspect-ratio:1;
  background:rgba(45,226,230,.06);
  border:1px dashed rgba(45,226,230,.6);
  bottom:6%;
  left:4%;
}
.page-contact .orb--violet{
  width:min(90px,22%);
  aspect-ratio:1;
  background:radial-gradient(circle at 30% 30%, rgba(122,90,248,.4), rgba(122,90,248,.05));
  top:34%;
  left:2%;
  border:none;
  filter:blur(2px);
}
.page-contact .orb--line{
  width:min(100%,380px);
  height:44px;
  border:none;
  border-top:1px solid rgba(212,175,55,.25);
  border-radius:0;
  transform:rotate(-22deg);
  top:44%;
  left:50%;
  margin-left:-190px;
}

@keyframes contact-float-gold{
  0%,100%{ transform:translateY(0) scale(1); }
  50%{ transform:translateY(-12px) scale(1.02); }
}

.page-contact .contact-hero__vertical-text{
  display:none;
  font-family:var(--font-display);
  font-size:.8rem;
  letter-spacing:.35em;
  writing-mode:vertical-rl;
  color:rgba(168,182,200,.55);
  position:absolute;
  right:-.35rem;
  top:10%;
  bottom:10%;
  text-transform:uppercase;
}

.page-contact .grid-split{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1.25rem,3vw,2.5rem);
  align-items:start;
}

.page-contact .contact-panel{
  position:relative;
  padding:clamp(1.25rem,3vw,2.25rem);
  border-radius:var(--contact-radius-lg);
  background:var(--c-panel);
  box-shadow:var(--shadow-2);
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;
  overflow:hidden;
}

.page-contact .contact-panel--gold{
  border-top:var(--contact-ring-width) solid var(--c-gold);
  border-bottom:var(--contact-ring-width) solid rgba(212,175,55,.14);
  border-left:var(--contact-ring-width) solid rgba(212,175,55,.25);
  border-right:var(--contact-ring-width) solid rgba(212,175,55,.08);
  box-shadow:var(--shadow-2), var(--contact-gold-glow);
}
.page-contact .contact-panel--gold::before{
  content:"";
  position:absolute;
  top:-1px;
  right:0;
  width:88px;
  height:4px;
  background:linear-gradient(90deg, transparent, var(--c-gold));
}

.page-contact .contact-panel--cyan{
  border-top:var(--contact-ring-width) solid var(--c-cyan);
  border-bottom:var(--contact-ring-width) solid rgba(45,226,230,.1);
  border-left:var(--contact-ring-width) solid rgba(45,226,230,.08);
  border-right:var(--contact-ring-width) solid rgba(45,226,230,.25);
  box-shadow:var(--shadow-2), var(--contact-cyan-glow);
}
.page-contact .contact-panel--cyan::before{
  content:"";
  position:absolute;
  top:-1px;
  left:0;
  width:88px;
  height:4px;
  background:linear-gradient(90deg, var(--c-cyan), transparent);
}

.page-contact .contact-panel:hover{
  transform:translateY(-4px);
  border-color:rgba(212,175,55,.45);
}

.page-contact .section-heading{
  display:flex;
  align-items:baseline;
  gap:.9rem;
  margin-bottom:1.5rem;
  flex-wrap:wrap;
}
.page-contact .section-heading__index{
  font-family:var(--font-display);
  font-size:.9rem;
  font-weight:700;
  letter-spacing:.28em;
  color:var(--c-gold);
  padding:.15em .55em;
  border:1px solid rgba(212,175,55,.4);
  border-radius:30px;
  line-height:1.6;
}
.page-contact .section-heading__main{
  font-family:var(--font-display);
  font-size:clamp(1.25rem,2.4vw,1.75rem);
  color:var(--c-text);
  line-height:1.35;
  font-weight:700;
  letter-spacing:.02em;
  margin:0;
}
.page-contact .section-heading__note{
  font-family:var(--font-body);
  font-size:.7rem;
  letter-spacing:.3em;
  color:var(--c-muted);
  text-transform:uppercase;
  margin-left:auto;
}

.page-contact .contact-panel__desc{
  font-size:.95rem;
  line-height:1.85;
  color:var(--c-muted);
  margin:0 0 1.75rem;
}

.page-contact .contact-panel__list{
  display:flex;
  flex-direction:column;
  gap:1.35rem;
  margin:0 0 1.75rem;
}
.page-contact .contact-panel__item{
  display:flex;
  flex-direction:column;
  gap:.15rem;
  padding-bottom:1.25rem;
  border-bottom:1px solid rgba(31,58,95,.7);
}
.page-contact .contact-panel__item dt{
  font-family:var(--font-body);
  font-size:.7rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--c-muted);
  margin-bottom:.25rem;
}
.page-contact .contact-panel__item dd{
  margin:0;
}
.page-contact .contact-contact-link{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  font-family:var(--font-display);
  font-size:clamp(1.15rem,2.2vw,1.45rem);
  color:var(--c-text);
  text-decoration:none;
  font-weight:600;
  transition:color .2s ease;
  word-break:break-all;
}
.page-contact .contact-contact-link::before{
  content:"↗";
  font-size:.85em;
  color:var(--c-gold);
}
.page-contact .contact-contact-link:hover{
  color:var(--c-gold);
  text-shadow:var(--contact-gold-glow);
}
.page-contact .contact-contact-link--lg{
  font-size:clamp(1.2rem,2.4vw,1.6rem);
  color:var(--c-gold);
}
.page-contact .contact-contact-link--lg:hover{
  color:#E8C94F;
}

.page-contact .contact-panel__note{
  display:block;
  font-size:.78rem;
  color:var(--c-muted);
  opacity:.8;
  line-height:1.7;
  margin-top:.25rem;
}

.page-contact .contact-panel__tip{
  background:rgba(212,175,55,.06);
  border-left:3px solid var(--c-gold);
  padding:.85rem 1rem;
  border-radius:0 8px 8px 0;
  font-size:.8rem;
  color:var(--c-text);
  line-height:1.65;
  margin:0;
  display:flex;
  gap:.6rem;
  align-items:flex-start;
}
.page-contact .contact-panel__tip-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.25rem;
  height:1.25rem;
  border:1px solid var(--c-gold);
  border-radius:50%;
  font-family:var(--font-display);
  font-size:.7rem;
  color:var(--c-gold);
  flex-shrink:0;
  margin-top:.1em;
}

.page-contact .contact-steps{
  list-style:none;
  padding:0;
  margin:0 0 1.75rem;
  display:flex;
  flex-direction:column;
  gap:.25rem;
}
.page-contact .contact-steps__item{
  display:grid;
  grid-template-columns:2.25rem 1fr;
  gap:1rem;
  padding:.75rem;
  border-radius:var(--contact-radius-md);
  background:var(--contact-step-bg);
  border:1px solid transparent;
  align-items:start;
  transition:background-color .2s ease, border-color .2s ease;
}
.page-contact .contact-steps__item:hover{
  border-color:rgba(45,226,230,.3);
  background:rgba(20,33,61,.85);
}
.page-contact .contact-steps__num{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2rem;
  height:2rem;
  border-radius:50%;
  border:1px solid var(--c-cyan);
  color:var(--c-cyan);
  font-family:var(--font-display);
  font-size:.85rem;
  box-shadow:var(--contact-cyan-glow);
  background:rgba(45,226,230,.08);
}
.page-contact .contact-steps__item strong{
  display:block;
  font-family:var(--font-display);
  font-size:.9rem;
  color:var(--c-text);
  margin-bottom:.15rem;
}
.page-contact .contact-steps__item p{
  margin:0;
  font-size:.78rem;
  color:var(--c-muted);
  line-height:1.65;
}

.page-contact .contact-business{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1.5rem,4vw,3rem);
  align-items:center;
  background:linear-gradient(135deg, rgba(20,33,61,.55) 0%, rgba(11,16,38,.75) 100%);
  border:1px solid rgba(31,58,95,.7);
  border-radius:var(--contact-radius-lg);
  padding:clamp(1.25rem,3vw,2.25rem);
  position:relative;
  overflow:hidden;
}
.page-contact .contact-business::before{
  content:""; position:absolute; top:0; right:0; width:120px; height:120px;
  background:radial-gradient(circle, rgba(212,175,55,.14) 0%, transparent 70%);
  pointer-events:none;
}
.page-contact .contact-business__info{
  position:relative;
  z-index:2;
}
.page-contact .contact-business__desc{
  font-size:.9rem;
  line-height:1.85;
  color:var(--c-muted);
  margin:0 0 1.5rem;
  max-width:46em;
}
.page-contact .contact-business__mail{
  display:flex;
  flex-direction:column;
  gap:.4rem;
  padding:1.25rem 1.5rem;
  background:rgba(212,175,55,.05);
  border:1px solid rgba(212,175,55,.2);
  border-radius:var(--contact-radius-md);
  margin-bottom:1.5rem;
}
.page-contact .contact-business__mail-label{
  font-size:.7rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--c-and-tag);
  color:#EEF2F7;
  font-family:var(--font-body);
}
.page-contact .contact-business__mail-note{
  font-size:.75rem;
  color:var(--c-muted);
}
.page-contact .contact-business__badges{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
}
.page-contact .badge-item{
  font-size:.75rem;
  padding:.4em .85em;
  background:rgba(122,90,248,.09);
  border:1px solid rgba(122,90,248,.22);
  border-radius:30px;
  color:var(--c-text);
  letter-spacing:.02em;
  transition:background-color .2s ease;
}
.page-contact .badge-item:hover{
  background:rgba(122,90,248,.2);
}

.page-contact .contact-business__visual{
  position:relative;
  z-index:2;
}
.page-contact .contact-business__img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  aspect-ratio:900/700;
  object-fit:cover;
  border-radius:var(--contact-radius-md);
  border:1px solid rgba(31,58,95,.9);
  filter:saturate(.9);
  transition:filter .25s ease, transform .25s ease;
}
.page-contact .contact-business__visual:hover .contact-business__img{
  filter:saturate(1.1);
  transform:scale(1.01);
}

.page-contact .contact-status{
  background:var(--c-panel);
  border-radius:var(--contact-radius-lg);
  padding:clamp(1.25rem,3vw,2.25rem);
  box-shadow:var(--shadow-1);
  border-right:1px solid rgba(31,58,95,.8);
}
.page-contact .contact-status__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:1rem;
  margin:1.5rem 0;
}
.page-contact .contact-status__item{
  display:grid;
  grid-template-columns:1rem 1fr;
  gap:.6rem .9rem;
  padding:1rem 1.15rem;
  background:rgba(11,16,38,.3);
  border-radius:var(--contact-radius-md);
  border:1px solid rgba(31,58,95,.6);
  align-items:start;
}
.page-contact .contact-status__item h3{
  margin:0;
  font-family:var(--font-body);
  font-size:.9rem;
  font-weight:600;
  color:var(--c-text);
  letter-spacing:.04em;
}
.page-contact .contact-status__item p{
  grid-column:2;
  margin:.25rem 0 0;
  font-size:.8rem;
  color:var(--c-muted);
  line-height:1.7;
}
.page-contact .contact-status__dot{
  width:.7rem;
  height:.7rem;
  border-radius:50%;
  display:block;
  margin-top:.2em;
}
.page-contact .contact-status__dot--gold{
  background:var(--c-gold);
  box-shadow:0 0 8px var(--c-gold);
}
.page-contact .contact-status__dot--cyan{
  background:var(--c-cyan);
  box-shadow:0 0 8px var(--c-cyan);
}
.page-contact .contact-status__dot--violet{
  background:var(--c-violet);
  box-shadow:0 0 8px var(--c-violet);
}
.page-contact .contact-status__actions{
  display:flex;
  flex-wrap:wrap;
  gap:.85rem;
  margin-top:.85rem;
}

.page-contact .contact-address{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1.25rem,3vw,2rem);
  background:linear-gradient(155deg, var(--c-panel-2) 0%, rgba(20,33,61,.35) 100%);
  border-radius:var(--contact-radius-lg);
  padding:clamp(1.25rem,3vw,2.25rem);
  border:1px solid var(--c-line);
  position:relative;
  overflow:hidden;
}
.page-contact .contact-address::after{
  content:"✦";
  position:absolute;
  right:8%;
  bottom:8%;
  font-size:4rem;
  color:rgba(184,115,51,.07);
  line-height:1;
  pointer-events:none;
  transform:rotate(12deg);
}
.page-contact .contact-address__content{
  position:relative;
  z-index:2;
}
.page-contact .contact-address__line{
  font-family:var(--font-display);
  font-size:clamp(1.05rem,2.2vw,1.45rem);
  color:var(--c-text);
  font-weight:600;
  letter-spacing:.05em;
  padding:1.25rem 0 .6rem;
  margin:0;
  border-top:1px solid rgba(184,115,51,.3);
}
.page-contact .contact-address__note{
  font-size:.85rem;
  line-height:1.85;
  color:var(--c-muted);
  max-width:38em;
  margin:0 0 1.15rem;
}
.page-contact .contact-address__reminder{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  background:rgba(184,115,51,.08);
  border:1px dashed rgba(184,115,51,.45);
  color:var(--c-text);
  padding:.6em 1.1em;
  border-radius:30px;
  font-size:.8rem;
  margin-bottom:1.25rem;
}
.page-contact .contact-address__reminder-icon{
  color:var(--c-bronze);
  font-size:1rem;
}
.page-contact .contact-address__meta{
  display:flex;
  flex-wrap:wrap;
  column-gap:1.5rem;
  row-gap:.35rem;
  color:rgba(168,182,200,.6);
}
.page-contact .contact-address__map{
  position:relative;
  z-index:2;
}
.page-contact .contact-address__map-img{
  display:block;
  width:100%;
  height:auto;
  max-height:340px;
  object-fit:cover;
  border-radius:var(--contact-radius-md);
  border:1px solid var(--c-line-strong,#2A4A73);
  filter:contrast(.9) brightness(.9);
  transition:filter .25s ease;
}
.page-contact .contact-address__map:hover .contact-address__map-img{
  filter:contrast(1) brightness(1);
  animation:contact-map-pulse 2.4s ease infinite;
}
@keyframes contact-map-pulse{
  0%,100%{ box-shadow:0 0 0 rgba(184,115,51,0); }
  50%{ box-shadow:0 0 24px rgba(184,115,51,.18); }
}

.page-contact .contact-related{
  column-gap:2rem;
}
.page-contact .contact-related__head{
  margin-bottom:1.75rem;
}
.page-contact .contact-related__title{
  font-family:var(--font-display);
  font-size:clamp(1.35rem,2.6vw,1.9rem);
  color:var(--c-text);
  margin:0 0 .5rem;
  font-weight:700;
}
.page-contact .contact-related__desc{
  font-size:.85rem;
  color:var(--c-muted);
  max-width:45em;
  line-height:1.8;
  margin:0;
}
.page-contact .contact-related__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:.85rem;
  margin-top:1.25rem;
}
.page-contact .contact-related__card{
  display:flex;
  flex-direction:column;
  gap:.25rem;
  background:var(--contact-card-bg);
  border:1px solid rgba(31,58,95,.6);
  border-radius:var(--contact-radius-md);
  padding:1.15rem 1.3rem;
  text-decoration:none;
  transition:border-color .2s ease, background-color .2s ease, transform .2s ease;
  position:relative;
  overflow:hidden;
}
.page-contact .contact-related__card::after{
  content:"→";
  position:absolute;
  right:1rem;
  top:50%;
  transform:translateY(-50%);
  color:rgba(212,175,55,.25);
  font-size:1.25rem;
  transition:color .2s ease, transform .2s ease;
}
.page-contact .contact-related__card:hover{
  border-color:rgba(212,175,55,.4);
  background:rgba(212,175,55,.04);
  transform:translateX(4px);
}
.page-contact .contact-related__card:hover::after{
  color:var(--c-gold);
  transform:translate(4px,-50%);
}
.page-contact .contact-related__card-index{
  font-size:.65rem;
  letter-spacing:.3em;
  text-transform:uppercase;
  color:var(--c-bronze);
  font-family:var(--font-body);
}
.page-contact .contact-related__card strong{
  font-family:var(--font-display);
  font-size:1rem;
  color:var(--c-text);
  font-weight:600;
}
.page-contact .contact-related__card span:last-child{
  font-size:.76rem;
  color:var(--c-muted);
  line-height:1.6;
}

.page-contact .contact-wireband{
  height:1px;
  background:linear-gradient(90deg, var(--c-cyan), var(--c-gold), var(--c-violet), var(--c-bronze));
  border:none;
}

@media (min-width:600px){
  .page-contact .contact-status__grid{
    grid-template-columns:repeat(3,1fr);
    gap:1.1rem;
  }
  .page-contact .contact-status__item{
    grid-template-columns:1fr;
    align-items:start;
  }
  .page-contact .contact-status__item p{
    grid-column:1;
  }
  .page-contact .contact-related__grid{
    grid-template-columns:repeat(2,1fr);
  }
}

@media (min-width:960px){
  .page-contact .contact-hero__inner{
    grid-template-columns:3fr 2fr;
    gap:4rem;
  }
  .page-contact .contact-hero__orbs{
    display:block;
  }
  .page-contact .contact-hero__vertical-text{
    display:block;
  }
  .page-contact .grid-split{
    grid-template-columns:1fr 1fr;
  }
  .page-contact .contact-business{
    grid-template-columns:1.1fr .9fr;
  }
  .page-contact .contact-address{
    grid-template-columns:1fr 1fr;
    align-items:center;
  }
  .page-contact .contact-address__line{
    padding-top:1.5rem;
  }
  .page-contact .contact-related__grid{
    grid-template-columns:repeat(3,1fr);
  }
}

@media (min-width:1200px){
  .page-contact .contact-panel{
    padding:clamp(2rem,3vw,2.75rem);
  }
  .page-contact .contact-steps__item{
    grid-template-columns:2.5rem 1fr;
  }
}

.page-contact {
  --c-and-tag: currentColor;
  --c-line-strong: currentColor;
}
