/* Form 2 "Join the directory" (2G). Scoped under .jd, editorial palette. */
.jd { --hero:#0B0F13; --cream:#F5EAD0; --accent:#E0541F; --accent-bright:#F26A2E; --line:rgba(245,234,208,.12); --mute:#a8acb2;
    background:var(--hero); color:var(--cream); font-family:var(--font-body); padding:48px 56px 72px; min-height:70vh; }
.jd .eyebrow { display:flex; align-items:center; gap:16px; color:var(--mute); font-family:"JetBrains Mono",monospace; font-size:10.5px; letter-spacing:.22em; text-transform:uppercase; margin-bottom:18px; }
.jd .eyebrow .num { font-family:"Bebas Neue",sans-serif; font-size:22px; color:var(--cream); }
.jd .eyebrow .rule { flex:0 0 56px; height:1px; background:rgba(245,234,208,.4); }
.jd-h1 { font-family:"Bebas Neue",sans-serif; font-size:72px; line-height:.9; margin:0; }
.jd-h1 em { font-style:normal; color:var(--accent-bright); }
.jd-sub { margin-top:12px; max-width:620px; font-size:14.5px; line-height:1.7; color:#cfd4da; }
.jd-form { margin-top:32px; max-width:860px; }
.jd-errors { color:#ffb4a0; font-size:13px; margin-bottom:16px; }
.jd-errors ul { margin:0; padding-left:18px; }
.jd-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.jd-field { display:flex; flex-direction:column; gap:6px; margin-bottom:18px; }
.jd-wide { grid-column:1 / -1; }
.jd-label { font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--mute); }
.jd-input { background:transparent; border:1px solid var(--line); color:var(--cream); padding:10px 12px; font-size:14px; font-family:var(--font-body); }
.jd-input:focus { outline:none; border-color:var(--accent); }
textarea.jd-input { resize:vertical; }
.jd-file { color:#cfd4da; font-size:13px; }
.jd-crop { margin-top:12px; max-width:360px; }
.jd-crop img { max-width:100%; display:block; }
.jd-consent { display:flex; align-items:flex-start; gap:10px; margin:8px 0 4px; font-size:13px; color:#cfd4da; }
.jd-consent input { margin-top:3px; }
.jd-err { color:#ffb4a0; font-size:12px; }
.jd-submit { margin-top:24px; padding:13px 26px; border:1px solid var(--accent); background:var(--accent); color:#fff; font-size:11px; letter-spacing:.2em; text-transform:uppercase; cursor:pointer; }
.jd-submit:hover { background:var(--accent-bright); border-color:var(--accent-bright); }
.jd-thanks { max-width:620px; }
.jd-back { display:inline-block; margin-top:24px; color:var(--accent-bright); text-decoration:none; font-size:11px; letter-spacing:.18em; text-transform:uppercase; }
@media (max-width:760px) { .jd { padding:32px 18px 56px; } .jd-grid { grid-template-columns:1fr; } .jd-h1 { font-size:52px; } }
