.page-contact{
  --card-tilt-email:-1.4deg;
  --card-tilt-phone:1deg;
  --card-tilt-address:-.6deg;
  --panel-line:rgba(212,175,55,.4);
  position:relative;
  padding:1rem 1rem 4rem;
  max-width:1280px;
  margin-inline:auto;
  color:var(--ink);
  font-family:var(--font-body);
  line-height:1.75;
}
.page-contact .breadcrumb{
  margin:.25rem 0 1.5rem;
  font-size:.875rem;
}
.page-contact .breadcrumb ol{
  list-style:none;
  display:flex;
  gap:.5rem;
  padding:0;
  margin:0;
}
.page-contact .breadcrumb li{
  color:var(--slate);
}
.page-contact .breadcrumb li+li::before{
  content:"/";
  margin-right:.5rem;
  color:var(--royal-gold);
}
.page-contact .breadcrumb a{
  color:var(--slate);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .3s,border-color .3s;
}
.page-contact .breadcrumb a:hover{
  color:var(--emerald);
  border-color:var(--royal-gold);
}
.page-contact .contact-hero{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  background:var(--emerald);
  background-image:radial-gradient(circle at 85% 15%,rgba(212,175,55,.22),transparent 42%),linear-gradient(135deg,var(--emerald),var(--ink-jade));
  border-radius:var(--radius-lg);
  padding:2.5rem 1.5rem;
  margin-bottom:2.5rem;
  overflow:hidden;
}
.page-contact .contact-hero::after{
  content:"";
  position:absolute;
  right:-2rem;
  bottom:-2rem;
  width:10rem;
  height:10rem;
  border:1px solid rgba(212,175,55,.3);
  border-radius:50%;
}
.page-contact .contact-hero__copy{
  position:relative;
  z-index:1;
}
.page-contact .contact-hero .tag{
  margin-bottom:.75rem;
}
.page-contact .contact-hero h1{
  font-family:var(--font-heading);
  font-size:2.75rem;
  line-height:1.2;
  color:var(--ivory);
  margin:.5rem 0 .5rem;
}
.page-contact .contact-hero__lead{
  font-size:1.125rem;
  color:rgba(253,251,247,.85);
  margin:0 0 .25rem;
}
.page-contact .contact-hero__promise{
  font-size:.875rem;
  color:#F0E68C;
  margin:0;
}
.page-contact .contact-hero__visual{
  position:relative;
  z-index:1;
  width:100%;
  max-width:400px;
  margin:0 auto;
  border:2px solid rgba(212,175,55,.55);
  border-radius:50%;
  overflow:hidden;
  aspect-ratio:1;
}
.page-contact .contact-hero__img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.page-contact .contact-split{
  display:block;
}
.page-contact .contact-cards{
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  background:var(--ink-jade);
  background-image:radial-gradient(circle at 15% 10%,rgba(212,175,55,.14),transparent 55%);
  border:1px solid var(--panel-line);
  border-radius:var(--radius-lg);
  padding:1.5rem 1.25rem;
  margin-bottom:2.5rem;
}
.page-contact .contact-card{
  position:relative;
  background:rgba(253,251,247,.05);
  border:1px solid rgba(212,175,55,.22);
  border-left:3px solid var(--royal-gold);
  border-radius:var(--radius-md);
  padding:1.5rem 1.25rem;
  transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease;
}
.page-contact .contact-card--email{
  transform:rotate(var(--card-tilt-email));
}
.page-contact .contact-card--phone{
  transform:rotate(var(--card-tilt-phone));
}
.page-contact .contact-card--address{
  transform:rotate(var(--card-tilt-address));
}
.page-contact .contact-card:hover{
  transform:rotate(0deg) translateY(-4px);
  box-shadow:0 10px 30px rgba(6,78,59,.45);
  border-color:var(--royal-gold);
}
.page-contact .contact-card__index{
  position:absolute;
  top:.75rem;
  right:1rem;
  font-family:var(--font-heading);
  font-size:2.125rem;
  line-height:1;
  color:rgba(212,175,55,.35);
  transition:color .35s,transform .35s;
}
.page-contact .contact-card:hover .contact-card__index{
  color:var(--royal-gold);
  transform:scale(1.1);
}
.page-contact .contact-card h2{
  font-family:var(--font-heading);
  font-size:1.5rem;
  color:var(--ivory);
  margin:0 0 .375rem;
}
.page-contact .contact-card__desc{
  color:rgba(253,251,247,.72);
  font-size:.875rem;
  line-height:1.7;
  margin:0 0 1rem;
  padding-right:2.5rem;
}
.page-contact .contact-card__value{
  display:inline-block;
  color:#F0E68C;
  font-weight:600;
  font-size:1.0625rem;
  text-decoration:none;
  border-bottom:1px dashed rgba(212,175,55,.55);
  padding-bottom:2px;
  word-break:break-all;
  transition:color .3s,border-bottom-style .3s;
}
.page-contact .contact-card__value:hover{
  color:var(--royal-gold);
  border-bottom-style:solid;
}
.page-contact .contact-card__meta{
  display:block;
  margin-top:.5rem;
  color:rgba(253,251,247,.5);
  font-size:.8125rem;
}
.page-contact .contact-card__stamp{
  display:inline-block;
  margin-top:.875rem;
  padding:.25rem .625rem;
  font-size:.75rem;
  letter-spacing:.2em;
  color:var(--royal-gold);
  border:2px dashed rgba(212,175,55,.45);
  border-radius:4px;
  transform:rotate(-4deg);
  transition:transform .3s,border-color .3s;
}
.page-contact .contact-card--email:hover .contact-card__stamp{
  transform:rotate(0deg) scale(1.04);
  border-color:var(--royal-gold);
}
.page-contact .contact-map{
  position:relative;
  background:var(--ivory);
  background-image:linear-gradient(rgba(11,110,79,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(11,110,79,.05) 1px,transparent 1px);
  background-size:24px 24px;
  border:1px solid var(--royal-gold);
  border-radius:var(--radius-lg);
  padding:1.5rem 1.25rem;
  box-shadow:var(--shadow-sm);
  margin-bottom:2.5rem;
}
.page-contact .contact-map::before{
  content:"";
  position:absolute;
  top:-18px;
  right:24px;
  width:48px;
  height:48px;
  border:2px solid rgba(212,175,55,.4);
  border-radius:50%;
  background:radial-gradient(circle,rgba(212,175,55,.35) 0 2px,transparent 3px);
  background-size:12px 12px;
  background-position:center;
  pointer-events:none;
}
.page-contact .contact-map__tag{
  display:inline-block;
  background:var(--mist);
  color:var(--emerald);
  font-size:.8125rem;
  font-weight:600;
  padding:.25rem .75rem;
  border-radius:999px;
  margin-bottom:.625rem;
}
.page-contact .contact-map h2{
  font-family:var(--font-heading);
  font-size:1.625rem;
  color:var(--ink);
  margin:0 0 .5rem;
}
.page-contact .contact-map__heading p{
  color:var(--slate);
  font-size:.9375rem;
  line-height:1.75;
  margin:0 0 1.25rem;
}
.page-contact .contact-map__media{
  border-radius:var(--radius-md);
  border:1px solid var(--mist);
  background:var(--mist);
  overflow:hidden;
  margin-bottom:1rem;
}
.page-contact .contact-map__media img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}
.page-contact .contact-map__cities{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  padding:0;
  margin:0 0 1.5rem;
}
.page-contact .contact-map__cities li{
  background:var(--mist);
  color:var(--ink-jade);
  font-size:.8125rem;
  padding:.25rem .75rem;
  border-radius:999px;
  border:1px solid transparent;
  cursor:default;
  transition:border-color .3s,background .3s,color .3s;
}
.page-contact .contact-map__cities li:hover{
  border-color:var(--royal-gold);
  background:var(--ivory);
  color:var(--emerald);
}
.page-contact .contact-map__note{
  background:var(--mist);
  border-left:4px solid var(--royal-gold);
  border-radius:var(--radius-sm);
  padding:1.25rem 1.25rem;
}
.page-contact .contact-map__note h2{
  font-size:1.375rem;
  color:var(--ink-jade);
  margin-bottom:.375rem;
}
.page-contact .contact-map__note p{
  color:var(--ink);
  font-size:.9375rem;
  margin:0 0 .375rem;
}
.page-contact .contact-map__note p:last-child{
  margin-bottom:0;
  color:var(--slate);
  font-size:.875rem;
}
.page-contact .contact-guide{
  background:var(--charcoal);
  border-radius:var(--radius-lg);
  padding:1.5rem 1.25rem;
}
.page-contact .contact-guide h2{
  font-family:var(--font-heading);
  font-size:1.625rem;
  color:var(--ivory);
  margin:0 0 .375rem;
}
.page-contact .contact-guide>p{
  color:rgba(253,251,247,.6);
  font-size:.9375rem;
  margin:0 0 1.25rem;
}
.page-contact .contact-guide__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:.75rem;
}
.page-contact .contact-guide__grid a{
  display:block;
  color:var(--ivory);
  text-decoration:none;
  padding:1rem 1rem;
  background:rgba(253,251,247,.05);
  border:1px solid rgba(212,175,55,.2);
  border-radius:var(--radius-sm);
  transition:border-color .3s,background .3s,transform .3s;
}
.page-contact .contact-guide__grid a:hover{
  border-color:var(--royal-gold);
  background:rgba(212,175,55,.08);
  transform:translateY(-2px);
}
@media (min-width:960px){
  .page-contact{
    padding:2rem 2.5rem 5rem;
  }
  .page-contact .contact-hero{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    gap:3rem;
    padding:3.5rem 4rem;
  }
  .page-contact .contact-hero__copy{
    max-width:520px;
  }
  .page-contact .contact-hero h1{
    font-size:4rem;
  }
  .page-contact .contact-hero__visual{
    flex-shrink:0;
    width:360px;
    margin:0;
    margin-right:4%;
  }
  .page-contact .contact-split{
    display:grid;
    grid-template-columns:minmax(360px,5fr) minmax(0,7fr);
    gap:2.5rem;
    align-items:start;
  }
  .page-contact .contact-cards{
    margin-bottom:0;
  }
  .page-contact .contact-map{
    margin-bottom:0;
  }
  .page-contact .contact-guide__grid{
    grid-template-columns:repeat(3,1fr);
  }
}
