.container.narrow{max-width:900px}
.rich-text{max-width:820px}
.rich-text p{margin-bottom:18px}

/* contact cards */
.ct-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;margin-bottom:56px}
.ct-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;transition:all .25s}
.ct-card:hover{-webkit-transform:translateY(-4px);transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.ct-card .ic{width:62px;height:62px;border-radius:14px;background:var(--paper);display:grid;place-items:center;margin-bottom:18px}
.ct-card .ic svg{width:32px;height:32px;stroke:var(--blue)}
.ct-card .ic.wa-ic svg{width:32px;height:32px;stroke:none;fill:var(--blue)}
.ct-card .t{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px}
.ct-card .d{font-family:var(--head);font-weight:700;color:var(--navy);font-size:16px;line-height:1.5}
.ct-card .d a:hover{color:var(--blue)}
.ct-card .s{font-size:13px;color:var(--ink-soft);line-height:1.55;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}

/* contact form */
.ct-form{background:#fff;border:1px solid var(--line);border-radius:18px;padding:40px;max-width:820px;margin:0 auto}
.ct-form .f-head{margin-bottom:26px}
.ct-form .f-head h2{font-size:28px}
.ct-form .f-head p{color:var(--ink-soft);margin-top:8px}
.ct-form .btn{width:100%}
.sent-ok{display:none;align-items:center;gap:10px;background:#ecfdf4;border:1px solid #c9f2de;color:#177245;border-radius:10px;padding:14px 18px;font-weight:600;margin-bottom:20px}
.sent-ok.show{display:flex}
.sent-ok svg{width:20px;height:20px;stroke:var(--green);flex-shrink:0}