body.sp-lock{overflow:hidden}.sp-overlay{position:fixed;inset:0;z-index:1100;display:flex;justify-content:flex-end}.sp-overlay[hidden]{display:none}.sp-backdrop{position:absolute;inset:0;background:#0808088c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .4s ease}.sp-overlay.is-open .sp-backdrop{opacity:1}.sp-panel{position:relative;height:100%;width:min(448px,92vw);background:var(--charcoal);border-left:1px solid var(--line);box-shadow:-30px 0 80px #00000080;padding:30px 30px 26px;overflow-y:auto;overflow-x:hidden;color:#fff;transform:translate(100%);transition:transform .5s cubic-bezier(.16,1,.3,1);-webkit-overflow-scrolling:touch}.sp-overlay.is-open .sp-panel{transform:translate(0)}.sp-accent{position:absolute;top:0;left:0;width:2px;height:100%;background:linear-gradient(to bottom,var(--red),transparent 55%)}.sp-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.sp-eyebrow{display:inline-flex;align-items:center;gap:9px;font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--red)}.sp-led{width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 8px #22c55e;animation:ledPulse 1.6s ease-in-out infinite}.sp-close{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line);background:transparent;color:#ffffffb3;cursor:pointer;transition:border-color .25s ease,color .25s ease,transform .25s ease}.sp-close:hover{border-color:var(--red);color:#fff;transform:rotate(90deg)}.sp-title{font-family:var(--display);font-weight:700;font-size:34px;line-height:1.02;letter-spacing:-.02em;margin:0 0 12px}.sp-sub{font-family:var(--body);font-size:14px;font-weight:300;line-height:1.6;color:#ffffffa8;margin:0 0 24px}.sp-direct{display:grid;gap:10px;margin-bottom:22px}.sp-direct-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:13px 15px;border:1px solid var(--line);background:var(--charcoal-2);text-decoration:none;transition:border-color .25s ease,background .25s ease,transform .25s ease}.sp-direct-row:hover{border-color:#e3061380;background:var(--steel);transform:translate(2px)}.sp-direct-k{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--grey)}.sp-direct-v{font-family:var(--body);font-size:14px;color:#fff}.sp-direct-arrow{color:var(--red);font-size:14px}.sp-or{display:flex;align-items:center;gap:14px;margin:6px 0 20px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#ffffff6b}.sp-or:before,.sp-or:after{content:"";height:1px;flex:1;background:var(--line)}.sp-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.sp-field{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.sp-field label{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--grey)}.sp-opt{color:#ffffff52;letter-spacing:.08em}.sp-field input,.sp-field textarea,.sp-select select{width:100%;font-family:var(--body);font-size:14px;color:#fff;background:var(--charcoal-2);border:1px solid var(--line);padding:12px 14px;border-radius:0;-webkit-appearance:none;appearance:none;color-scheme:dark;transition:border-color .25s ease,box-shadow .25s ease}.sp-field textarea{resize:vertical;min-height:76px;line-height:1.5}.sp-field input::placeholder,.sp-field textarea::placeholder{color:#ffffff57}.sp-field input:focus,.sp-field textarea:focus,.sp-select select:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px var(--red-soft)}.sp-field input[aria-invalid=true],.sp-field textarea[aria-invalid=true]{border-color:var(--red)}.sp-select{position:relative}.sp-select select{padding-right:38px;cursor:pointer}.sp-select-arrow{position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--grey);font-size:12px}.sp-select select option{background:var(--charcoal);color:#fff}.sp-error{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--red);margin:0 0 12px}.sp-submit{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:4px;padding:14px 22px;background:var(--red);color:#fff;border:1px solid var(--red);font-family:var(--body);font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .25s ease,color .25s ease,box-shadow .25s ease,border-color .25s ease}.sp-submit:hover{background:#fff;color:var(--black);border-color:#fff;box-shadow:0 10px 34px var(--red-glow)}.sp-submit .arrow{font-size:14px;transition:transform .25s ease}.sp-submit:hover .arrow{transform:translate(4px)}.sp-fine{font-family:var(--body);font-size:11px;color:#ffffff73;line-height:1.5;margin:14px 0 0;text-align:center}.sp-success{padding:30px 4px;text-align:center}.sp-success-led{display:inline-block;width:10px;height:10px;border-radius:50%;background:#22c55e;box-shadow:0 0 14px #22c55e;margin-bottom:18px}.sp-success h3{font-family:var(--display);font-weight:700;font-size:26px;letter-spacing:-.02em;margin:0 0 12px}.sp-success p{font-family:var(--body);font-size:14px;font-weight:300;line-height:1.6;color:#ffffffa8;margin:0 0 22px}.sp-success-close{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#fff;background:transparent;border:1px solid var(--line);padding:11px 22px;cursor:pointer;transition:border-color .25s ease}.sp-success-close:hover{border-color:var(--red)}.sp-foot{display:flex;gap:36px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}.sp-foot-cell{display:flex;flex-direction:column;gap:4px}.sp-foot-k{font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--grey)}.sp-foot-v{font-family:var(--mono);font-size:13px;color:#fff;letter-spacing:.04em}@media (max-width: 420px){.sp-grid{grid-template-columns:1fr}.sp-panel{padding:26px 22px 22px}}@media (pointer: coarse) and (hover: none){.sp-field input,.sp-field textarea,.sp-select select{font-size:16px}}@media (prefers-reduced-motion: reduce){.sp-led,.sp-success-led{animation:none}.sp-panel,.sp-backdrop,.sp-direct-row,.sp-close,.sp-submit,.sp-success-close{transition:none}}@supports (padding: max(0px,env(safe-area-inset-bottom))){.sp-panel{padding-bottom:max(26px,env(safe-area-inset-bottom))}}
