.demo-intro{text-align:center;margin:0 auto clamp(2rem,4vw,3rem)}.page-hero .demo-intro h1{text-wrap:balance;max-width:24ch;margin-inline:auto}.demo-intro .hero-lead{max-width:44rem;margin-inline:auto}.demo-prepare-title{font-size:1.25rem}.demo-contact{gap:.7rem;margin-bottom:2rem;display:grid}.demo-contact-card{border:1px solid var(--line);color:inherit;background:#fff;border-radius:1rem;align-items:center;gap:.85rem;padding:.85rem 1rem;text-decoration:none;transition:border-color .2s,box-shadow .2s;display:flex}a.demo-contact-card:hover{border-color:#2f6bff66;box-shadow:0 8px 24px #1d397814}.demo-contact-icon{background:linear-gradient(135deg, var(--blue), var(--violet));color:#fff;border-radius:.8rem;flex-shrink:0;place-items:center;width:2.6rem;height:2.6rem;display:grid}.demo-contact-body small{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:.15rem;font-size:.66rem;font-weight:800;display:block}.demo-contact-body strong{color:var(--ink);font-size:.95rem;line-height:1.3}.demo-layout{grid-template-columns:.75fr 1.25fr;align-items:start;gap:5rem;display:grid}.location-map{margin-top:clamp(2.5rem,5vw,4rem);position:relative}.location-map-canvas{z-index:0;border:1px solid var(--line);background:#eef3ff;border-radius:1.4rem;height:clamp(320px,45vw,460px);position:relative;overflow:hidden}.location-map .location-pin{background:0 0;border:0}.location-map-card{z-index:1;border:1px solid var(--line);max-width:15rem;box-shadow:var(--shadow);background:#fff;border-radius:1rem;padding:1.1rem 1.3rem;position:absolute;bottom:1.5rem;left:1.5rem}.location-map-card strong{color:var(--navy);margin-bottom:.4rem;font-size:1.05rem;display:block}.location-map-card p{color:var(--muted);margin:0 0 .7rem;font-size:.9rem;line-height:1.45}.location-map-card a{color:var(--blue-dark);font-size:.9rem;font-weight:700;text-decoration:none}@media (max-width:560px){.location-map-card{max-width:none;box-shadow:none;margin-top:1rem;position:static}}.prepare-list{padding:0;list-style:none}.prepare-list li{border-top:1px solid var(--line);color:#556079;padding:1rem 0}.prepare-list li:before{content:"→";color:var(--blue);margin-right:.7rem;font-weight:900}.demo-form{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:1.8rem;padding:clamp(1.4rem,4vw,2.5rem)}.field{margin-bottom:1.3rem}.field label{margin-bottom:.45rem;font-weight:800;display:block}.field input,.field select,.field textarea{width:100%;color:var(--ink);background:#fbfcff;border:1px solid #b8c3da;border-radius:.8rem;padding:.8rem .9rem}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);outline:3px solid #2f6bff2e}.field [aria-invalid=true]{border-color:#b3261e}.field-error,.field-help{margin-top:.35rem;font-size:.75rem;display:block}.field-error{color:#a51f19;font-weight:700}.field-help{color:var(--muted)}.field-check{align-items:center;gap:.65rem;display:flex}.field-check input{width:20px;height:20px;accent-color:var(--brand);flex:none}.field-check label{align-items:center;min-height:44px;margin-bottom:0;font-size:.92rem;font-weight:500;line-height:1.4;display:flex}.form-reassurance{color:var(--muted);margin:.9rem 0 0;font-size:.82rem}.demo-confirm{box-shadow:var(--shadow);text-align:center;background:#fff;border:1px solid #0255e84d;border-radius:1.8rem;padding:clamp(1.75rem,4vw,3rem)}.demo-confirm:focus-visible{outline:3px solid var(--violet);outline-offset:4px}.demo-confirm-mark{background:var(--soft);width:52px;height:52px;color:var(--brand);border-radius:50%;place-items:center;margin:0 auto 1rem;font-size:1.5rem;font-weight:800;display:grid}.demo-confirm h2{margin-bottom:.75rem;font-size:clamp(1.4rem,3vw,1.9rem)}.demo-confirm .text-link{cursor:pointer;background:0 0;border:0;margin-top:1rem}.demo-form button{cursor:pointer;border:0}.demo-form button:disabled{opacity:.7;cursor:wait}.form-status{margin:.8rem 0 0;font-size:.78rem}.form-status.error{color:#a51f19}.form-status.success{color:#17643a}.hp-field{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.cf-turnstile{margin-bottom:1rem}@media (max-width:980px){.demo-layout{grid-template-columns:1fr;gap:2rem}}
