/* Página de contato */
.ct { background: var(--light); color: var(--fg); }
.ct__sec { padding: clamp(112px, 16vh, 168px) var(--pad) clamp(64px, 10vh, 120px); background: var(--light); }
.ct__grid { max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: 1fr minmax(380px, 520px); gap: clamp(32px, 6vw, 96px); align-items: start; }
.ct__t { margin: 14px 0 18px; }
.ct__lead { max-width: 46ch; color: var(--fg-2); margin: 0 0 28px; font-size: clamp(16px, 1.2vw, 19px); line-height: 1.55; }
.ct__wa { margin-bottom: 40px; }
.ct__info { margin: 0; display: grid; gap: 0; border-top: 1px solid var(--line); }
.ct__info > div { display: grid; grid-template-columns: 120px 1fr; gap: 16px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.ct__info dt { color: var(--mut); }
.ct__info dd { margin: 0; font-size: 16px; }
.ct__info a { text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--mut-2); }
.ct__info a:hover { text-decoration-color: var(--fg); }

.ct__card { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: clamp(22px, 3vw, 36px); box-shadow: 0 24px 60px rgba(14, 18, 16, .07); }
.ct__h2 { font-family: 'Blauer Nue', sans-serif; font-weight: 400; font-size: 26px; letter-spacing: -.03em; margin: 0 0 22px; }
.ct__f { display: grid; gap: 7px; margin-bottom: 16px; }
.ct__f .m { color: var(--mut); }
.ct__f .m i { font-style: normal; opacity: .8; }
.ct__f input, .ct__f select, .ct__f textarea { font: inherit; font-size: 16px; color: var(--fg); background: var(--light); border: 1px solid var(--line); border-radius: 10px; padding: 13px 14px; width: 100%; min-height: 48px; transition: border-color .2s, background .2s; }
.ct__f textarea { resize: vertical; min-height: 130px; line-height: 1.5; }
.ct__f input:focus, .ct__f select:focus, .ct__f textarea:focus { outline: none; border-color: var(--fg); background: #fff; }
.ct__f.is-bad input, .ct__f.is-bad select, .ct__f.is-bad textarea { border-color: #C9342E; }
.ct__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.ct__ck { display: grid; grid-template-columns: 22px 1fr; gap: 10px; margin: 6px 0 18px; font-size: 14px; line-height: 1.5; color: var(--fg-2); cursor: pointer; }
.ct__ck input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: #0E1210; }
.ct__ck a { text-decoration: underline; text-underline-offset: 2px; }
.ct__ck.is-bad { color: #C9342E; }
.ct__err { margin: 0 0 14px; padding: 12px 14px; border-radius: 10px; background: rgba(201, 52, 46, .08); color: #9d2420; font-size: 14px; }
.ct__send[disabled] { opacity: .6; pointer-events: none; }
.ct__okt { margin: 12px 0 14px; }
.ct__ok .p { color: var(--fg-2); margin: 0 0 26px; line-height: 1.55; }
.ct__ok .ct__wa { margin-bottom: 0; }

.ct__foot { background: #0E1210; color: #F2F3EE; padding: 48px var(--pad) 36px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 40px; }
.ct__flogo { height: clamp(28px, 4vw, 44px); width: auto; }
.ct__fl { display: flex; flex-wrap: wrap; gap: 8px 26px; font-size: 14px; color: rgba(242, 243, 238, .72); }
.ct__fl a, .ct__fl button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
.ct__fl a:hover, .ct__fl button:hover { color: #F2F3EE; text-decoration: underline; text-underline-offset: 3px; }
.ct__fc { font-size: 13px; color: rgba(242, 243, 238, .5); }

@media (max-width: 900px) {
  .ct__grid { grid-template-columns: 1fr; }
  .ct__info > div { grid-template-columns: 96px 1fr; }
}
