.page-contact{
  --contact-card-bg: rgba(255,255,255,0.045);
  --contact-border: rgba(201,160,99,0.36);
  --contact-map-glaze: linear-gradient(135deg, rgba(26,37,64,0.78), rgba(26,37,64,0.32));
  overflow-x:hidden;
  background:var(--ink-950);
  color:var(--cream);
}

.page-contact .contact-hero{
  position:relative;
  padding:132px 0 72px;
  overflow:hidden;
  background:linear-gradient(180deg, var(--ink-950) 0%, var(--ink-900) 100%);
}

.page-contact .contact-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:repeating-linear-gradient(45deg, transparent 0px, transparent 18px, rgba(201,160,99,0.05) 19px, transparent 20px, transparent 38px);
}

.page-contact .contact-hero::after{
  content:"";
  position:absolute;
  top:-40px;
  right:-60px;
  width:280px;
  height:280px;
  border:1px solid var(--line);
  border-radius:50%;
  opacity:0.55;
  pointer-events:none;
}

.page-contact .contact-hero__inner{
  position:relative;
  z-index:2;
}

.page-contact .breadcrumb{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:22px;
  color:var(--cloud);
  font-size:13px;
  letter-spacing:0.02em;
}

.page-contact .breadcrumb a{
  color:var(--gold-light);
  text-decoration:none;
  transition:color 0.3s var(--ease);
}

.page-contact .breadcrumb a:hover{
  color:var(--orange);
}

.page-contact .breadcrumb__sep{
  opacity:0.6;
}

.page-contact .contact-hero__kicker{
  margin-bottom:10px;
  color:var(--gold-light);
  font-size:13px;
  font-weight:500;
  letter-spacing:0.22em;
}

.page-contact .contact-hero__kicker::before{
  content:"";
  display:inline-block;
  width:28px;
  height:2px;
  margin-right:10px;
  background:var(--gold);
  vertical-align:middle;
}

.page-contact .contact-hero h1{
  position:relative;
  z-index:1;
  margin:0 0 20px;
  color:var(--cream);
  font-family:var(--font-display);
  font-size:clamp(46px, 10vw, 84px);
  font-weight:700;
  line-height:1;
  letter-spacing:0.03em;
}

.page-contact .contact-hero__lead{
  position:relative;
  z-index:1;
  max-width:640px;
  margin:0;
  color:var(--cloud);
  font-size:15px;
  line-height:1.9;
}

.page-contact .contact-hero__watermark{
  position:absolute;
  top:16px;
  right:6px;
  z-index:0;
  color:rgba(201,160,99,0.08);
  font-family:var(--font-display);
  font-size:180px;
  line-height:1;
  pointer-events:none;
  user-select:none;
}

.page-contact .contact-hero__step{
  position:absolute;
  top:86px;
  right:18px;
  z-index:3;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
}

.page-contact .contact-hero__dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--orange);
  box-shadow:0 0 0 5px rgba(255,122,47,0.18);
}

.page-contact .contact-hero__ring{
  width:16px;
  height:16px;
  border-radius:50%;
  border:1px solid var(--gold);
}

.page-contact .contact-direct{
  position:relative;
  z-index:2;
  padding:56px 0 72px;
  margin-top:-4px;
  background:radial-gradient(circle at 88% 18%, rgba(201,160,99,0.14), transparent 32%), var(--ink-950);
}

.page-contact .contact-direct__grid{
  display:grid;
  gap:44px;
}

.page-contact .contact-direct__main{
  display:grid;
  gap:18px;
  align-content:start;
}

.page-contact .contact-direct__visual{
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  background:var(--ink-900);
}

.page-contact .contact-direct__visual img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:cover;
}

.page-contact .contact-direct__visual .media-frame__label{
  right:14px;
  bottom:14px;
}

.page-contact .contact-card{
  display:flex;
  align-items:center;
  gap:16px;
  padding:18px 16px;
  background:var(--contact-card-bg);
  border:1px dashed var(--contact-border);
  border-radius:4px;
  color:var(--cream);
  text-decoration:none;
  transition:background 0.35s var(--ease), border-color 0.35s var(--ease), transform 0.35s var(--ease);
}

.page-contact .contact-card:hover,
.page-contact .contact-card:focus-visible{
  background:rgba(255,255,255,0.08);
  border-color:var(--gold);
  transform:translateY(-3px);
  outline:none;
}

.page-contact .contact-card:focus-visible{
  outline:2px solid var(--orange);
  outline-offset:3px;
}

.page-contact .contact-card--phone{
  border-style:solid;
  border-color:var(--gold);
  background:linear-gradient(135deg, rgba(201,160,99,0.22), rgba(201,160,99,0.06));
}

.page-contact .contact-card__icon{
  flex:0 0 48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:48px;
  height:48px;
  border:1px solid var(--contact-border);
  border-radius:50%;
  color:var(--gold-light);
}

.page-contact .contact-card__body{
  min-width:0;
}

.page-contact .contact-card__label{
  display:block;
  margin-bottom:5px;
  color:var(--cloud);
  font-size:12px;
  letter-spacing:0.14em;
}

