/* ===== Contact ===== */
body{background:var(--green-950)}
.ct{color:var(--on-dark)}
.ct-wrap{position:relative;overflow:hidden;padding:calc(var(--head) + clamp(48px,9vh,110px)) 0 clamp(64px,10vh,110px);min-height:100vh;min-height:100svh}
.ct-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:clamp(32px,6vw,96px);align-items:start}
.ct-copy{display:flex;flex-direction:column;gap:20px;padding-top:12px}
.ct .eyebrow{color:var(--yellow-400)}
.ct h1{color:var(--paper);font-size:clamp(2.6rem,6vw,5rem);line-height:.95}
.ct .lead{font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.5;color:var(--on-dark-muted);max-width:520px}
.ct-direct{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.ct-direct li{display:flex;flex-direction:column;gap:2px}
.ct-direct b{font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-muted)}
.ct-direct a{color:var(--paper);font-weight:700;font-size:1.15rem;text-decoration-color:var(--yellow-400);text-underline-offset:4px}
.ct-direct a:hover{color:var(--yellow-400)}
.ct-card{background:var(--paper);color:var(--body);border-radius:var(--r-xl);padding:clamp(20px,3vw,32px);box-shadow:var(--shadow-lg)}
.ct-card form{display:flex;flex-direction:column;gap:18px}
.ct-card textarea{resize:vertical;min-height:132px}
.ct-card .field input[aria-invalid="true"],.ct-card .field textarea[aria-invalid="true"]{border-color:var(--terracotta-500)}
.ct-card .btn{align-self:flex-start}
.ct-err{font-size:var(--t-sm);color:var(--terracotta-500);font-weight:700;margin:0}
.ct-done{display:flex;flex-direction:column;gap:12px}
.ct-done h2{color:var(--ink);font-size:1.75rem}
.ct-done p{color:var(--body)}
.ct-glow{position:absolute;right:-10%;top:-20%;width:70%;height:140%;background:radial-gradient(ellipse at center,rgba(69,118,98,.45) 0%,rgba(24,43,35,0) 65%);pointer-events:none}
@media (max-width:899px){
  .ct-in{grid-template-columns:minmax(0,1fr)}
  .ct-card .btn{align-self:stretch}
}
@media (max-width:520px){ .ct-card .fields{grid-template-columns:minmax(0,1fr)} }
