.sar-genie { position:relative; left:calc(((100vw - 100%) / 2) * -1); width:100vw; box-sizing:border-box; padding:90px max(24px, calc((100vw - 1170px) / 2)); overflow:hidden; background:linear-gradient(145deg,#f4f7fc 0%,#e2eaf6 100%); color:#143950; }
.sar-genie:before,.sar-genie:after { content:""; position:absolute; width:280px; height:280px; border-radius:35%; background:rgba(140,172,218,.1); transform:rotate(24deg); }
.sar-genie:before { left:-170px; top:12%; }.sar-genie:after { right:-190px; bottom:8%; }
.sar-genie__intro { position:relative; z-index:1; max-width:720px; margin:0 auto 36px; text-align:center; }.sar-genie__intro h2 { margin:8px 0 12px; font-size:clamp(34px,5vw,56px); }.sar-genie__intro p { margin:0; color:#4f6a7c; font-size:19px; }
.sar-genie__eyebrow,.sar-genie__pill { display:inline-flex; padding:8px 14px; border-radius:100px; background:#e2eaf6; color:#0069ff; font-weight:650; font-size:13px; letter-spacing:.04em; text-transform:uppercase; }
.sar-genie__shell { position:relative; z-index:1; max-width:980px; margin:auto; }.sar-genie__progress { display:flex; list-style:none; padding:0 40px; margin:0 0 24px; counter-reset:none; }.sar-genie__progress li { position:relative; flex:1; display:flex; flex-direction:column; align-items:center; gap:7px; color:#899ca7; font-weight:600; text-align:center; }.sar-genie__progress li:not(:last-child):after { content:""; position:absolute; top:17px; left:calc(50% + 22px); width:calc(100% - 44px); height:2px; background:#cbd8e8; }.sar-genie__progress span { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; border:2px solid #cbd8e8; background:#f4f7fc; z-index:1; }.sar-genie__progress .is-active,.sar-genie__progress .is-complete { color:#143950; }.sar-genie__progress .is-active span { border-color:#0069ff; color:#0069ff; box-shadow:0 0 0 5px rgba(0,105,255,.1); }.sar-genie__progress .is-complete span { border-color:#143950; background:#143950; color:white; }.sar-genie__progress .is-complete:not(:last-child):after { background:#143950; }
.sar-genie__panel { background:#fff; border:1px solid rgba(140,172,218,.25); box-shadow:0 22px 70px rgba(20,57,80,.13); border-radius:30px; overflow:hidden; }.sar-genie__form { max-width:760px; margin:auto; padding:clamp(28px,6vw,64px); }.sar-genie__screen { display:none; animation:sarFade .35s ease; }.sar-genie__screen.is-active { display:block; }.sar-genie__screen-head { margin-bottom:30px; }.sar-genie__screen h3 { margin:14px 0 8px; font-size:clamp(27px,4vw,38px); }.sar-genie__screen-head p,.sar-genie__loading p,.sar-genie__screen[data-screen="contact"]>p,.sar-genie__screen[data-screen="thanks"]>p { color:#4f6a7c; margin:0; }
.sar-genie__field { border:0; border-top:1px solid #e2eaf6; padding:26px 0 0; margin:26px 0 0; }.sar-genie__field[hidden],.sar-genie__button[hidden] { display:none; }.sar-genie__field legend,.sar-genie__field>label { display:block; padding:0; margin:0 0 5px; color:#143950; font-size:17px; font-weight:650; }.sar-genie__hint { margin:0 0 13px; color:#899ca7; font-size:14px; }.sar-genie__choices { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.sar-genie__choices--stacked { grid-template-columns:1fr 1fr; }.sar-genie__choices label { cursor:pointer; }.sar-genie__choices input { position:absolute; opacity:0; pointer-events:none; }.sar-genie__choices label>span { display:flex; flex-direction:column; justify-content:center; min-height:54px; padding:14px 18px; border:1px solid #d6e0ed; border-radius:14px; background:#f4f7fc; color:#143950; transition:.2s ease; }.sar-genie__choices label:hover>span { border-color:#8cacda; transform:translateY(-1px); }.sar-genie__choices input:checked+span { border-color:#0069ff; background:#edf4ff; box-shadow:0 0 0 3px rgba(0,105,255,.1); }.sar-genie__choices small { color:#899ca7; margin-top:3px; }.sar-genie input,.sar-genie select { border:1px solid #d6e0ed; border-radius:12px; background:#f7f9fd; padding:14px 16px; min-height:52px; }.sar-genie input:focus,.sar-genie select:focus { outline:3px solid rgba(0,105,255,.14); border-color:#0069ff; }.sar-genie__size-input { display:grid; grid-template-columns:1fr 110px; gap:10px; }.sar-genie__error,.sar-genie__submit-error { display:block; min-height:20px; margin-top:6px; color:#b42318; font-size:13px; }
.sar-genie__button { width:auto; min-width:210px; border:0; margin-top:30px; padding:14px 22px; border-radius:100px; background:linear-gradient(139deg,#0069ff,#8cacda); color:#fff; font:600 16px "Stack Sans Text",sans-serif; cursor:pointer; box-shadow:0 8px 24px rgba(0,105,255,.2); text-decoration:none; }.sar-genie__button:hover { color:#fff; transform:translateY(-1px); }.sar-genie__button:disabled { opacity:.65; cursor:wait; }.sar-genie__text-button { border:0; background:none; color:#4f6a7c; font:600 15px "Stack Sans Text",sans-serif; cursor:pointer; padding:14px; }.sar-genie__actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }.sar-genie__actions .sar-genie__button { margin-top:24px; }.sar-genie__actions .sar-genie__text-button { margin-top:24px; }
.sar-genie__loading { text-align:center; padding:70px 0; }.sar-genie__spinner { display:block; width:52px; height:52px; margin:0 auto 24px; border:5px solid #e2eaf6; border-top-color:#0069ff; border-radius:50%; animation:sarSpin .8s linear infinite; }.sar-genie__quote { padding:32px; border-radius:20px; background:#143950; color:#fff; text-align:center; }.sar-genie__quote span,.sar-genie__quote small { display:block; color:#c9d9ee; }.sar-genie__quote strong { display:block; margin:5px 0; font-size:clamp(48px,8vw,72px); }.sar-genie__summary { margin:22px 0 0; }.sar-genie__summary div { display:flex; justify-content:space-between; gap:25px; padding:14px 2px; border-bottom:1px solid #e2eaf6; }.sar-genie__summary dt { color:#899ca7; }.sar-genie__summary dd { margin:0; text-align:right; font-weight:600; }.sar-genie__contact-icon,.sar-genie__success { display:grid; place-items:center; width:58px; height:58px; margin-bottom:20px; border-radius:50%; background:#edf4ff; color:#0069ff; font-size:28px; font-weight:700; }.sar-genie__success { background:#e8f7ef; color:#14804a; }
.sar-genie__details-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.sar-genie__details-grid label>span { display:block; margin-bottom:7px; font-weight:600; }.sar-genie__details-grid .sar-genie__wide { grid-column:1/-1; }.sar-genie__consent { display:flex; align-items:flex-start; gap:10px; margin-top:22px; color:#4f6a7c; font-size:13px; }.sar-genie__consent input { width:auto; min-height:0; margin-top:3px; }.sar-genie__honeypot { position:absolute!important; left:-9999px!important; }.sar-genie__next { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:32px; }.sar-genie__next>div { padding:22px; border-radius:16px; background:#f4f7fc; }.sar-genie__next span { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#143950; color:#fff; font-weight:700; }.sar-genie__next h4 { margin:16px 0 7px; font-size:16px; }.sar-genie__next p { margin:0; color:#4f6a7c; font-size:14px; }
@keyframes sarSpin { to { transform:rotate(360deg); } } @keyframes sarFade { from { opacity:0; transform:translateY(8px); } }
@media(max-width:700px) { .sar-genie { padding:60px 16px; }.sar-genie__progress { padding:0; }.sar-genie__progress small { font-size:10px; }.sar-genie__form { padding:28px 20px; }.sar-genie__choices,.sar-genie__choices--stacked,.sar-genie__details-grid,.sar-genie__next { grid-template-columns:1fr; }.sar-genie__details-grid .sar-genie__wide { grid-column:auto; }.sar-genie__summary div { display:block; }.sar-genie__summary dd { margin-top:4px; text-align:left; } }
@media(prefers-reduced-motion:reduce) { .sar-genie__screen { animation:none; }.sar-genie__spinner { animation-duration:1.5s; } }
