/* Pages with a form: contact and newsletter. One card, plain labels, the service's own words on errors. */
.form-hero{padding:72px 0 24px}
.form-hero h1{margin:12px 0 16px;max-width:18ch;font-size:clamp(2.2rem,5vw,3.4rem);line-height:1.05}
.form-section{padding:16px 0 112px}
.form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,320px);gap:56px;align-items:start}
.form-narrow{max-width:640px}
.form-card{border:1px solid var(--line);border-radius:16px;background:var(--sheet);padding:28px;box-shadow:var(--shadow)}
.form-card form{display:flex;flex-direction:column}
.form-card [hidden]{display:none!important}
.form-card label{font-weight:600;font-size:.95rem;margin:0 0 6px}
.form-card label .opt{font-weight:400;color:var(--ink-3);font-size:.85rem;margin-left:6px}
.form-card input,.form-card textarea{font:inherit;font-size:1rem;color:var(--ink);background:var(--bg);border:1px solid var(--line-2);border-radius:10px;padding:11px 13px;margin:0 0 18px;width:100%;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}
.form-card textarea{resize:vertical;min-height:160px;line-height:1.5}
.form-card input:focus,.form-card textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,207,.15)}
.form-card .hint{margin:-12px 0 18px;font-size:.88rem;color:var(--ink-3)}
.form-card .inline{display:flex;gap:10px;align-items:flex-start}
.form-card .inline input{margin:0;flex:1;height:46px}
.form-card .inline + .form-error,.form-card .inline ~ .small{margin-top:14px}
.form-card .btn{border:0;cursor:pointer;font-family:inherit;align-self:flex-start}
.form-card .btn:disabled{opacity:.6;cursor:progress}
.form-card .small a,.form-aside a,.form-done a{text-decoration:underline;text-underline-offset:3px}
.form-actions{display:flex;flex-direction:column;gap:12px}
.form-error{margin:0 0 16px;padding:10px 14px;border-radius:10px;background:var(--warn-tint);color:var(--ink);font-size:.95rem}
.form-done h2{font-size:1.5rem;line-height:1.2;margin:0 0 10px}
.form-done p{color:var(--ink-2);line-height:1.6}
.form-done:focus{outline:none}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-aside h2{font-size:1.05rem;margin:0 0 8px}
.form-aside p,.form-aside li{color:var(--ink-2);font-size:.97rem;line-height:1.6}
.form-aside p{margin:0 0 28px}
.form-aside ul{margin:0;padding-left:20px}
.form-aside li{margin:4px 0}
@media (max-width:860px){.form-grid{grid-template-columns:minmax(0,1fr);gap:36px}}
@media (max-width:560px){.form-card{padding:20px}.form-card .inline{flex-direction:column}.form-card .inline .btn{width:100%;justify-content:center}}
