.page-contact{
  --ct-hair:rgba(216,168,78,.24);
  --ct-hair-soft:rgba(215,222,229,.14);
  --ct-surface:rgba(8,34,61,.62);
  background:
    radial-gradient(920px 520px at 92% -8%,rgba(216,168,78,.16),transparent 62%),
    radial-gradient(780px 540px at -6% 24%,rgba(20,80,122,.5),transparent 64%),
    var(--ink-900);
  color:var(--text-on-dark);
  font-family:var(--font-body);
  padding-bottom:clamp(56px,8vw,104px);
  overflow-x:clip;
}

.page-contact .breadcrumb{
  padding-top:clamp(16px,2.6vw,26px);
}
.page-contact .breadcrumb ul{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.5rem;
  margin:0;
  padding:0;
  list-style:none;
  font-family:var(--font-mono);
  font-size:.74rem;
  letter-spacing:.14em;
  color:var(--text-mute-dark);
}
.page-contact .breadcrumb li+li::before{
  content:"/";
  margin-right:.5rem;
  color:rgba(216,168,78,.55);
}
.page-contact .breadcrumb a{
  color:var(--text-soft-dark);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .25s ease,border-color .25s ease;
}
.page-contact .breadcrumb a:hover,
.page-contact .breadcrumb a:focus-visible{
  color:var(--gold-200);
  border-bottom-color:var(--gold-500);
}

.page-contact .eyebrow{
  margin:0;
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold-500);
}

.page-contact .ct-hero{
  padding-top:clamp(18px,3.2vw,38px);
}
.page-contact .ct-hero-grid{
  display:grid;
  gap:clamp(18px,3vw,26px);
}

