.ajm2-box { --ajm-accent:#006600; box-sizing:border-box; max-width:850px; margin:32px auto; padding:clamp(20px,4vw,38px); border:1px solid #dedede; border-radius:18px; background:#fff; color:#161616; font:inherit; scroll-margin-top:24px; }
.ajm2-box *, .ajm2-box *::before, .ajm2-box *::after { box-sizing:border-box; }
.ajm2-heading { margin-bottom:28px; }
.ajm2-eyebrow { color:var(--ajm-accent); font-size:12px; font-weight:750; letter-spacing:.1em; }
.ajm2-heading h2 { margin:8px 0 12px; font-size:clamp(26px,5vw,34px); line-height:1.2; color:#111; }
.ajm2-heading p, .ajm2-documents>p { margin:0; color:#575757; font-size:15px; line-height:1.65; }
.ajm2-form { margin:0 !important; padding:0 !important; border:0 !important; background:none !important; }
.ajm2-fields { display:grid; gap:22px; }
.ajm2-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.ajm2-group { min-width:0; padding:0; margin:0; border:0; }
.ajm2-group legend, .ajm2-field>label { display:block; padding:0; margin:0 0 8px; color:#202020; font-size:15px; font-weight:650; line-height:1.5; }
.ajm2-radios { display:flex; gap:12px 24px; flex-wrap:wrap; }
.ajm2-radios label { display:inline-flex; align-items:center; gap:8px; font-size:16px; color:#303030; font-weight:400; cursor:pointer; }
.ajm2-radios input[type=radio] { appearance:auto; -webkit-appearance:radio; width:20px; height:20px; margin:0; accent-color:var(--ajm-accent); }
.ajm2-field { min-width:0; }
.ajm2-field input:not([type=radio]) { display:block !important; position:relative; width:100%; max-width:100%; min-width:0; min-height:50px; border:1px solid #c9c9c9; border-radius:9px; padding:12px; background:#fff; color:#111; font:inherit; font-size:16px; line-height:1.5; opacity:1 !important; visibility:visible !important; pointer-events:auto !important; }
.ajm2-field input:focus-visible, .ajm2-radios input:focus-visible, .ajm2-submit:focus-visible { outline:3px solid #78ab78; outline-offset:3px; }
.ajm2-field input[type=file] { padding:8px; font-size:14px; overflow:hidden; text-overflow:ellipsis; appearance:auto; -webkit-appearance:auto; }
.ajm2-field input::file-selector-button { margin-right:10px; padding:8px 12px; border:0; border-radius:6px; background:#f0f0f0; color:#202020; cursor:pointer; font:inherit; }
.ajm2-documents { display:grid; gap:18px; margin-top:4px; padding-top:22px; border-top:1px solid #e7e7e7; }
.ajm2-documents h3 { margin:0; color:#111; font-size:21px; }
.ajm2-selected { display:block; margin-top:6px; color:#555; font-size:13px; overflow-wrap:anywhere; }
.ajm2-selected:empty { display:none; }
.ajm2-field-error { display:block; margin-top:6px; color:#a61b1b; font-size:14px; line-height:1.5; }
.ajm2-field-error:empty { display:none; }
.ajm2-form [aria-invalid=true] { border-color:#b3261e !important; outline:2px solid #f1cdca; outline-offset:1px; }
.ajm2-required { margin:0; color:#666; font-size:13px; }
.ajm2-message { margin:20px 0; padding:16px 18px; border:1px solid #ccc; border-radius:10px; font-size:16px; line-height:1.6; color:#242424; overflow-wrap:anywhere; }
.ajm2-message[data-state=error] { background:#fff0ee; border-color:#d49089; color:#8d1d16; }
.ajm2-message[data-state=success] { background:#edf7ed; border-color:#82b382; color:#164516; }
.ajm2-message[data-state=progress] { background:#f4f4f4; border-color:#c9c9c9; color:#333; }
.ajm2-box [hidden], .ajm2-message[hidden] { display:none !important; }
.ajm2-form .ajm2-submit { display:block; width:100%; min-height:54px; margin:22px 0 0 !important; border:0; border-radius:28px; padding:14px 20px; background:var(--ajm-accent); color:#fff; font:inherit; font-size:17px; line-height:1.5; font-weight:750; text-transform:none; cursor:pointer; white-space:normal; }
.ajm2-submit:disabled { opacity:.7; cursor:default; }
.ajm2-help { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; margin:16px 0 0; font-size:13px; line-height:1.5; color:#666; }
.ajm2-help a { color:#335e33; text-decoration:underline; }
.ajm2-hp { position:absolute !important; left:-10000px !important; top:auto !important; height:1px !important; width:1px !important; overflow:hidden !important; }
.ajm2-standalone { margin:0; background:#f7f8f7; font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.ajm2-standalone main { max-width:900px; margin:0 auto; padding:12px; }
.ajm2-standalone main>p { margin:20px; }
@media(max-width:600px) { .ajm2-grid { grid-template-columns:1fr; gap:20px; } .ajm2-box { margin:20px 0; padding:20px 16px; border-radius:14px; } .ajm2-standalone .ajm2-box { margin:6px 0 24px; } .ajm2-help { display:block; } .ajm2-help span { display:block; margin-top:4px; } }
@media(prefers-reduced-motion:reduce) { .ajm2-box * { scroll-behavior:auto !important; } }
