.page-contact{
  background:var(--ink-900);
  color:var(--paper);
  -webkit-font-smoothing:antialiased;
}

.page-contact .ct-crumbs{
  padding-top:clamp(1rem,3vw,2rem);
  padding-bottom:clamp(.4rem,1.6vw,.9rem);
}
.page-contact .ct-crumbs ol{
  font-size:13px;
  letter-spacing:.06em;
  color:var(--ink-500);
}
.page-contact .ct-crumbs li{
  color:var(--ink-500);
}
.page-contact .ct-crumbs a{
  color:var(--green-300);
  text-decoration:none;
  border-bottom:1px solid transparent;
  transition:color .14s var(--ease),border-color .14s var(--ease);
}
.page-contact .ct-crumbs a:hover{
  color:var(--green-600);
  border-bottom-color:var(--green-600);
}

.page-contact .eyebrow{
  display:block;
  margin:0 0 .8rem;
  font-size:12px;
  font-weight:500;
  letter-spacing:.18em;
  color:var(--green-300);
}

.page-contact .ct-hero{
  position:relative;
  overflow:hidden;
  padding:clamp(2.2rem,7vw,4.5rem) 0 clamp(2.2rem,6vw,4rem);
}
.page-contact .ct-hero::before{
  content:"";
  position:absolute;
  top:-30%;
  right:-8%;
  width:min(560px,58vw);
  aspect-ratio:1 / 1;
  background:repeating-linear-gradient(60deg,rgba(47,191,113,.12) 0 2px,transparent 2px 20px);
  pointer-events:none;
}
.page-contact .ct-hero .shell{
  position:relative;
}
.page-contact .ct-hero h1{
  margin:0 0 1.1rem;
  max-width:17ch;
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(2.05rem,6.4vw,4.2rem);
  line-height:1.12;
  letter-spacing:-.02em;
  color:var(--paper);
}
.page-contact .ct-lede{
  margin:0;
  max-width:58ch;
  font-size:clamp(1rem,1.6vw,1.12rem);
  line-height:1.85;
  color:rgba(251,252,250,.8);
}

.page-contact .ct-h2{
  margin:0 0 clamp(1.3rem,3vw,2.1rem);
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(1.5rem,4vw,2.5rem);
  line-height:1.22;
  letter-spacing:-.01em;
  color:var(--paper);
}
.page-contact .ct-slab .ct-h2{
  color:var(--black);
}

.page-contact .ct-channels{
  padding:clamp(2.2rem,6vw,4rem) 0 clamp(2.5rem,7vw,5rem);
}

.page-contact .ct-chan-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1.1rem,3vw,1.7rem);
  align-items:start;
}
.page-contact .ct-chan{
  display:flex;
  flex-direction:column;
  gap:.7rem;
  padding:clamp(1.3rem,3vw,1.9rem);
  background:var(--ink-700);
  border:2px solid var(--ink-500);
  border-radius:var(--radius-card);
  transition:border-color .14s var(--ease),transform .14s var(--ease),box-shadow .14s var(--ease);
}
.page-contact .ct-chan:hover,
.page-contact .ct-chan:focus-within{
  border-color:var(--green-600);
  transform:translateY(-2px);
  box-shadow:var(--hard-green);
}
.page-contact .ct-chan-tag{
  margin:0;
  font-size:12px;
  font-weight:500;
  letter-spacing:.16em;
  color:var(--green-300);
}
.page-contact .ct-chan h3{
  margin:0;
  font-family:var(--font-display);
  font-size:clamp(1.2rem,2.4vw,1.5rem);
  line-height:1.3;
  color:var(--paper);
}
.page-contact .ct-chan-fits{
  margin:0;
  font-size:.95rem;
  line-height:1.8;
  color:rgba(251,252,250,.74);
}
.page-contact .ct-chan-value{
  margin:0;
  padding-top:.85rem;
  border-top:2px solid var(--ink-500);
  font-family:var(--font-num);
  font-weight:700;
  font-size:clamp(.88rem,3.6vw,1.02rem);
  line-height:1.5;
  color:var(--green-600);
  overflow-wrap:anywhere;
}
.page-contact .ct-chan--phone .ct-chan-value{
  font-size:clamp(1.45rem,5vw,2rem);
  letter-spacing:.02em;
}
.page-contact .ct-chan-meta{
  margin:0;
  font-size:.86rem;
  line-height:1.7;
  color:rgba(251,252,250,.58);
}

