.page-contact .ct-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(24px,3.4vw,42px) 0 clamp(48px,6vw,84px);
  background:
    radial-gradient(110% 90% at 88% -12%, rgba(36,224,207,.16), transparent 58%),
    radial-gradient(80% 70% at 0% 100%, rgba(123,97,255,.14), transparent 62%),
    linear-gradient(155deg, var(--space) 6%, var(--ink) 88%);
  color:var(--mist);
  border-bottom-left-radius:clamp(24px,3vw,44px);
  border-bottom-right-radius:clamp(24px,3vw,44px);
}
.page-contact .ct-hero::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(130,152,173,.12) 1px, transparent 1px),
    linear-gradient(90deg, rgba(130,152,173,.12) 1px, transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:linear-gradient(180deg, rgba(0,0,0,.55), transparent 78%);
  mask-image:linear-gradient(180deg, rgba(0,0,0,.55), transparent 78%);
  pointer-events:none;
}
.page-contact .ct-hero .container{
  position:relative;
  z-index:1;
}
.page-contact .ct-crumb,
.page-contact .ct-crumb a,
.page-contact .ct-crumb .breadcrumb__sep{
  color:var(--slate);
}
.page-contact .ct-crumb a:hover{
  color:var(--cyan-soft);
}

.page-contact .ct-hero__grid{
  display:grid;
  gap:clamp(28px,4vw,48px);
  margin-top:clamp(22px,3vw,34px);
}
.page-contact .ct-hero__title{
  margin:14px 0 0;
  font-family:var(--font-display);
  font-weight:900;
  font-size:clamp(34px,6.2vw,68px);
  line-height:1.02;
  letter-spacing:-0.03em;
  color:var(--mist);
}
.page-contact .ct-hero__lede{
  margin:18px 0 0;
  max-width:48ch;
  font-size:clamp(16px,1.9vw,18px);
  line-height:1.8;
  color:rgba(242,246,250,.82);
}
.page-contact .ct-jump{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:clamp(22px,3vw,32px);
}
.page-contact .ct-jump__link{
  display:inline-flex;
  align-items:center;
  padding:8px 16px;
  border-radius:var(--pill);
  border:1px solid var(--line-cyan);
  color:var(--cyan-soft);
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.06em;
  text-decoration:none;
  transition:background .24s var(--ease), border-color .24s var(--ease), color .24s var(--ease);
}
.page-contact .ct-jump__link:hover,
.page-contact .ct-jump__link:focus-visible,
.page-contact .ct-jump__link[aria-current="true"]{
  background:rgba(36,224,207,.16);
  border-color:var(--cyan);
  color:var(--mist);
}
.page-contact .ct-hero__figure{
  margin:0;
  border-radius:var(--r-lg);
  overflow:hidden;
  border:1px solid var(--line-cyan);
  background:var(--midnight);
  box-shadow:var(--shadow);
}
.page-contact .ct-hero__figure img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}
.page-contact .ct-hero__caption{
  padding:12px 18px;
  border-top:1px solid var(--line-cyan);
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.06em;
  color:var(--cyan-soft);
}

.page-contact .ct-channels{
  padding:clamp(44px,5.5vw,84px) 0;
  background:var(--ink);
  color:var(--mist);
}
.page-contact .ct-section-head{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-bottom:clamp(24px,3vw,40px);
}
.page-contact .ct-section-head > div{
  min-width:0;
}
.page-contact .ct-section-note{
  margin:0;
  max-width:44ch;
  font-size:15px;
  line-height:1.75;
  color:var(--slate);
}
.page-contact .ct-h2{
  margin:10px 0 0;
  font-family:var(--font-display);
  font-weight:800;
  font-size:clamp(24px,3.4vw,40px);
  line-height:1.15;
  letter-spacing:-0.02em;
}
.page-contact .ct-channels .ct-h2,
.page-contact .ct-ticket .ct-h2{
  color:var(--mist);
}
.page-contact .ct-channel-grid{
  display:grid;
  gap:16px;
}
.page-contact .ct-channel{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:clamp(20px,2.6vw,30px);
  border-radius:var(--r-lg);
  border:1px solid var(--line-cyan);
  background:linear-gradient(178deg, var(--midnight), rgba(16,43,78,.55));
  transition:transform .3s var(--ease), border-color .3s var(--ease);
}
.page-contact .ct-channel:hover{
  transform:translateY(-4px);
  border-color:var(--cyan);
}
.page-contact .ct-channel .eyebrow{
  margin:0;
  color:var(--cyan);
}
.page-contact .ct-channel__title{
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(20px,2.4vw,24px);
  font-weight:800;
  letter-spacing:-0.01em;
  color:var(--mist);
}
.page-contact .ct-channel__desc{
  margin:0;
  font-size:15px;
  line-height:1.75;
  color:rgba(242,246,250,.78);
  flex:1 1 auto;
}
.page-contact .ct-channel__value{
  margin:4px 0 0;
  font-family:var(--font-mono);
  font-size:clamp(15px,3.6vw,19px);
  letter-spacing:.02em;
  color:var(--cyan-soft);
  word-break:break-word;
  overflow-wrap:anywhere;
}
.page-contact .ct-copy{
  align-self:flex-start;
  margin-top:4px;
}