.page-contact .contact-card__value{
  display:block;
  color:var(--cream);
  font-family:var(--font-body);
  font-size:17px;
  font-weight:600;
  line-height:1.45;
  overflow-wrap:anywhere;
}

.page-contact .contact-card__hint{
  display:block;
  margin-top:6px;
  color:var(--gold-light);
  font-size:12px;
  opacity:0.85;
}

.page-contact .contact-direct__map{
  position:relative;
  min-height:280px;
  overflow:hidden;
  border:1px solid var(--line);
  background:linear-gradient(135deg, var(--ink-800), var(--ink-900));
}

.page-contact .contact-direct__map img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  object-fit:cover;
}

.page-contact .contact-direct__map::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background-image:linear-gradient(rgba(201,160,99,0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(201,160,99,0.08) 1px, transparent 1px);
  background-size:36px 36px;
  pointer-events:none;
}

.page-contact .contact-direct__map::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:var(--contact-map-glaze);
  pointer-events:none;
}

.page-contact .contact-direct__maptag{
  position:absolute;
  left:16px;
  right:16px;
  bottom:16px;
  z-index:3;
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  background:rgba(10,16,31,0.82);
  border-left:2px solid var(--gold);
  color:var(--cream);
  font-size:13px;
}

.page-contact .contact-hours{
  padding:64px 0 72px;
  background:var(--ink-900);
}

.page-contact .contact-hours .section-head h2,
.page-contact .contact-notes .section-head h2{
  font-family:var(--font-display);
  font-size:clamp(26px, 4.6vw, 38px);
  line-height:1.18;
}

.page-contact .contact-hours .section-head h2{
  color:var(--gold-light);
}

.page-contact .contact-hours__grid{
  display:grid;
  gap:18px;
  margin-top:40px;
}

.page-contact .hours-card{
  padding:26px 20px;
  text-align:center;
  background:rgba(255,255,255,0.04);
  border:1px solid var(--line);
  transition:border-color 0.35s var(--ease), transform 0.35s var(--ease);
}

.page-contact .hours-card:hover{
  border-color:var(--gold);
  transform:translateY(-4px);
}

.page-contact .hours-card__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  margin-bottom:14px;
  color:var(--gold-light);
  background:rgba(201,160,99,0.14);
  border-radius:50%;
}

.page-contact .hours-card h3{
  margin:0 0 8px;
  color:var(--cream);
  font-size:15px;
  font-weight:500;
  letter-spacing:0.04em;
}

.page-contact .hours-card__value{
  margin:0 0 6px;
  color:var(--gold-light);
  font-family:var(--font-display);
  font-size:22px;
  line-height:1.3;
}

.page-contact .hours-card__note{
  margin:0;
  color:var(--cloud);
  font-size:12px;
}

.page-contact .hours-card__note::before{
  content:"●";
  display:inline-block;
  margin-right:5px;
  color:var(--moss);
  font-size:9px;
  vertical-align:middle;
}

.page-contact .contact-notes{
  padding:64px 0 72px;
  background:var(--cream);
  color:var(--ink-900);
}

.page-contact .contact-notes .section-kicker{
  color:var(--clay);
}

.page-contact .contact-notes .section-head h2{
  color:var(--ink-900);
}

.page-contact .contact-notes__list{
  display:grid;
  gap:20px;
  margin-top:44px;
}

.page-contact .note-item{
  display:flex;
  gap:14px;
  padding-bottom:18px;
  border-bottom:1px solid rgba(26,37,64,0.16);
}

.page-contact .note-item__num{
  flex:0 0 auto;
  color:var(--clay);
  font-family:var(--font-display);
  font-size:26px;
  line-height:1;
}

.page-contact .note-item__content{
  min-width:0;
}

.page-contact .note-item h3{
  margin:0 0 8px;
  color:var(--ink-900);
  font-size:16px;
  font-weight:600;
}

.page-contact .note-item p{
  margin:0;
  color:var(--gray);
  font-size:14px;
  line-height:1.75;
}

.page-contact .contact-cta{
  padding:56px 0 84px;
  background:var(--ink-950);
  border-top:1px solid var(--line);
}

.page-contact .contact-cta__inner{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:22px;
}

.page-contact .contact-cta p{
  max-width:560px;
  margin:0;
  color:var(--cloud);
  font-size:15px;
  line-height:1.75;
}

.page-contact .contact-cta__actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

@media (min-width:720px){
  .page-contact .contact-notes__list{
    grid-template-columns:repeat(2, 1fr);
    gap:28px;
  }

  .page-contact .contact-cta__inner{
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
  }
}

@media (min-width:760px){
  .page-contact .contact-hours__grid{
    grid-template-columns:repeat(3, 1fr);
    gap:22px;
  }
}

@media (min-width:900px){
  .page-contact .contact-hero{
    padding:158px 0 96px;
  }

  .page-contact .contact-hero__watermark{
    right:12%;
    font-size:260px;
  }

  .page-contact .contact-hero__step{
    right:9%;
  }

  .page-contact .contact-hero__badge{
    right:10%;
    font-size:44px;
  }
}

@media (min-width:980px){
  .page-contact .contact-direct__grid{
    grid-template-columns:minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap:64px;
    align-items:center;
  }

  .page-contact .contact-direct__map{
    min-height:420px;
  }
}
