/* BigData v20 - landing-style 2-step wizard and accessible exit-intent. */
.bd-lp-card { scroll-margin-top:110px; border:1px solid #b7def1; background:#fff; border-radius:29px; color:#193545; box-shadow:0 22px 66px rgba(6,35,58,.19); max-width:610px; overflow:hidden; }
.bd-lp-card [hidden] { display:none!important; }
.bd-lp-countdown { background:linear-gradient(145deg,#fff 0%,#f9fcff 100%); color:#315b6f; padding:24px 26px 8px; display:block; }
.bd-lp-priority-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.bd-lp-priority-top strong { color:#31566a; font-size:.72rem; letter-spacing:.115em; font-weight:880; line-height:1.35; }
.bd-lp-priority-top span { display:inline-flex; align-items:center; justify-content:center; background:#e1f5ff; border:1px solid #bce9ff; color:#056b9e; border-radius:40px; padding:9px 12px; white-space:nowrap; font-size:.66rem; font-weight:850; }
.bd-lp-time-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.bd-lp-time-cell { background:#f1f8fc; border:1px solid #dae9f1; border-radius:12px; min-height:67px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; }
.bd-lp-time-cell strong { color:#153949; font-size:clamp(1.18rem,1.8vw,1.51rem); line-height:1.15; font-weight:880; font-variant-numeric:tabular-nums; }
.bd-lp-time-cell small { color:#7a93a2; font-size:.49rem; font-weight:750; letter-spacing:.14em; }
.bd-lp-date { text-align:left; font-size:.65rem; line-height:1.55; font-weight:460; color:#668598; margin:12px 0 0; }
.bd-lp-form { display:block; padding:0 26px 25px; }
.bd-lp-form .bd-lp-progress { display:flex; align-items:center; gap:10px; padding-top:18px; margin-bottom:18px; }
.bd-lp-progress-bars { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); flex:1; gap:6px; }
.bd-lp-progress-bars span { height:4px; border-radius:8px; background:#dceaf3; }
.bd-lp-progress-bars span.is-active { background:linear-gradient(90deg,#048ecd,#2fb7f3); }
.bd-lp-progress b { color:#668496; white-space:nowrap; font-size:.68rem; font-weight:800; }
.bd-lead-step { min-width:0; }
.bd-lp-card .bd-lp-card-intro { padding:0 0 17px; }
.bd-lp-card .bd-lp-card-intro h2 { color:#142e3a; font-size:clamp(1.45rem,2vw,1.86rem); font-weight:870; line-height:1.15; letter-spacing:-.05em; margin:0 0 9px; }
.bd-lp-card .bd-lp-card-intro p { color:#638296; font-size:.82rem; line-height:1.5; }
.bd-lp-choice-field { border:0; margin:0 0 16px; padding:0; min-width:0; }
.bd-lp-choice-field legend { font-weight:780; color:#2b5063; font-size:.75rem; margin-bottom:9px; }
.bd-lp-choice-field legend small { font-size:.7rem; font-weight:480; color:#6f8a99; }
.bd-lp-choice-grid,.bd-lp-channel-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.bd-lp-tile { display:block; min-width:0; position:relative; cursor:pointer; }
.bd-lp-tile input { position:absolute; left:13px; top:50%; width:17px; height:17px; margin:0; transform:translateY(-50%); accent-color:#119ad3; z-index:1; }
.bd-lp-tile>span { width:100%; min-height:48px; display:flex; align-items:center; justify-content:flex-start; border:1px solid #d6e4eb; border-radius:13px; background:#f7fafc; color:#416175; font-size:.83rem; font-weight:740; padding:11px 12px 11px 40px; line-height:1.2; transition:background-color .2s,border-color .2s,box-shadow .2s; }
.bd-lp-tile input:checked + span { border-color:#77c7f6; background:#ebf7ff; color:#056ca5; }
.bd-lp-tile input:focus-visible + span { outline:3px solid #109fea; outline-offset:2px; }
.bd-lp-tile:hover > span { border-color:#6bbef1; }
.bd-lp-channel input { left:13px; opacity:0; width:calc(100% - 26px); height:calc(100% - 8px); }
.bd-lp-channel>span { padding:10px; justify-content:center; text-align:center; min-height:41px; border-radius:11px; font-size:.74rem; font-weight:760; }
.bd-lp-channel input:checked + span { box-shadow:inset 0 0 0 1px rgba(35,168,232,.1); }
.bd-lp-card .bd-lp-target { margin-bottom:16px; }
.bd-lp-card .bd-lp-target>span { margin-bottom:7px; color:#2c4d60; }
.bd-lp-card .bd-lp-target textarea { background:#fff; width:100%; border-radius:14px; border:1px solid #d8e4eb; font-size:.85rem; min-height:92px; padding:14px 15px; line-height:1.55; resize:vertical; }
.bd-lp-card .bd-lp-target textarea::placeholder { color:#9caeba; }
.bd-channel-help { font-size:.72rem; color:#aa2638; margin:7px 0 0; min-height:0; }
.bd-lp-extra { margin:2px 0 16px; border:1px solid #d8e8f2; border-radius:15px; background:#f9fcff; overflow:hidden; }
.bd-lp-extra summary { display:flex; gap:10px; align-items:center; min-height:63px; padding:11px 14px; background:transparent; color:#315469; font-size:.78rem; font-weight:780; }
.bd-lp-extra .bd-extra-optional { font-size:.55rem; font-weight:750; color:#859ba8; letter-spacing:.09em; margin-left:auto; }
.bd-lp-extra .bd-extra-plus { font-weight:650; color:#007eb7; font-size:1.38rem; }
.bd-lp-extra-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding:12px 15px 16px; background:white; }
.bd-lp-extra-fields .bd-lp-field-message { grid-column:1/-1; }
.bd-lead-wizard .bd-step-next,.bd-lead-wizard .bd-lp-submit { display:flex; align-items:center; justify-content:center; gap:8px; border:0; min-height:49px; border-radius:100px; background:linear-gradient(110deg,#2ab5e4,#0c87c4); color:white; box-shadow:0 10px 20px rgba(14,144,203,.17); font-size:.86rem; font-weight:850; width:100%; text-decoration:none; padding:10px 14px; }
.bd-lead-wizard .bd-step-next span,.bd-lead-wizard .bd-lp-submit span { font-size:1.22rem; font-weight:450; }
.bd-lead-wizard .bd-step-next:hover,.bd-lead-wizard .bd-lp-submit:hover { background:linear-gradient(110deg,#169dd3,#0976b5); }
.bd-lp-trust { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:6px 17px; margin:12px 0 0; color:#738d9b; font-size:.63rem; font-weight:680; }
.bd-lp-trust span::first-letter { color:#008f87; }
.bd-lead-person-grid,.bd-lead-contact-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.bd-lead-contact-grid { display:grid; gap:11px; }
.bd-lead-wizard .bd-lp-field { gap:6px; }
.bd-lead-wizard .bd-lp-field>span { color:#2c4c5f; font-size:.75rem; }
.bd-lead-wizard .bd-lp-field input:not([type="radio"]):not([type="checkbox"]),.bd-lead-wizard .bd-lp-field select,.bd-lead-wizard .bd-lp-field textarea { border-radius:12px; min-height:47px; font-size:.87rem; background:#fff; border-color:#d7e4eb; padding:11px 13px; }
.bd-lead-wizard .bd-lp-field input:focus,.bd-lead-wizard .bd-lp-field textarea:focus { border-color:#148dcc; }
.bd-lead-person-grid { margin-bottom:12px; }
.bd-lead-wizard .consents { margin:13px 0 0; background:#f9fcfe; border:1px solid #e1edf4; border-radius:14px; padding:14px 13px; }
.bd-lead-wizard .privacy-required { font-size:.7rem; line-height:1.6; }
.bd-lead-wizard .marketing-consent { margin-top:7px; }
.bd-lead-wizard .marketing-consent p { font-size:.69rem; margin:9px 0; line-height:1.5; }
.bd-lead-wizard .radio-options { gap:15px; }
.bd-lead-wizard .radio-options label { min-height:35px; }
.bd-lead-actions { display:grid; grid-template-columns:1fr 1.35fr; gap:9px; align-items:stretch; margin-top:14px; }
.bd-lead-wizard .bd-step-prev { background:#fff; border:1px solid #d5e4ec; border-radius:100px; font-weight:790; color:#21475d; font-size:.81rem; cursor:pointer; }
.bd-lead-wizard .bd-step-prev:hover { background:#f4fbff; }
.bd-lead-wizard .bd-lp-send-note { font-size:.65rem; line-height:1.5; color:#829aa6; margin:10px 0 0; }
.bd-lead-wizard .form-feedback { margin-top:8px; }
.bd-lead-wizard .form-feedback:empty { display:none; }
/* Landing wizard inside the narrower desktop drawer. */
.lead-drawer .bd-lp-drawer-shell { padding:13px 12px 24px; }
.lead-drawer .bd-lp-card { border-radius:19px; }
.lead-drawer .bd-lp-countdown { padding:16px 16px 5px; }
.lead-drawer .bd-lp-form { padding:0 16px 18px; }
.lead-drawer .bd-lp-card .bd-lp-card-intro h2 { font-size:1.38rem; }
/* Restore approved home illustration and do NOT show any lead form in its hero. */
.page-home .hero { padding:142px 0 35px; min-height:760px; min-height:100svh; }
.page-home .hero-layout { grid-template-columns:minmax(0,1fr) minmax(340px,.94fr); gap:1vw; align-items:center; min-height:calc(100svh - 245px); }
.page-home .hero-copy { padding:40px 0 25px; }
.page-home .hero h1 { font-size:clamp(3.1rem,5.5vw,6.4rem); margin:34px 0 30px; }
.page-home .hero-graphic { display:grid; min-height:535px; }
.page-home .hero-bottom { margin-top:15px; }
.page-home .lead-feature #richiedi { scroll-margin-top:95px; }
/* Modal based on the landing screenshot: one discreet opportunity before leaving. */
.bd-exit-overlay[hidden] { display:none!important; }
.bd-exit-overlay { position:fixed; inset:0; z-index:210; display:flex; align-items:center; justify-content:center; background:rgba(22,39,51,.42); backdrop-filter:blur(9px); padding:18px; }
body.bd-exit-open { overflow:hidden; }
.bd-exit-dialog { position:relative; background:#fff; width:min(100%,565px); color:#182e3b; border:1px solid #d6e9f3; border-radius:25px; padding:28px; box-shadow:0 26px 88px rgba(0,20,38,.32); }
.bd-exit-close { position:absolute; right:16px; top:16px; display:grid; place-items:center; border:1px solid #dbe7ec; width:39px; height:39px; border-radius:50%; color:#304e5d; background:#f7fbfe; font-size:1.22rem; cursor:pointer; }
.bd-exit-eyebrow { font-size:.65rem; letter-spacing:.15em; font-weight:880; color:#007bac; margin:0 0 12px; }
.bd-exit-dialog h2 { margin:0 28px 10px 0; font-size:clamp(1.48rem,2.5vw,2.1rem); line-height:1.15; letter-spacing:-.052em; color:#17303e; }
.bd-exit-dialog>p:not(.bd-exit-eyebrow) { color:#6c8798; font-size:.88rem; line-height:1.5; margin:0 0 16px; }
.bd-exit-input-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:8px; align-items:stretch; }
.bd-exit-input-row textarea { border:1px solid #d9e6ed; border-radius:13px; min-height:50px; height:50px; resize:none; padding:13px 14px; font:inherit; font-size:.85rem; color:#24485e; min-width:0; background:#f8fbfd; }
.bd-exit-input-row textarea:focus { outline:3px solid rgba(35,168,224,.19); border-color:#0b94d6; }
.bd-exit-input-row button { background:linear-gradient(105deg,#29b3e5,#0586c5); border:0; border-radius:100px; color:white; padding:10px 22px; white-space:nowrap; font-size:.84rem; font-weight:830; cursor:pointer; }
@media(max-width:1100px) {
 .page-home .hero-layout { grid-template-columns:1fr; }
 .page-home .hero { min-height:auto; }
 .page-home .hero-layout { min-height:0; }
 .page-home .hero-graphic { min-height:460px; max-width:580px; width:100%; margin:auto; }
}
@media(max-width:767px) {
 .bd-lp-card { border-radius:22px; scroll-margin-top:91px; }
 .bd-lp-countdown { padding:18px 16px 7px; }
 .bd-lp-form { padding:0 16px 19px; }
 .bd-lp-time-cell { min-height:56px; }
 .bd-lp-card .bd-lp-card-intro h2 { font-size:1.5rem; }
 .bd-lp-priority-top strong { font-size:.61rem; }
 .bd-lp-priority-top span { font-size:.59rem; padding:8px; }
 .bd-lp-time-cell strong { font-size:1.3rem; }
 .bd-lp-choice-grid { gap:8px; }
 .bd-lp-tile>span { font-size:.74rem; }
 .page-home .hero { padding:105px 0 24px; }
 .page-home .hero-copy { padding:0; }
 .page-home .hero h1 { font-size:clamp(2.45rem,9.2vw,4.1rem); margin:17px 0 20px; }
 .page-home .hero-graphic { min-height:330px; }
 .page-home .hero-bottom { margin-top:20px; }
}
@media(max-width:410px) {
 .bd-lp-countdown { padding:15px 12px 7px; }
 .bd-lp-form { padding:0 12px 17px; }
 .bd-lp-time-grid { gap:6px; }
 .bd-lp-time-cell { min-height:56px; border-radius:9px; }
 .bd-lp-priority-top { margin-bottom:13px; }
 .bd-lp-priority-top strong { font-size:.57rem; }
 .bd-lp-priority-top span { font-size:.54rem; padding:6px 8px; }
 .bd-lp-tile>span { padding:8px 6px 8px 32px; font-size:.71rem; }
 .bd-lp-tile input { left:9px; }
 .bd-lp-channel>span { padding:9px 4px; font-size:.7rem; }
 .bd-lp-extra-fields { grid-template-columns:1fr; }
 .bd-lead-actions { grid-template-columns:.85fr 1.45fr; }
 .bd-lead-wizard .bd-lp-submit { font-size:.72rem; }
 .bd-lead-wizard .bd-step-prev { font-size:.75rem; }
}
@media(max-width:520px) {
 .bd-exit-dialog { padding:22px 18px; }
 .bd-exit-input-row { grid-template-columns:1fr; }
 .bd-exit-input-row textarea { min-height:72px; }
 .bd-exit-input-row button { min-height:46px; }
 .bd-lp-trust { font-size:.6rem; }
 .bd-lead-person-grid,.bd-lead-contact-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .bd-lead-wizard .bd-lp-field input:not([type="checkbox"]):not([type="radio"]) { font-size:16px; }
}
@media(prefers-reduced-motion: reduce) { .bd-lp-tile>span { transition:none; } .bd-exit-overlay { backdrop-filter:none; } }

/* Keep the mobile dock out of the way while the actual contact form is visible. */
@media(max-width:767px){
 .mobile-contact-dock{transition:transform .22s ease,visibility .22s ease;}
 .mobile-contact-dock.bd-dock-form-visible{transform:translateY(calc(100% + 8px));visibility:hidden;pointer-events:none;}
}