.page-contact .ct-hours{
  padding:clamp(44px,5.5vw,84px) 0 clamp(32px,4vw,52px);
  background:var(--mist);
  color:var(--space);
  scroll-margin-top:clamp(80px,10vh,120px);
}
.page-contact .ct-hours-grid{
  display:grid;
  gap:clamp(20px,3vw,32px);
}
.page-contact .ct-hours .eyebrow,
.page-contact .ct-node .eyebrow,
.page-contact .ct-registry .eyebrow{
  color:var(--slate);
}
.page-contact .ct-hours .ct-h2,
.page-contact .ct-node .ct-h2{
  color:var(--space);
}
.page-contact .ct-clock{
  list-style:none;
  margin:clamp(20px,2.6vw,28px) 0 0;
  padding:0;
}
.page-contact .ct-clock__row{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 14px;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.page-contact .ct-clock__row:first-child{
  border-top:1px solid var(--line);
}
.page-contact .ct-clock__day{
  font-weight:700;
  font-size:16px;
  min-width:110px;
}
.page-contact .ct-clock__time{
  font-family:var(--font-mono);
  font-size:14px;
  letter-spacing:.05em;
  color:var(--midnight);
}
.page-contact .ct-hours__note{
  margin:18px 0 0;
  max-width:62ch;
  font-size:16px;
  line-height:1.85;
  color:#33506f;
}
.page-contact .ct-urgent{
  padding:clamp(20px,2.6vw,30px);
  border-radius:var(--r-lg);
  border-left:4px solid var(--orange);
  background:var(--space);
  color:var(--mist);
}
.page-contact .ct-urgent__title{
  margin:0 0 10px;
  font-family:var(--font-display);
  font-size:clamp(18px,2.2vw,22px);
  font-weight:800;
  color:var(--mist);
}
.page-contact .ct-urgent__text{
  margin:0 0 20px;
  font-size:15px;
  line-height:1.8;
  color:rgba(242,246,250,.8);
}

.page-contact .ct-node{
  padding:clamp(32px,4vw,52px) 0 clamp(48px,5.5vw,80px);
  background:var(--mist);
  color:var(--space);
  border-top:1px solid var(--line);
  scroll-margin-top:clamp(80px,10vh,120px);
}
.page-contact .ct-node-grid{
  display:grid;
  gap:clamp(24px,3vw,40px);
}
.page-contact .ct-node__figure{
  margin:0;
  border-radius:var(--r-lg);
  overflow:hidden;
  border:1px solid var(--line);
  background:var(--midnight);
}
.page-contact .ct-node__figure img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}
.page-contact .ct-node__addr{
  margin:18px 0;
  padding:14px 18px;
  border-radius:var(--r-md);
  border-left:3px solid var(--cyan);
  background:rgba(36,224,207,.14);
  font-family:var(--font-mono);
  font-size:clamp(14px,3.2vw,16px);
  line-height:1.7;
  letter-spacing:.02em;
  color:var(--space);
  word-break:break-word;
  overflow-wrap:anywhere;
}
.page-contact .ct-node__text{
  margin:0;
  max-width:62ch;
  font-size:16px;
  line-height:1.85;
  color:#33506f;
}
.page-contact .ct-node__ways{
  display:grid;
  gap:12px;
  margin:20px 0;
}
.page-contact .ct-way{
  padding:16px 18px;
  border-radius:var(--r-md);
  border:1px solid var(--line);
  background:rgba(255,255,255,.68);
}
.page-contact .ct-way__title{
  margin:0 0 6px;
  font-family:var(--font-display);
  font-size:17px;
  font-weight:800;
  color:var(--space);
}
.page-contact .ct-way__text{
  margin:0;
  font-size:15px;
  line-height:1.75;
  color:#33506f;
}

