.spq-calculator,.spq-calculator *{box-sizing:border-box}.spq-calculator{--navy:#001749;--navy2:#104d64;--teal:#2988a7;--orange:#f2792b;--purple:#ca25e9;--text:#213454;--muted:#6c7890;--line:#dfe8f1;--sky:#effafd;max-width:920px;margin:auto;padding:30px;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:0 24px 70px rgba(0,23,73,.12);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--text);line-height:1.55}.spq-header h2,.spq-lead-form h3,.spq-result h3{margin:7px 0;color:var(--navy);line-height:1.12}.spq-header h2{font-size:clamp(28px,4vw,42px)}.spq-header p{color:var(--muted)}.spq-eyebrow{color:var(--purple);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.spq-field{min-width:0}.spq-full{grid-column:1/-1}.spq-field label{display:block;margin-bottom:8px;color:var(--navy);font-size:13px;font-weight:850}.spq-field small{display:block;margin-top:6px;color:var(--muted);font-size:11px}.spq-calculator input,.spq-calculator select{width:100%;height:49px;padding:0 13px;border:1px solid #d6e2ec;border-radius:10px;background:#fff;color:var(--text);font:inherit}.spq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.spq-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.spq-tabs button{min-height:50px;padding:8px 14px;border:1px solid #d6e2ec;border-radius:11px;background:#fff;color:var(--navy);font-weight:850;cursor:pointer}.spq-tabs button.is-active{background:var(--navy);border-color:var(--navy);color:#fff}.spq-panel{display:none;margin-top:20px}.spq-panel.is-active{display:block}.spq-common{margin-top:20px}.spq-notice{margin-bottom:18px;padding:15px 17px;border-radius:13px;background:var(--sky)}.spq-section{padding:18px;border:1px solid var(--line);border-radius:16px;margin-top:13px}.spq-section h3{margin:0 0 14px;font-size:16px}.spq-preview{margin-top:24px;padding:18px;border-radius:17px;background:#f7fafc;display:flex;justify-content:space-between;align-items:center;gap:20px}.spq-preview span{display:block;color:var(--muted);font-size:12px}.spq-preview strong{display:block;margin-top:3px;color:var(--navy)}.spq-primary,.spq-secondary{min-height:50px;padding:0 20px;border:1px solid transparent;border-radius:11px;font:inherit;font-weight:850;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.spq-primary{background:var(--orange);color:#fff}.spq-secondary{background:#fff;color:var(--navy);border-color:#00174935}.spq-lead-form{margin-top:24px;padding:24px;border-radius:20px;background:#f9fbfd;border:1px solid var(--line)}.spq-lead-form form{margin-top:18px}.spq-consent{display:flex!important;gap:9px;align-items:flex-start;margin:16px 0;font-size:12px!important;font-weight:500!important}.spq-consent input{width:auto;height:auto;margin-top:3px}.spq-honeypot{position:absolute!important;left:-9999px!important}.spq-submit{width:100%}.spq-message{margin-top:10px;font-size:13px}.spq-message.is-error{color:#a71919}.spq-result{margin-top:25px;padding:26px;border-radius:22px;color:#fff;background:linear-gradient(120deg,var(--navy),var(--navy2))}.spq-result h3{color:#fff}.spq-result .spq-eyebrow{color:#82e6f3}.spq-price{margin-top:22px;padding:20px;border:1px solid #ffffff20;background:#ffffff0c;border-radius:16px}.spq-price span,.spq-price small{display:block;color:#bdeaf3}.spq-price strong{display:block;margin:5px 0;font-size:clamp(38px,7vw,58px)}.spq-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.spq-metrics>div,.spq-detail{padding:14px;border:1px solid #ffffff20;border-radius:13px;background:#ffffff0b}.spq-metrics span{display:block;color:#bdeaf3;font-size:11px}.spq-result-details{display:grid;gap:10px;margin:15px 0}.spq-detail span{font-size:13px;color:#d9edf2}.spq-result .spq-secondary{background:transparent;color:#fff;border-color:#ffffff55}@media(max-width:700px){.spq-calculator{padding:21px}.spq-tabs,.spq-grid,.spq-metrics{grid-template-columns:1fr}.spq-preview{align-items:stretch;flex-direction:column}.spq-preview button{width:100%}}

/* v1.1 layout refinements */
.spq-header{margin-bottom:30px}
.spq-header p{margin-bottom:0}
.spq-lead-form>.spq-eyebrow{display:block;margin-bottom:7px}
.spq-lead-form h3{margin-top:0}
.spq-lead-intro{margin:8px 0 0;color:var(--muted);font-size:14px}
.spq-success-modal{position:fixed;inset:0;z-index:999999;display:grid;place-items:center;padding:20px;background:rgba(0,23,73,.62);backdrop-filter:blur(5px)}
.spq-success-modal[hidden]{display:none!important}
.spq-success-dialog{position:relative;width:min(480px,100%);padding:34px;border-radius:24px;background:#fff;box-shadow:0 30px 90px rgba(0,23,73,.35);text-align:center}
.spq-success-dialog h3{margin:12px 0 8px;color:var(--navy);font-size:28px}
.spq-success-dialog p{margin:0 0 22px;color:var(--muted)}
.spq-success-icon{width:64px;height:64px;margin:auto;display:grid;place-items:center;border-radius:50%;background:#e9faf5;color:#15906b;font-size:32px;font-weight:900}
.spq-success-close{position:absolute;top:12px;right:14px;width:38px;height:38px;border:0;background:transparent;color:var(--muted);font-size:28px;cursor:pointer}
.spq-success-ok{width:100%}
body.spq-modal-open{overflow:hidden}

/* v1.2 spacing and label refinements requested by ALP Web Design */
.spq-field.spq-full{margin-top:20px}
.spq-tabs{margin-top:15px}
.spq-field label{font-size:15px}

/* v1.3 interaction refinements */
.spq-primary,.spq-secondary,.spq-tabs button{transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}
.spq-primary:hover,.spq-secondary:hover,.spq-tabs button:hover{background:#36CFF8!important;border-color:#36CFF8!important;color:#001749!important;transform:translateY(-1px)}
.spq-calculator input:focus,.spq-calculator textarea:focus,.spq-calculator select:focus{outline:none;border-color:#f2792b!important;box-shadow:0 0 0 3px rgba(242,121,43,.14)}
.spq-processing{margin-top:20px;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:18px;background:#f8fbfd;text-align:center;color:var(--navy)}
.spq-processing[hidden]{display:none!important}.spq-processing span{color:var(--muted);font-size:13px}
.spq-spinner{width:38px;height:38px;border:4px solid #dceff5;border-top-color:#f2792b;border-radius:50%;animation:spq-spin .75s linear infinite}
@keyframes spq-spin{to{transform:rotate(360deg)}}
.spq-submit.is-loading{position:relative;opacity:.78;cursor:wait}
