/* ── Contact page — namespaced .ct- additions ── */

.ct-hero-in{padding:clamp(26px,4vw,48px) 0;max-width:760px}
.ct-hero .tt-lede{max-width:56ch}

.ct-card{align-items:center}
.ct-addr{margin:.7rem 0 0;font-family:var(--dsp);font-weight:800;font-size:1.05rem;
  color:var(--turq-dk);letter-spacing:.01em;word-break:break-word}
.ct-mailbtn{gap:.5em}
.ct-mic{width:18px;height:18px;fill:currentColor;flex:0 0 auto}

.ct-h2{font-family:var(--dsp);font-weight:900;color:var(--ink);
  font-size:clamp(1.4rem,3vw,2.1rem);line-height:1.18;margin:.3rem 0 1.4rem}

.ct-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(12px,1.8vw,18px);margin-bottom:1.1rem}
.ct-fbox p{margin:0;font-size:.92rem;line-height:1.58;color:var(--body)}

.ct-no{margin-top:0}
.ct-no p{margin:0;font-size:.95rem;line-height:1.6}

.rp a{color:var(--turq-dk);text-decoration:underline;text-underline-offset:2px;font-weight:700}
.rp a:hover{color:var(--sky-dk)}
.ct-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

.ct-guides{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}

@media(max-width:900px){
  .ct-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .ct-card{grid-template-columns:1fr}
  .ct-mailbtn{width:100%;max-width:100%}
  .ct-guides{grid-template-columns:1fr}
}
