/* Start a Project page */
.page-start-project{background:var(--bg)}
.page-start-project .site-header{background:none}
.sp-page{background:linear-gradient(115deg,#4b1d8f 0%,#3f5f99 55%,#3d8fa0 100%) top/100% 560px no-repeat;padding-top:110px;overflow:hidden}
.sp-wrap{max-width:1120px;position:relative;z-index:2}
.sp-card{background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 24px 60px rgba(20,20,60,.22)}
.sp-head{position:relative;background:#e6f7fd;padding:56px 64px 34px;margin-bottom:40px}
.sp-head h1{font:italic 500 clamp(32px,5vw,50px)/1.1 var(--font-display);margin:0 0 14px}.sp-head p{font-size:clamp(16px,2vw,24px);color:#3b4651;margin:0}
.sp-close{position:absolute;top:46px;right:48px;width:28px;height:28px;color:#555}.sp-close svg,.sp-btn svg{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.sp-close svg{width:100%}
/* Progress tracker */
.sp-steps{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;margin:0;padding:12px 24px;background:#e6f7fd}
.sp-steps li{display:flex;flex-direction:column;align-items:center;gap:8px;font-size:15px;min-height:70px;justify-content:flex-start}
.sp-mark{height:48px;display:flex;align-items:center;justify-content:center;width:100%}
.sp-pill{background:#12c4ea;color:#fff;border-radius:99px;padding:12px 28px;font-weight:500;box-shadow:0 10px 24px rgba(18,196,234,.35);white-space:nowrap}
.sp-check{width:40px;height:40px;border-radius:50%;background:#12c4ea;display:grid;place-items:center;box-shadow:0 0 0 5px #fff}.sp-check svg{width:18px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.sp-dot{display:flex;align-items:center;width:100%}.sp-dot::before{content:"";width:14px;height:14px;border-radius:50%;background:#3d3d3d;flex:none}.sp-dot::after{content:"";height:1.5px;background:#3d3d3d;flex:1;margin-left:2px}
.sp-steps .is-done .sp-sub{color:#0ab4de}.sp-steps .is-active .sp-sub{font-weight:600;color:#111}
/* Form */
.sp-form{padding:24px 64px 48px}.sp-count{color:#555;margin:0 0 28px}
.sp-step{display:none;border:0;padding:0;margin:0;min-width:0}.sp-step.is-active{display:block}
.sp-step legend{padding:0;margin-bottom:28px;float:left;width:100%}.sp-step legend h2{font:600 clamp(24px,3vw,34px) var(--font-body);margin:0 0 14px}.sp-step legend p{font-size:clamp(15px,1.8vw,20px);color:#5f6a75;margin:0}
.sp-step legend+*{clear:both}
.sp-label{font-weight:500;margin:0 0 10px}.sp-label i,.sp-field i{color:#e53935;font-style:normal;font-size:12px}
.sp-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 32px;margin-bottom:24px}
.sp-field{display:block;font-weight:500;margin-bottom:0}.sp-grid .sp-field{margin:0}
.sp-field input,.sp-field select,.sp-field textarea{display:block;width:100%;margin-top:12px;padding:16px 24px;border:1px solid #e3e5e7;border-radius:99px;background:#f6f6f4;font:400 16px var(--font-body);color:#222}
.sp-field textarea{border-radius:24px;resize:vertical;min-height:140px}.sp-field select{appearance:none;background:#f6f6f4 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23444' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 22px center}
.sp-field input:focus,.sp-field select:focus,.sp-field textarea:focus{outline:2px solid #12c4ea;background-color:#fff}.sp-field [aria-invalid=true]{border-color:#e53935}
.sp-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:22px 16px;margin-bottom:28px}
.sp-chip input{position:absolute;opacity:0;pointer-events:none}.sp-chip span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:64px;padding:8px 16px;border:1px solid #e3e5e7;border-radius:99px;background:#f6f6f4;cursor:pointer;transition:.15s}
.sp-chip input:checked+span{background:#e6f7fd;border:1.5px solid #12c4ea}.sp-chip input:focus-visible+span{outline:3px solid #12c4ea;outline-offset:2px}
/* Upload */
.sp-drop{border:2px dashed #12c4ea;border-radius:28px;background:#f6f6f4;min-height:230px;display:flex;flex-direction:column;justify-content:center;padding:24px 48px;text-align:center;transition:.15s}.sp-drop.is-over{background:#e6f7fd}
.sp-drop-empty b{display:block;font-weight:500;font-size:22px;color:#555;margin-bottom:14px}.sp-drop-empty span{color:#555}.sp-drop-empty button{background:none;border:0;font:inherit;font-weight:600;color:#0a9fd0;text-decoration:underline;cursor:pointer}
.sp-files{list-style:none;margin:0;padding:0;display:grid;gap:10px}.sp-files li{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;background:#fff;border:1px solid #e3e5e7;border-radius:16px;padding:16px 24px}
.sp-files b{display:block;font-weight:500;font-size:20px;word-break:break-all}.sp-files small{color:#555;font-size:16px}.sp-files button{background:none;border:0;font-size:26px;line-height:1;color:#444;cursor:pointer}
.sp-hint{font-size:13px;color:#555;margin:14px 0 28px}.sp-hint-error,.sp-step-error{color:#c62828;font-weight:500}.sp-step-error{margin:0 0 12px;text-align:right}
.sp-alert{background:#fde7e7;color:#a32020;border-radius:14px;padding:14px 20px;margin-bottom:24px}
/* Buttons */
.sp-actions{display:flex;justify-content:flex-end;align-items:center;gap:16px;flex-wrap:wrap}.sp-actions-form{margin-top:16px}
.sp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:64px;padding:0 44px;border-radius:99px;border:1.5px solid #21457a;font:500 20px var(--font-body);cursor:pointer;text-decoration:none;transition:.15s}
.sp-btn svg{width:22px}.sp-btn-outline{background:#f6f6f4;color:#21457a}.sp-btn-outline.is-ready,.sp-btn-navy{background:#21457a;color:#fff;box-shadow:0 12px 24px rgba(33,69,122,.2)}
.sp-btn-cyan{background:#12c4ea;border-color:#12c4ea;color:#fff;box-shadow:0 12px 24px rgba(18,196,234,.3)}.sp-btn-text{border-color:transparent;background:none;color:#21457a;margin-right:auto}
.sp-btn:focus-visible{outline:3px solid #12c4ea;outline-offset:3px}.sp-actions-form .sp-btn-navy{margin:0 auto}
/* Success */
.sp-done{text-align:center;padding-bottom:48px}.sp-done-banner{background:#0bbfe6;height:220px;display:flex;justify-content:center;overflow:visible}.sp-done-banner img{height:300px;margin-top:24px;position:relative;z-index:2}
.sp-done-title{font:600 clamp(28px,4vw,46px) var(--font-body);margin:100px 24px 20px}.sp-done-title span{color:#12c4ea}.sp-done-text{max-width:820px;margin:0 auto 32px;padding:0 24px;font-size:clamp(16px,2vw,24px);color:#5f6a75;line-height:1.9}
.sp-notice{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:0 64px 40px;padding:20px 32px;background:#f6f6f4;border-radius:20px;text-align:left}.sp-notice p{margin:0;font-size:14px;color:#555}.sp-notice b{display:block;font-weight:500;font-size:16px;color:#222}
.sp-next-title{font:500 20px var(--font-body);margin-bottom:28px}.sp-next{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;list-style:decimal inside;margin:0 64px 40px;padding:0;text-align:left}.sp-next li{font-weight:500;font-size:18px}.sp-next li span{display:block;font-weight:400;color:#555;font-size:16px;margin-top:8px;padding-left:20px}
.sp-done .sp-actions{padding:0 64px}
/* Services strip */
.sp-strip{display:grid;grid-template-columns:repeat(6,1fr);margin-top:-90px;height:clamp(150px,18vw,260px);position:relative;z-index:1;overflow:hidden;padding-top:0}
.sp-strip div{background-size:cover;background-position:center 20%;display:flex;align-items:flex-end;justify-content:center;text-align:center;color:rgba(255,255,255,.75);font-size:clamp(10px,1.4vw,18px);padding-bottom:14px;line-height:1.3}
@media(max-width:760px){.sp-page{padding-top:90px}.sp-head{padding:32px 24px 24px}.sp-close{top:24px;right:20px}.sp-form{padding:20px 20px 36px}.sp-grid,.sp-chips,.sp-notice,.sp-next{grid-template-columns:1fr}.sp-steps{padding:10px 4px}.sp-steps li{font-size:11px}.sp-pill{padding:8px 10px;font-size:11px;white-space:normal;text-align:center}.sp-btn{min-height:54px;padding:0 28px;font-size:17px}.sp-strip{grid-template-columns:repeat(3,1fr);margin-top:-40px}.sp-notice,.sp-next,.sp-done .sp-actions{margin-left:20px;margin-right:20px;padding-left:0;padding-right:0}.sp-notice{padding:16px}.sp-done-banner img{height:220px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