.page-contact .ct-ticket{
  padding:clamp(44px,5.5vw,84px) 0;
  background:linear-gradient(180deg, var(--midnight), var(--space));
  color:var(--mist);
  scroll-margin-top:clamp(80px,10vh,120px);
}
.page-contact .ct-ticket .eyebrow{
  color:var(--cyan);
}
.page-contact .ct-ticket__lede{
  margin:16px 0 0;
  max-width:60ch;
  font-size:16px;
  line-height:1.85;
  color:rgba(242,246,250,.8);
}
.page-contact .ct-steps{
  list-style:none;
  margin:clamp(24px,3vw,36px) 0 0;
  padding:0;
  display:grid;
  gap:14px;
}
.page-contact .ct-step{
  position:relative;
  padding:22px 20px;
  border-radius:var(--r-md);
  border:1px solid var(--line-cyan);
  background:rgba(8,26,51,.55);
}
.page-contact .ct-step__num{
  display:inline-block;
  margin-bottom:10px;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:.1em;
  color:var(--cyan);
}
.page-contact .ct-step__title{
  margin:0 0 8px;
  font-family:var(--font-display);
  font-size:18px;
  font-weight:800;
  color:var(--mist);
}
.page-contact .ct-step__text{
  margin:0;
  font-size:15px;
  line-height:1.78;
  color:rgba(242,246,250,.76);
}
.page-contact .ct-ticket__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:clamp(24px,3vw,34px);
}

.page-contact .ct-registry{
  padding:clamp(28px,3.6vw,44px) 0;
  background:var(--ink);
  color:var(--slate);
  border-top:1px solid var(--line);
  scroll-margin-top:clamp(80px,10vh,120px);
}
.page-contact .ct-registry__inner{
  display:grid;
  gap:18px;
}
.page-contact .ct-registry .eyebrow{
  margin:0;
  color:var(--slate);
}
.page-contact .ct-registry__icp{
  margin:10px 0 0;
  font-family:var(--font-mono);
  font-size:15px;
  letter-spacing:.06em;
  color:var(--cyan-soft);
  word-break:break-word;
}
.page-contact .ct-registry__text{
  margin:8px 0 0;
  font-size:14px;
  line-height:1.7;
  color:var(--slate);
}
.page-contact .ct-registry__links{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
}
.page-contact .ct-registry__links a{
  color:var(--mist);
  font-size:14px;
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .22s var(--ease), border-color .22s var(--ease);
}
.page-contact .ct-registry__links a:hover,
.page-contact .ct-registry__links a:focus-visible{
  color:var(--cyan);
  border-bottom-color:var(--cyan);
}

@media (min-width:560px){
  .page-contact .ct-node__ways{
    grid-template-columns:1fr 1fr;
  }
  .page-contact .ct-section-head{
    flex-direction:row;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
  }
  .page-contact .ct-section-note{
    text-align:right;
  }
}

@media (min-width:820px){
  .page-contact .ct-channel-grid{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }
  .page-contact .ct-steps{
    grid-template-columns:repeat(4, minmax(0,1fr));
  }
}

@media (min-width:900px){
  .page-contact .ct-hero__grid{
    grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
    align-items:end;
  }
  .page-contact .ct-hours-grid{
    grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);
    align-items:start;
  }
  .page-contact .ct-node-grid{
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    align-items:center;
  }
  .page-contact .ct-registry__inner{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
  }
}

@media (prefers-reduced-motion: reduce){
  .page-contact .ct-channel,
  .page-contact .ct-jump__link,
  .page-contact .ct-registry__links a{
    transition:none;
  }
  .page-contact .ct-channel:hover{
    transform:none;
  }
}
<<<END>>>