.page-contact .ct-hero-main{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(22px,3.6vw,46px);
  border-radius:var(--radius-lg);
  border:1px solid var(--ct-hair-soft);
  background:linear-gradient(158deg,rgba(11,45,79,.94),rgba(6,27,51,.98));
  box-shadow:var(--shadow-panel);
}
.page-contact .ct-hero-bg{
  position:absolute;
  inset:0;
  z-index:-1;
  width:100%;
  height:100%;
  object-fit:cover;
  opacity:.24;
  -webkit-mask-image:radial-gradient(125% 95% at 88% 0%,#000 0%,transparent 74%);
  mask-image:radial-gradient(125% 95% at 88% 0%,#000 0%,transparent 74%);
}
.page-contact h1{
  margin:.34em 0 .4em;
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(2rem,5.8vw,3.7rem);
  line-height:1.06;
  letter-spacing:-.028em;
  color:#fff;
}
.page-contact h1 em{
  font-style:normal;
  background:linear-gradient(96deg,var(--gold-200) 0%,var(--gold-500) 58%,var(--celadon) 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.page-contact .lede{
  margin:0;
  max-width:56ch;
  font-size:clamp(.94rem,1.6vw,1.02rem);
  line-height:1.78;
  color:var(--text-soft-dark);
}

.page-contact .ct-lines{
  margin-top:clamp(20px,3.2vw,32px);
  border-top:1px solid var(--ct-hair-soft);
}
.page-contact .ct-line{
  display:grid;
  gap:3px;
  padding:14px 0 15px;
  border-bottom:1px solid var(--ct-hair-soft);
}
.page-contact .ct-line-label{
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--text-mute-dark);
}
.page-contact .ct-line-value{
  font-family:var(--font-mono);
  font-size:clamp(1.02rem,3.6vw,1.85rem);
  line-height:1.28;
  letter-spacing:-.012em;
  color:var(--gold-200);
  word-break:break-word;
  -webkit-user-select:all;
  user-select:all;
  cursor:copy;
  transition:color .25s ease;
}
.page-contact .ct-line-value:hover,
.page-contact .ct-line-value:focus-visible{
  color:#fff;
  outline:none;
}
.page-contact .ct-line-value--text{
  font-family:var(--font-body);
  font-size:clamp(.98rem,2.6vw,1.32rem);
  letter-spacing:.01em;
  color:#fff;
  cursor:default;
  -webkit-user-select:all;
  user-select:all;
}
.page-contact .ct-line-tip{
  font-size:.76rem;
  line-height:1.6;
  color:var(--text-mute-dark);
}

.page-contact .ct-quick{
  padding:clamp(20px,3vw,30px);
  border-radius:var(--radius-lg);
  border:1px solid var(--ct-hair);
  background:linear-gradient(202deg,rgba(20,80,122,.44),rgba(6,27,51,.94));
  box-shadow:var(--shadow-panel);
}
.page-contact .ct-quick-title{
  margin:0 0 .5em;
  font-family:var(--font-mono);
  font-size:.74rem;
  font-weight:600;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold-500);
}
.page-contact .ct-quick-lede{
  margin:0 0 18px;
  font-size:.92rem;
  line-height:1.72;
  color:var(--text-soft-dark);
}
.page-contact .ct-quick-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}
.page-contact .ct-quick-link{
  display:block;
  padding:14px 16px;
  border-radius:var(--radius-md);
  border:1px solid var(--ct-hair-soft);
  background:rgba(6,27,51,.55);
  text-decoration:none;
  color:inherit;
  transition:border-color .28s ease,background .28s ease,transform .28s ease;
}
.page-contact .ct-quick-link:hover,
.page-contact .ct-quick-link:focus-visible{
  border-color:var(--gold-500);
  background:rgba(20,80,122,.52);
  transform:translateX(3px);
}
.page-contact .ct-quick-label{
  display:block;
  font-size:.98rem;
  font-weight:700;
  color:#fff;
}
.page-contact .ct-quick-desc{
  display:block;
  margin-top:4px;
  font-size:.82rem;
  line-height:1.62;
  color:var(--text-soft-dark);
}

.page-contact .ct-section{
  padding-top:clamp(44px,6.6vw,78px);
}
.page-contact .ct-head{
  max-width:66ch;
}
.page-contact .ct-head h2{
  margin:.4em 0 .5em;
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(1.5rem,3.6vw,2.28rem);
  line-height:1.18;
  letter-spacing:-.022em;
  color:#fff;
}
.page-contact .ct-head p{
  margin:0;
  font-size:.97rem;
  line-height:1.8;
  color:var(--text-soft-dark);
}

.page-contact .ct-steps{
  margin:clamp(20px,3vw,30px) 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:12px;
}
.page-contact .ct-step{
  position:relative;
  padding:20px 20px 22px;
  border-radius:var(--radius-md);
  border:1px solid var(--ct-hair-soft);
  background:var(--ct-surface);
  transition:border-color .3s ease,background .3s ease,transform .3s ease;
}
.page-contact .ct-step:hover{
  border-color:var(--ct-hair);
  background:rgba(11,45,79,.82);
  transform:translateY(-2px);
}
.page-contact .ct-step-index{
  font-family:var(--font-mono);
  font-size:.78rem;
  letter-spacing:.18em;
  color:var(--gold-500);
}
.page-contact .ct-step h3{
  margin:.5em 0 .45em;
  font-size:1.04rem;
  font-weight:700;
  color:#fff;
}
.page-contact .ct-step p{
  margin:0;
  font-size:.9rem;
  line-height:1.78;
  color:var(--text-soft-dark);
}

.page-contact .ct-note{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 14px;
  margin-top:14px;
  padding:16px 20px;
  border-radius:var(--radius-md);
  border:1px dashed var(--ct-hair);
  background:rgba(216,168,78,.06);
}
.page-contact .ct-note-text{
  margin:0;
  font-size:.9rem;
  line-height:1.7;
  color:var(--gold-200);
}

.page-contact .ct-tag{
  display:inline-flex;
  align-items:center;
  padding:.34em .85em;
  border-radius:var(--pill);
  border:1px solid;
  font-family:var(--font-mono);
  font-size:.7rem;
  letter-spacing:.1em;
  white-space:nowrap;
}
.page-contact .ct-tag--gold{
  color:var(--gold-200);
  border-color:rgba(216,168,78,.55);
  background:rgba(216,168,78,.12);
}
.page-contact .ct-tag--mint{
  color:var(--celadon);
  border-color:rgba(127,174,154,.55);
  background:rgba(127,174,154,.12);
}
.page-contact .ct-tag--red{
  color:#F1B7B0;
  border-color:rgba(198,71,58,.6);
  background:rgba(198,71,58,.16);
}

.page-contact .ct-hours-grid{
  display:grid;
  gap:clamp(20px,3.2vw,32px);
  margin-top:clamp(20px,3vw,30px);
}
.page-contact .ct-time{
  margin:0;
  padding:0 0 0 26px;
  list-style:none;
  position:relative;
}
.page-contact .ct-time::before{
  content:"";
  position:absolute;
  left:5px;
  top:8px;
  bottom:8px;
  width:1px;
  background:linear-gradient(180deg,var(--gold-500),rgba(127,174,154,.55));
}
.page-contact .ct-time li{
  position:relative;
  padding-bottom:22px;
}
.page-contact .ct-time li:last-child{
  padding-bottom:0;
}
.page-contact .ct-time li::before{
  content:"";
  position:absolute;
  left:-26px;
  top:6px;
  width:11px;
  height:11px;
  border-radius:50%;
  background:var(--ink-900);
  border:2px solid var(--gold-500);
}
.page-contact .ct-time-clock{
  display:block;
  font-family:var(--font-mono);
  font-size:.86rem;
  letter-spacing:.1em;
  color:var(--gold-200);
}
.page-contact .ct-time p{
  margin:6px 0 0;
  font-size:.92rem;
  line-height:1.78;
  color:var(--text-soft-dark);
}

.page-contact .ct-figure{
  margin:0;
  padding:14px;
  border-radius:var(--radius-lg);
  border:1px solid var(--ct-hair-soft);
  background:rgba(8,34,61,.6);
}
.page-contact .ct-figure img{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  aspect-ratio:5/3;
  object-fit:cover;
  border-radius:var(--radius-md);
}
.page-contact .ct-figure figcaption{
  margin-top:12px;
  font-size:.82rem;
  line-height:1.7;
  color:var(--text-mute-dark);
}

.page-contact .ct-topics{
  margin:clamp(20px,3vw,30px) 0 0;
  padding:0;
  list-style:none;
  display:grid;
  gap:12px;
}
.page-contact .ct-topic{
  padding:18px 20px 20px;
  border-radius:var(--radius-md);
  border:1px solid var(--ct-hair-soft);
  background:var(--ct-surface);
  transition:border-color .3s ease,background .3s ease;
}
.page-contact .ct-topic:hover{
  border-color:var(--ct-hair);
  background:rgba(11,45,79,.8);
}
.page-contact .ct-topic-head{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px 14px;
  margin-bottom:10px;
}
.page-contact .ct-topic-subject{
  font-family:var(--font-mono);
  font-size:.82rem;
  letter-spacing:.02em;
  color:var(--gold-200);
  word-break:break-word;
}
.page-contact .ct-topic-desc{
  margin:0;
  font-size:.9rem;
  line-height:1.78;
  color:var(--text-soft-dark);
}

.page-contact .ct-facts{
  display:grid;
  gap:1px;
  margin:clamp(20px,3vw,30px) 0 0;
  border-radius:var(--radius-md);
  overflow:hidden;
  border:1px solid var(--ct-hair-soft);
  background:var(--ct-hair-soft);
}
.page-contact .ct-fact{
  display:grid;
  gap:4px;
  padding:16px 20px;
  background:rgba(6,27,51,.92);
}
.page-contact .ct-fact dt{
  font-family:var(--font-mono);
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--text-mute-dark);
}
.page-contact .ct-fact dd{
  margin:0;
  font-size:.95rem;
  line-height:1.65;
  color:#fff;
  word-break:break-word;
}
.page-contact .ct-fact dd.mono{
  font-family:var(--font-mono);
  letter-spacing:.02em;
  color:var(--gold-200);
}

