/* TM CMS page */
/* ===== HERO (shared look with new-index) ===== */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#f7f1e8 0%,#faf7f2 58%,#ffffff 100%)}
.hero-particles{position:absolute;inset:0;z-index:0}
.hero-particles canvas{display:block;position:absolute;top:0;left:0}
.hero-inner{position:relative;z-index:1;max-width:880px;margin:0 auto;padding:120px 24px 76px;text-align:center}
.hero h1{margin:26px auto 0;max-width:760px}
.hero .lead{margin:24px auto 0;max-width:600px}
.contact-title{font-size:clamp(34px,5vw,58px)}

/* ===== CONTACT FORM ===== */
.contact-wrap{width:100%;max-width:640px;margin:0 auto;padding:0 24px}
.form-card{padding:34px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.form-row{margin-bottom:18px}
.field-label{display:block;font-size:13px;font-weight:600;color:var(--ink-soft);margin-bottom:7px;font-family:'Inter',sans-serif}
.req{color:var(--brand)}
.opt{color:var(--faint);font-weight:400}
.contact-input{width:100%;background:#fffdf9;border:1px solid var(--line-2);border-radius:9px;padding:12px 14px;color:var(--ink);font-size:14.5px;font-family:'Inter',sans-serif;transition:border-color .2s ease,box-shadow .2s ease}
.contact-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(194,83,28,.12)}
.contact-input::placeholder{color:var(--faint)}
textarea.contact-input{resize:vertical;min-height:130px}
.field-error .contact-input{border-color:#d4332b;box-shadow:0 0 0 3px rgba(212,51,43,.1)}
.error{color:#d4332b;font-size:12px;margin-top:5px}
.newsletter{display:flex;align-items:flex-start;gap:10px;margin:4px 0 24px;font-size:13.5px;color:var(--muted);line-height:1.45;cursor:pointer}
.newsletter input{margin-top:2px;width:16px;height:16px;accent-color:var(--brand);flex-shrink:0}
.btn-block{width:100%;justify-content:center;font-size:16px;padding:15px}
.form-foot{text-align:center;margin-top:22px;color:var(--muted);font-size:14px}
.form-foot strong{color:var(--ink)}
.form-foot a{color:var(--brand);font-weight:600}

@media(max-width:540px){
  .form-grid{grid-template-columns:1fr}
  .form-card{padding:26px}
  .hero-inner{padding:96px 22px 60px}
}