/* ADS4 (Nov 2026): "Book a demo / Request a call back" form.
   External stylesheet on purpose: 'self' is allowed by style-src, so the
   page's hashed <style> block (and its CSP hash) is untouched.
   A data-entry form: light surface, no panel card, no animation (DESIGN.md). */
.demo-sec{background:var(--tint,#EFF2F6);padding:84px 0;border-top:1px solid var(--line,#E5E7EB)}
.demo-sec .wrap{max-width:1180px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:start}
.demo-sec h2{font-family:Calibri,'Carlito',sans-serif;font-weight:700;font-size:2rem;line-height:1.15;color:var(--ink,#0A2342);margin:8px 0 14px}
.demo-sec .demo-eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink,#1B7D45);margin:0}
.demo-sec .demo-intro p{color:#4B5568;font-size:1.02rem;line-height:1.6;margin:0 0 12px}
.demo-sec .demo-intro ul{margin:14px 0 0;padding:0;list-style:none}
.demo-sec .demo-intro li{position:relative;padding-left:22px;margin:0 0 9px;color:var(--ink,#0A2342);font-size:.98rem}
.demo-sec .demo-intro li::before{content:"";position:absolute;left:0;top:.45em;width:10px;height:10px;border-radius:2px;background:var(--accent,#27AE60)}
.demo-form{background:#fff;border:1px solid #D2D8E2;border-radius:10px;padding:28px;box-shadow:0 1px 2px rgba(10,35,66,.05),0 8px 24px rgba(10,35,66,.06)}
.demo-form fieldset{border:0;padding:0;margin:0 0 18px}
.demo-form legend{font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink,#0A2342);margin-bottom:8px}
.demo-kind{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.demo-kind label{display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 14px;border:1.5px solid #D2D8E2;border-radius:8px;cursor:pointer;font-weight:700;color:var(--ink,#0A2342);transition:border-color .15s,background .15s}
.demo-kind label:hover{border-color:#8A93A6}
.demo-kind input{accent-color:#0A2342;width:18px;height:18px;margin:0}
.demo-kind label:has(input:checked){border-color:#0A2342;background:#EFF2F6}
.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.demo-field{display:block;margin:0}
.demo-field.full{grid-column:1/-1}
.demo-field span{display:block;font-size:.85rem;font-weight:700;color:var(--ink,#0A2342);margin-bottom:5px}
.demo-field span em{font-style:normal;font-weight:400;color:#4B5568}
.demo-field input,.demo-field select,.demo-field textarea{width:100%;box-sizing:border-box;font:inherit;font-size:1rem;color:var(--ink,#0A2342);background:#fff;border:1.5px solid #D2D8E2;border-radius:6px;padding:11px 12px;min-height:46px}
.demo-field textarea{min-height:84px;resize:vertical}
.demo-field input:focus,.demo-field select:focus,.demo-field textarea:focus{outline:none;border-color:#17687B;box-shadow:0 0 0 3px rgba(23,104,123,.18)}
.demo-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.demo-submit{margin-top:20px;width:100%;min-height:50px;border:0;border-radius:6px;background:var(--accent,#27AE60);color:#fff;font:inherit;font-weight:700;font-size:.92rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .15s}
.demo-submit:hover{background:#1F9954}
.demo-submit:disabled{opacity:.6;cursor:default}
.demo-fine{font-size:.82rem;color:#4B5568;margin:12px 0 0;line-height:1.5}
.demo-fine a{color:var(--ink,#0A2342)}
.demo-msg{margin:14px 0 0;padding:12px 14px;border-radius:6px;font-size:.95rem;line-height:1.5}
.demo-msg[hidden]{display:none}
.demo-msg.ok{background:#E8F6EE;color:#14532D;border:1px solid #A7DDBE}
.demo-msg.err{background:#FDECEC;color:#7F1D1D;border:1px solid #F5B5B5}
@media(max-width:860px){.demo-sec .wrap{grid-template-columns:1fr;gap:28px;padding:0 22px}.demo-grid{grid-template-columns:1fr}.demo-sec{padding:60px 0}}
@media(max-width:420px){.demo-kind{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.demo-kind label,.demo-submit{transition:none}}