.page-contact .ct-figure{
  margin:clamp(2.2rem,6vw,3.6rem) 0 0;
  border:2px solid var(--ink-500);
  border-radius:var(--radius-card);
  overflow:hidden;
  background:var(--ink-700);
}
.page-contact .ct-figure img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}

.page-contact .ct-slab{
  background:var(--green-050);
  color:var(--black);
  padding:clamp(2.4rem,7vw,4.6rem) 0;
}
.page-contact .ct-slab--paper{
  background:var(--paper);
}

.page-contact .ct-hours-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1.7rem,5vw,3.4rem);
}
.page-contact .ct-hours-copy p{
  margin:0 0 1rem;
  max-width:54ch;
  font-size:1rem;
  line-height:1.85;
  color:var(--ink-700);
}
.page-contact .ct-hours-copy p:last-child{
  margin-bottom:0;
}
.page-contact .ct-hours-stats{
  margin:0;
  display:grid;
  align-content:start;
  border-top:2px solid var(--ink-900);
}
.page-contact .ct-hours-stats > div{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:baseline;
  gap:.3rem 1rem;
  padding:.9rem 0;
  border-bottom:1px solid rgba(20,24,28,.16);
}
.page-contact .ct-hours-stats dt{
  margin:0;
  font-size:.84rem;
  letter-spacing:.06em;
  color:var(--ink-500);
}
.page-contact .ct-hours-stats dd{
  margin:0;
  font-family:var(--font-num);
  font-weight:700;
  font-size:1.02rem;
  color:var(--ink-900);
}

.page-contact .ct-prep-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1.6rem,4vw,3rem);
  margin-top:clamp(2.4rem,6vw,4.4rem);
  padding-top:clamp(2.4rem,6vw,4.4rem);
  border-top:2px solid rgba(20,24,28,.14);
}
.page-contact .ct-prep-figure{
  margin:0;
  border:2px solid var(--ink-900);
  border-radius:var(--radius-card);
  overflow:hidden;
  background:var(--paper);
  box-shadow:var(--hard);
}
.page-contact .ct-prep-figure img{
  display:block;
  width:100%;
  height:auto;
  object-fit:cover;
}
.page-contact .ct-prep-copy .eyebrow{
  color:var(--ink-500);
}
.page-contact .ct-prep-copy .ct-h2{
  max-width:18ch;
}

.page-contact .ct-checklist{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:clamp(.85rem,2vw,1.15rem);
}
.page-contact .ct-checklist li{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:.85rem;
  align-items:start;
  padding-bottom:.85rem;
  border-bottom:1px solid rgba(20,24,28,.14);
}
.page-contact .ct-checklist li:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.page-contact .ct-check-box{
  display:grid;
  place-items:center;
  width:26px;
  height:26px;
  margin-top:.15rem;
  border:2px solid var(--ink-900);
  border-radius:5px;
  background:var(--paper);
  font-family:var(--font-num);
  font-weight:700;
  font-size:.85rem;
  color:var(--ink-900);
  transition:background .14s var(--ease),color .14s var(--ease),border-color .14s var(--ease);
}
.page-contact .ct-checklist li:hover .ct-check-box{
  background:var(--green-600);
  border-color:var(--green-600);
  color:var(--paper);
}
.page-contact .ct-checklist h3{
  margin:0 0 .2rem;
  font-size:1rem;
  font-weight:700;
  color:var(--black);
}
.page-contact .ct-checklist p{
  margin:0;
  font-size:.92rem;
  line-height:1.78;
  color:var(--ink-700);
}
.page-contact .ct-prep-note{
  margin:1.3rem 0 0;
  padding-left:.9rem;
  border-left:4px solid var(--green-600);
  font-size:.9rem;
  line-height:1.75;
  color:var(--ink-500);
}

