.page-contact{
  --ct-hair:rgba(14,59,46,.16);
  --ct-hair-2:rgba(14,59,46,.4);
  --ct-wash:rgba(14,59,46,.045);
  color:var(--ink);
  padding-bottom:clamp(48px,8vw,104px);
}

.page-contact .breadcrumb{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  margin:22px 0 30px;
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.06em;
  color:var(--ink-2);
}
.page-contact .breadcrumb a{
  color:var(--green);
  text-decoration:none;
  border-bottom:1px solid var(--ct-hair-2);
}
.page-contact .breadcrumb a:hover{
  color:var(--orange-deep);
  border-color:var(--orange-deep);
}
.page-contact .breadcrumb [aria-current="page"]{color:var(--ink);}

.page-contact .ct-head{max-width:920px;}

.page-contact h2{
  margin:0 0 12px;
  font-size:var(--fs-h2);
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.01em;
}
.page-contact h3{
  margin:0 0 6px;
  font-size:var(--fs-h3);
  line-height:1.25;
  font-weight:700;
}
.page-contact p{margin:0 0 12px;line-height:1.68;}

.page-contact .ct-head h1{
  margin:14px 0 18px;
  font-size:var(--fs-h1);
  line-height:1.04;
  font-weight:900;
  letter-spacing:-.02em;
  max-width:20ch;
}
.page-contact .ct-lede{
  max-width:62ch;
  font-size:clamp(16px,1.7vw,18px);
  line-height:1.72;
  margin-bottom:0;
}
.page-contact .ct-lede strong{
  font-family:var(--mono);
  font-weight:700;
  font-size:.94em;
  background:linear-gradient(transparent 62%,var(--peach) 62%);
}

.page-contact .ct-jump{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:26px;
  padding-top:18px;
  border-top:1px solid var(--ct-hair-2);
}
.page-contact .ct-jump a{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:0 14px;
  border:1px solid var(--ct-hair-2);
  border-radius:2px;
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.08em;
  color:var(--green);
  text-decoration:none;
  transition:background .16s var(--ease),color .16s var(--ease),border-color .16s var(--ease);
}
.page-contact .ct-jump a:hover,
.page-contact .ct-jump a:focus-visible{
  background:var(--orange);
  border-color:var(--orange);
  color:var(--ink);
}

.page-contact .ct-split{
  display:grid;
  gap:36px;
  margin-top:clamp(36px,5vw,52px);
  padding-top:clamp(26px,4vw,36px);
  border-top:1px solid var(--ct-hair-2);
}
.page-contact .ct-side{
  border-left:2px solid var(--green);
  padding-left:18px;
}
.page-contact .ct-side h2{font-size:var(--fs-h3);}
.page-contact .ct-side__p{
  font-size:14px;
  color:var(--ink-2);
  margin-bottom:16px;
}
.page-contact .ct-facts{
  list-style:none;
  margin:0 0 16px;
  padding:0;
}
.page-contact .ct-facts li{
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:10px;
  align-items:baseline;
  padding:11px 0;
  border-top:1px solid var(--ct-hair);
}
.page-contact .ct-facts li:last-child{border-bottom:1px solid var(--ct-hair);}
.page-contact .ct-facts__k{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink-2);
}
.page-contact .ct-facts__v{
  font-size:15px;
  font-weight:700;
  line-height:1.4;
  overflow-wrap:anywhere;
}
.page-contact .ct-mono{
  font-family:var(--mono);
  font-variant-numeric:tabular-nums;
  letter-spacing:-.01em;
}
.page-contact .ct-note{
  font-size:13px;
  line-height:1.6;
  color:var(--ink-2);
  margin:0;
}

.page-contact .ct-main__lead{
  max-width:56ch;
  color:var(--ink-2);
  font-size:15px;
  margin-bottom:6px;
}
.page-contact .ct-steps{
  counter-reset:ctstep;
  list-style:none;
  margin:0;
  padding:0;
}
.page-contact .ct-steps li{
  counter-increment:ctstep;
  position:relative;
  padding:16px 0 16px 48px;
  border-top:1px solid var(--ct-hair);
}
.page-contact .ct-steps li::before{
  content:counter(ctstep,decimal-leading-zero);
  position:absolute;
  left:0;
  top:18px;
  font-family:var(--mono);
  font-size:13px;
  font-weight:700;
  letter-spacing:.06em;
  color:var(--orange-deep);
}
.page-contact .ct-steps li p{
  margin:0;
  font-size:15px;
  line-height:1.62;
  color:var(--ink-2);
}
.page-contact .ct-send{
  margin-top:24px;
  display:flex;
  flex-wrap:wrap;
  align-items:baseline;
  gap:6px 14px;
  padding:16px 18px;
  background:var(--peach);
  border-left:3px solid var(--orange);
  border-radius:2px;
}
.page-contact .ct-send__label{
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--orange-deep);
}
.page-contact .ct-send__mail{
  font-size:15px;
  font-weight:700;
  overflow-wrap:anywhere;
}
.page-contact .ct-send__hint{
  flex:1 1 100%;
  font-size:13px;
  line-height:1.6;
  color:var(--ink-2);
}