.page-contact .ct-next-title{
  margin:0 0 clamp(18px,2.6vw,24px);
  padding-top:clamp(22px,3.4vw,34px);
  border-top:1px solid var(--ct-hair);
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(1.06rem,2.4vw,1.34rem);
  line-height:1.4;
  letter-spacing:-.01em;
  color:#fff;
}
.page-contact .ct-next{
  display:grid;
  gap:12px;
}
.page-contact .ct-next-link{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:18px 20px;
  border-radius:var(--radius-md);
  border:1px solid var(--ct-hair-soft);
  background:rgba(8,34,61,.5);
  text-decoration:none;
  color:inherit;
  transition:border-color .28s ease,background .28s ease;
}
.page-contact .ct-next-link:hover,
.page-contact .ct-next-link:focus-visible{
  border-color:var(--gold-500);
  background:rgba(20,80,122,.46);
}
.page-contact .ct-next-link strong{
  font-size:1rem;
  color:#fff;
}
.page-contact .ct-next-link span{
  font-size:.84rem;
  line-height:1.68;
  color:var(--text-soft-dark);
}

@media (min-width:768px){
  .page-contact .ct-steps{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
  }
  .page-contact .ct-fact{
    grid-template-columns:170px minmax(0,1fr);
    align-items:baseline;
    gap:16px;
  }
  .page-contact .ct-next{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (min-width:980px){
  .page-contact .ct-hero-grid{
    grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
    align-items:start;
    gap:clamp(20px,2.6vw,30px);
  }
  .page-contact .ct-hours-grid{
    grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
    align-items:start;
  }
  .page-contact .ct-quick{
    position:sticky;
    top:calc(var(--hdr-h, 78px) + 18px);
  }
}
<<<END>>>
