.ct {
  padding: 82px 0 104px;
  background: radial-gradient(ellipse at 82% 0, #e9f7ee 0, #fff 48%);
}
.ct-wrap { width: min(100% - 48px, 1080px); max-width: 1080px; margin-inline: auto; padding: 0; }
.ct-eyebrow,.pp-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--green);
  font: 800 11px/1.4 Manrope, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.ct-eyebrow::before,.pp-eyebrow::before { content: ""; width: 24px; height: 2px; border-radius: 3px; background: #55ae7c; }
.ct h1,.pp h1 { max-width: 760px; margin-top: 18px; font-size: clamp(42px, 6vw, 68px); font-weight: 800; letter-spacing: -.065em; line-height: 1.05; }
.ct-sub,.pp-sub { max-width: 650px; margin-top: 20px; color: var(--muted); font-size: 17px; line-height: 1.8; }
.ct-cards { gap: 22px; margin-top: 46px; }
.ct-card { min-height: 275px; gap: 14px; padding: 32px; border-color: var(--line); border-radius: 20px; box-shadow: 0 12px 35px #173d2409; }
.ct-card:hover { border-color: #b8d6c5; box-shadow: 0 22px 48px #173d2414; }
.ct-icon { width: 48px; height: 48px; border-radius: 15px; background: #e9f5ec; color: var(--green); }
.ct-icon-wa { color: #fff; background: #25d366; }
.ct-card h3,.ct-addr h3 { font-family: Manrope, sans-serif; font-size: 21px; font-weight: 800; letter-spacing: -.04em; }
.ct-card p,.ct-addr p { font-size: 14px; line-height: 1.8; }
.ct-card .ct-value { font: 700 14px Manrope, sans-serif; color: var(--green); }
.ct-go { font-size: 13px; font-weight: 800; color: var(--green); }
.ct-email-more { top: 17px; right: 17px; width: 36px; height: 36px; border-color: var(--line); }
.ct-email-menu { top: 60px; right: 17px; border-radius: 14px; box-shadow: 0 18px 48px #173d241a; }
.ct-addr { margin-top: 22px; padding: 25px 28px; border-color: var(--line); border-radius: 20px; background: #f4f8f3; }
.ct-addr .ct-icon { background: #fff; color: var(--green); }
.ct-map { margin-top: 18px; border-radius: 20px; box-shadow: 0 12px 35px #173d2409; }
.ct-note { margin-top: 24px; font-size: 13px; }
@media (max-width: 900px) { .ct { padding-top: 64px; } }
@media (max-width: 640px) {
  .ct { padding: 52px 0 70px; }
  .ct-wrap { width: calc(100% - 36px); }
  .ct h1 { font-size: clamp(40px, 11vw, 56px); }
  .ct-sub { font-size: 15px; }
  .ct-cards { grid-template-columns: 1fr; margin-top: 32px; }
  .ct-card { min-height: 0; padding: 26px 24px; }
  .ct-addr { padding: 22px; }
}