.page-contact figure{margin:0;}
.page-contact img{max-width:100%;height:auto;display:block;}
.page-contact .ct-media{
  margin-top:clamp(32px,5vw,56px);
}
.page-contact .ct-media img{
  width:100%;
  aspect-ratio:12/7;
  object-fit:cover;
  border:1px solid var(--ct-hair-2);
  border-radius:2px;
  background:var(--paper-2);
}
.page-contact .ct-media figcaption{
  margin-top:9px;
  font-size:12px;
  line-height:1.6;
  color:var(--ink-2);
  max-width:64ch;
}

.page-contact .ct-channels{
  margin-top:clamp(44px,6vw,76px);
}
.page-contact .ct-sec-head p{
  max-width:58ch;
  color:var(--ink-2);
  font-size:15px;
  margin-bottom:20px;
}
.page-contact .ct-ch{
  border-top:1px solid var(--ct-hair);
}
.page-contact .ct-ch:last-child{border-bottom:1px solid var(--ct-hair);}
.page-contact .ct-ch summary{
  display:grid;
  grid-template-columns:30px minmax(0,1fr) 24px;
  grid-template-areas:
    "no name plus"
    "no desc plus"
    "no meta plus";
  gap:2px 14px;
  align-items:baseline;
  padding:16px 0;
  cursor:pointer;
  list-style:none;
  transition:background .16s var(--ease);
}
.page-contact .ct-ch summary::-webkit-details-marker{display:none;}
.page-contact .ct-ch summary:hover{background:var(--ct-wash);}
.page-contact .ct-ch summary:focus-visible{
  outline:2px solid var(--orange-deep);
  outline-offset:2px;
}
.page-contact .ct-ch__no{
  grid-area:no;
  font-family:var(--mono);
  font-size:12px;
  font-weight:700;
  letter-spacing:.06em;
  color:var(--orange-deep);
}
.page-contact .ct-ch__name{
  grid-area:name;
  font-size:17px;
  font-weight:800;
  letter-spacing:-.01em;
}
.page-contact .ct-ch__desc{
  grid-area:desc;
  font-size:14px;
  line-height:1.5;
  color:var(--ink-2);
}
.page-contact .ct-ch__meta{
  grid-area:meta;
  font-family:var(--mono);
  font-size:12px;
  letter-spacing:.04em;
  color:var(--blue);
}
.page-contact .ct-ch summary::after{
  grid-area:plus;
  content:"+";
  justify-self:end;
  font-family:var(--mono);
  font-size:18px;
  line-height:1;
  color:var(--green);
}
.page-contact .ct-ch[open] summary::after{
  content:"–";
  color:var(--orange-deep);
}
.page-contact .ct-ch[open] summary{
  background:var(--ct-wash);
}
.page-contact .ct-ch__body{
  padding:2px 0 22px 44px;
}
.page-contact .ct-ch__body p{
  font-size:15px;
  line-height:1.66;
  color:var(--ink-2);
  max-width:62ch;
}
.page-contact .ct-ch__body a{
  color:var(--green);
  font-weight:700;
  text-decoration:none;
  border-bottom:1px solid var(--ct-hair-2);
}
.page-contact .ct-ch__body a:hover{
  color:var(--orange-deep);
  border-color:var(--orange-deep);
}
.page-contact .ct-ch__body ul{
  list-style:none;
  margin:12px 0 0;
  padding:0;
}
.page-contact .ct-ch__body li{
  position:relative;
  padding:5px 0 5px 18px;
  font-size:14px;
  line-height:1.6;
}
.page-contact .ct-ch__body li::before{
  content:"";
  position:absolute;
  left:0;
  top:13px;
  width:7px;
  height:7px;
  background:var(--orange);
}