.page-contact .ct-partner{
  background:var(--ink-900);
  color:var(--paper);
  padding:clamp(2.5rem,7vw,4.8rem) 0;
}
.page-contact .ct-partner-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(.85rem,2.4vw,1.15rem);
}
.page-contact .ct-partner-item{
  padding:clamp(1rem,2.4vw,1.3rem) clamp(1.1rem,2.6vw,1.5rem);
  border:2px solid var(--ink-500);
  border-radius:14px;
  transition:border-color .14s var(--ease),background .14s var(--ease);
}
.page-contact .ct-partner-item:hover{
  border-color:var(--green-600);
  background:rgba(47,191,113,.07);
}
.page-contact .ct-partner-item h3{
  margin:0 0 .35rem;
  font-size:.95rem;
  font-weight:700;
  letter-spacing:.06em;
  color:var(--green-300);
}
.page-contact .ct-partner-item p{
  margin:0;
  font-size:.92rem;
  line-height:1.78;
  color:rgba(251,252,250,.76);
}
.page-contact .ct-partner-lead{
  margin:clamp(1.4rem,3vw,2rem) 0 clamp(1.2rem,3vw,1.7rem);
  max-width:60ch;
  font-size:1rem;
  line-height:1.85;
  color:rgba(251,252,250,.8);
}
.page-contact .ct-partner-actions{
  display:flex;
  flex-wrap:wrap;
  gap:.8rem;
}

.page-contact .ct-visit-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:clamp(1.8rem,4vw,3rem);
}
.page-contact .ct-address{
  margin:0 0 .9rem;
  padding-left:1rem;
  border-left:4px solid var(--green-600);
  font-style:normal;
  font-family:var(--font-display);
  font-size:clamp(1.15rem,2.6vw,1.5rem);
  line-height:1.5;
  color:var(--black);
}
.page-contact .ct-visit-main > p{
  margin:0 0 1.5rem;
  max-width:46ch;
  font-size:.98rem;
  line-height:1.85;
  color:var(--ink-700);
}
.page-contact .ct-visit-lines{
  list-style:none;
  margin:0;
  padding:0;
  border-top:2px solid var(--ink-900);
}
.page-contact .ct-visit-lines li{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:baseline;
  gap:.3rem 1rem;
  padding:.8rem 0;
  border-bottom:1px solid rgba(20,24,28,.16);
}
.page-contact .ct-visit-lines span{
  font-size:.84rem;
  letter-spacing:.06em;
  color:var(--ink-500);
}
.page-contact .ct-visit-lines strong{
  font-size:.95rem;
  font-weight:700;
  color:var(--ink-900);
  overflow-wrap:anywhere;
}

.page-contact .ct-visit-side h3{
  margin:0 0 1rem;
  font-family:var(--font-display);
  font-size:1.15rem;
  color:var(--black);
}
.page-contact .ct-sc-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.55rem;
}
.page-contact .ct-sc-list a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.78rem 1rem;
  border:2px solid rgba(20,24,28,.16);
  border-radius:12px;
  font-size:.93rem;
  line-height:1.5;
  color:var(--black);
  text-decoration:none;
  transition:border-color .14s var(--ease),background .14s var(--ease),color .14s var(--ease);
}
.page-contact .ct-sc-list a::after{
  content:"→";
  flex:none;
  font-weight:700;
  color:var(--green-600);
}
.page-contact .ct-sc-list a:hover{
  border-color:var(--green-600);
  background:var(--green-050);
}

@media (min-width:900px){
  .page-contact .ct-chan-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:clamp(1.6rem,3.4vw,3.2rem);
  }
  .page-contact .ct-chan:nth-child(1){
    margin-top:3.8rem;
  }
  .page-contact .ct-chan:nth-child(2){
    margin-top:0;
  }
  .page-contact .ct-chan:nth-child(3){
    margin-top:6.4rem;
  }

  .page-contact .ct-hours-grid{
    grid-template-columns:minmax(0,7fr) minmax(0,5fr);
    align-items:start;
  }

  .page-contact .ct-prep-grid{
    grid-template-columns:minmax(0,5fr) minmax(0,7fr);
    align-items:start;
  }

  .page-contact .ct-partner-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .page-contact .ct-visit-grid{
    grid-template-columns:minmax(0,7fr) minmax(0,5fr);
    align-items:start;
  }
}
<<<END>>>