.page-contact .ct-hours{
  margin-top:clamp(44px,6vw,76px);
  padding:clamp(22px,3.4vw,36px);
  background:var(--green);
  color:var(--paper);
  border-radius:2px;
}
.page-contact .ct-hours h2{
  color:var(--paper);
  font-size:var(--fs-h3);
  margin-bottom:22px;
}
.page-contact .ct-hours__grid{
  display:grid;
  gap:22px;
}
.page-contact .ct-hours__cell{
  padding-top:18px;
  border-top:1px solid var(--line-paper);
}
.page-contact .ct-hours__num{
  display:block;
  font-size:clamp(26px,4vw,34px);
  font-weight:700;
  color:var(--orange);
  line-height:1.05;
  margin-bottom:8px;
}
.page-contact .ct-hours__label{
  display:block;
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--mint);
  margin-bottom:8px;
}
.page-contact .ct-hours__cell p{
  margin:0;
  font-size:14px;
  line-height:1.6;
  color:rgba(244,239,227,.86);
}

.page-contact .ct-visit{
  display:grid;
  gap:26px;
  margin-top:clamp(40px,6vw,72px);
  padding-top:clamp(26px,4vw,40px);
  border-top:1px solid var(--ct-hair-2);
}
.page-contact .ct-visit__text p{
  max-width:56ch;
  font-size:15px;
  color:var(--ink-2);
}
.page-contact .ct-visit__addr{
  display:block;
  margin:16px 0;
  padding:12px 16px;
  border-left:3px solid var(--green);
  background:var(--paper-2);
  font-style:normal;
  font-size:16px;
  font-weight:800;
  line-height:1.55;
  letter-spacing:-.01em;
}
.page-contact .ct-visit__hint{
  font-size:13px;
  color:var(--ink-2);
  margin:0;
}
.page-contact .ct-visit__media img{
  width:100%;
  aspect-ratio:10/6;
  object-fit:cover;
  border:1px solid var(--ct-hair-2);
  border-radius:2px;
  background:var(--paper-2);
}

.page-contact .ct-prep{
  margin-top:clamp(44px,6vw,76px);
  padding-top:clamp(26px,4vw,36px);
  border-top:1px solid var(--ct-hair-2);
}
.page-contact .ct-prep__lead{
  max-width:56ch;
  font-size:15px;
  color:var(--ink-2);
  margin-bottom:14px;
}
.page-contact .ct-prep__list{
  list-style:none;
  margin:0;
  padding:0;
}
.page-contact .ct-prep__list li{
  display:grid;
  gap:4px;
  padding:14px 0;
  border-top:1px solid var(--ct-hair);
}
.page-contact .ct-prep__list li:last-child{border-bottom:1px solid var(--ct-hair);}
.page-contact .ct-prep__list a{
  font-size:16px;
  font-weight:800;
  color:var(--green);
  text-decoration:none;
  border-bottom:1px solid var(--ct-hair-2);
  justify-self:start;
}
.page-contact .ct-prep__list a:hover{
  color:var(--orange-deep);
  border-color:var(--orange-deep);
}
.page-contact .ct-prep__list span{
  font-size:14px;
  line-height:1.6;
  color:var(--ink-2);
}

@media (min-width:700px){
  .page-contact .ct-visit__text p{font-size:15px;}
  .page-contact .ct-prep__list li{
    grid-template-columns:150px minmax(0,1fr);
    gap:22px;
    align-items:baseline;
  }
  .page-contact .ct-hours__grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:0;
  }
  .page-contact .ct-hours__cell{
    padding:0 20px;
    border-top:0;
    border-left:1px solid var(--line-paper);
  }
  .page-contact .ct-hours__cell:first-child{padding-left:0;border-left:0;}
  .page-contact .ct-hours__cell:last-child{padding-right:0;}
}

@media (min-width:900px){
  .page-contact .ct-split{
    grid-template-columns:minmax(0,296px) minmax(0,1fr);
    gap:clamp(36px,5vw,64px);
    align-items:start;
  }
  .page-contact .ct-visit{
    grid-template-columns:minmax(0,1fr) minmax(0,420px);
    gap:clamp(32px,4vw,52px);
    align-items:center;
  }
  .page-contact .ct-media{margin-top:clamp(40px,5vw,60px);}
}

@media (min-width:880px){
  .page-contact .ct-ch summary{
    grid-template-columns:52px 192px minmax(0,1fr) 128px 28px;
    grid-template-areas:"no name desc meta plus";
    gap:18px;
    align-items:center;
    padding:18px 4px;
  }
  .page-contact .ct-ch__name{font-size:18px;}
  .page-contact .ct-ch__body{padding:4px 4px 26px 70px;}
}

@media (prefers-reduced-motion:reduce){
  .page-contact .ct-jump a,
  .page-contact .ct-ch summary{transition:none;}
}
