@keyframes pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.2)}}@media(min-width:481px){.container{max-width:600px;padding-bottom:140px}.submit-btn{max-width:600px}}@media(min-width:769px){.container{max-width:720px;padding:8px 24px;padding-top:70px;padding-bottom:140px}.form-card{padding:32px}.submit-btn{max-width:720px}}@media(min-width:1024px){.container{max-width:800px}.submit-btn{max-width:800px}}:root{--primary:#6b8fa6;--primary-light:#8ab4cf;--secondary:#8ed49c;--accent-yellow:#ffcc4d;--accent-pink:#f797ab;--accent-lavender:#a78bfa;--accent-violet:#8b5cf6;--bg-gradient:linear-gradient(135deg, #f5f7ff 0%, #edf5f0 50%, #fef6ed 100%);--card-bg:rgba(255,255,255,0.92);--text:#3d4852;--text-light:#64748b;--shadow:0 8px 32px rgba(107,143,166,0.12);--shadow-hover:0 12px 40px rgba(107,143,166,0.2)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,sans-serif;background:var(--bg-gradient);color:var(--text);min-height:100vh;overflow-x:hidden;display:flex;flex-direction:column}.bubbles{position:fixed;top:0;left:0;right:0;bottom:0;overflow:hidden;z-index:0;pointer-events:none}.bubble{position:absolute;border-radius:50%;opacity:.35;animation:float 6s infinite ease-in-out}.bubble:nth-child(1){width:80px;height:80px;left:10%;background:var(--accent-pink);animation-delay:0s;animation-duration:25s}.bubble:nth-child(2){width:60px;height:60px;left:20%;background:var(--primary-light);animation-delay:2s;animation-duration:20s}.bubble:nth-child(3){width:100px;height:100px;left:35%;background:var(--secondary);animation-delay:4s;animation-duration:28s}.bubble:nth-child(4){width:50px;height:50px;left:50%;background:var(--accent-yellow);animation-delay:1s;animation-duration:22s}.bubble:nth-child(5){width:70px;height:70px;left:65%;background:var(--accent-lavender);animation-delay:3s;animation-duration:24s}.bubble:nth-child(6){width:90px;height:90px;left:80%;background:var(--accent-pink);animation-delay:5s;animation-duration:26s}.bubble:nth-child(7){width:45px;height:45px;left:90%;background:var(--primary-light);animation-delay:2.5s;animation-duration:21s}.bubble:nth-child(8){width:55px;height:55px;left:5%;background:var(--secondary);animation-delay:6s;animation-duration:23s}@keyframes float{0%,100%{transform:translateY(100vh)scale(.8);opacity:0}10%{opacity:.4;transform:translateY(80vh)scale(1)}30%{transform:translateY(60vh)scale(1.2);opacity:.5}50%{transform:translateY(40vh)scale(.9);opacity:.45}70%{transform:translateY(20vh)scale(1.15);opacity:.5}90%{opacity:.4;transform:translateY(5vh)scale(1)}100%{transform:translateY(-100px)scale(.8);opacity:0}}.container{position:relative;z-index:1;max-width:480px;margin:0 auto;padding:8px 16px;padding-top:70px;padding-bottom:160px;width:100%}header{text-align:center;margin-bottom:16px;animation:fadeInDown .6s ease-out}header h1{font-size:28px;font-weight:700;background:linear-gradient(135deg,var(--primary) 0%,var(--accent-lavender) 50%,var(--accent-pink) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:8px}.header-title{align-items:flex-start!important;display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:8px}.header-icon{width:48px;vertical-align:middle;height:48px;animation:cat-pulse 2s ease-in-out infinite;font-size:40px;line-height:48px}@keyframes cat-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.92}}.subtitle{color:var(--text-light);font-size:15px}@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.sticky-progress{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(248,249,255,.98);padding:6px 16px 10px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .1s ease-out}.progress-container{margin-bottom:4px;position:sticky;top:0;z-index:100;background:var(--bg-gradient);padding:6px 0}.progress-bar{height:3px;background:rgba(124,158,178,.2);border-radius:10px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#ddd6fe,#fbcfe8,#fde68a,#bbf7d0,#bfdbfe,#ddd6fe);background-size:300% 100%;border-radius:10px;transition:width .5s cubic-bezier(.34,1.56,.64,1);width:0%;animation:shimmer 5s linear infinite}@keyframes shimmer{0%{background-position:0}100%{background-position:300%}}.progress-text{text-align:center;font-size:11px;color:var(--text-light);margin-top:4px}.form-card{background:var(--card-bg);backdrop-filter:blur(10px);border-radius:24px;padding:24px;box-shadow:var(--shadow);margin-bottom:20px;border:1px solid rgba(255,255,255,.5);animation:fadeInUp .6s ease-out;transition:all .3s ease}.form-card:hover{box-shadow:var(--shadow-hover)}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.section-title{font-size:18px;font-weight:600;color:var(--primary);margin-bottom:16px;display:flex;align-items:center;gap:10px}.section-icon{width:32px;height:32px;background:linear-gradient(135deg,var(--primary-light) 0%,var(--secondary) 100%);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px}.form-field{margin-bottom:20px;animation:fadeIn .5s ease-out}.form-field:last-child{margin-bottom:0}.form-field label{display:block;font-weight:500;font-size:14px;color:var(--text);margin-bottom:10px}.form-field.required label::after{content:" ✦";color:var(--accent-pink);font-size:10px}span.required{color:var(--accent-pink);font-size:10px}.form-field textarea,.form-field input[type=text]{width:100%;padding:14px 16px;font-size:15px;border:2px solid rgba(124,158,178,.2);border-radius:14px;background:rgba(255,255,255,.9);color:var(--text);resize:vertical;transition:all .3s ease;font-family:inherit}.form-field textarea:focus,.form-field input[type=text]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 4px rgba(124,158,178,.1)}.form-field textarea::placeholder{color:var(--text-light);opacity:.7}.button-group{display:flex;gap:12px}.toggle-btn{flex:1;padding:14px 16px;font-size:14px;font-weight:500;border:2px solid rgba(124,158,178,.2);border-radius:14px;background:rgba(255,255,255,.9);color:var(--text);cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);font-family:inherit}.toggle-btn:hover{border-color:var(--primary-light);transform:translateY(-2px)}.toggle-btn.active{background:linear-gradient(135deg,var(--primary) 0%,var(--accent-lavender) 100%);color:#fff;border-color:transparent;transform:scale(1.05)}.service-badge{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;background:linear-gradient(135deg,var(--primary) 0%,var(--accent-lavender) 100%);color:#fff;border-radius:30px;font-size:14px;font-weight:500;margin-bottom:20px}.service-desc{opacity:.9;font-weight:400;margin-left:4px}.service-desc::before{content:"— "}#phone.invalid{border-color:#ef4444}#phone.valid{border-color:#22c55e}.consent-box{display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(135deg,rgba(197,180,227,.2) 0%,rgba(232,196,196,.2) 100%);border-radius:14px;cursor:pointer;transition:all .3s ease}.consent-box:hover{background:linear-gradient(135deg,rgba(197,180,227,.3) 0%,rgba(232,196,196,.3) 100%)}.consent-box input{width:22px;height:22px;margin-top:2px;accent-color:var(--primary);flex-shrink:0}.consent-text{font-size:13px;color:var(--text);line-height:1.5}.consent-text a{color:var(--primary);text-decoration:underline}.file-upload{position:relative;margin-top:8px}.file-upload-label{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;border:2px dashed var(--primary-light);border-radius:16px;background:linear-gradient(135deg,rgba(168,197,218,.1) 0%,rgba(184,212,190,.1) 100%);transition:all .3s ease;cursor:pointer}.file-upload:hover .file-upload-label{border-color:var(--primary);background:linear-gradient(135deg,rgba(168,197,218,.2) 0%,rgba(184,212,190,.2) 100%);transform:scale(1.02)}.file-upload-icon{font-size:32px;margin-bottom:8px}.file-upload-text{font-size:14px;color:var(--primary);font-weight:500}.file-upload-hint{font-size:12px;color:var(--text-light);margin-top:4px}.file-upload-limit{display:block;font-size:11px;color:var(--accent-pink);margin-top:6px;font-weight:600}.submit-section{position:fixed;bottom:0;left:0;right:0;padding:16px;background:linear-gradient(to top,#f8f9ff 0%,rgba(248,249,255,.95) 80%,rgba(248,249,255,0) 100%);z-index:50;display:none}.submit-section.visible{display:block}.btn-icon{font-size:28px}@keyframes gradient-shift{0%,100%{background-position:0}50%{background-position:100%}}.submit-btn:disabled{background:#d0d0d0;cursor:not-allowed;box-shadow:none;animation:none}.submit-btn:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 12px 35px rgba(124,158,178,.4)}.submit-btn:not(:disabled):active{transform:translateY(0);box-shadow:0 4px 15px rgba(124,158,178,.3)}.submit-btn:not(:disabled):active{transform:translateY(0);box-shadow:0 4px 15px rgba(124,158,178,.3);transform:translateY(-3px);box-shadow:0 12px 35px rgba(124,158,178,.4)}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.hidden{display:none!important}.file-list{margin-top:12px}.file-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:rgba(167,139,250,.1);border-radius:8px;margin-bottom:6px;font-size:13px}.file-name{color:var(--text)}.remove-file{cursor:pointer;color:var(--accent-pink);font-size:18px;font-weight:700}.service-badge.preselect-badge{opacity:0;animation:badgeAppear 1s cubic-bezier(.34,1.56,.64,1).2s forwards}@keyframes badgeAppear{0%{opacity:0;transform:scale(.8)}60%{opacity:1;transform:scale(1.05)}100%{opacity:1;transform:scale(1)}}.magnetic-area{position:relative;width:100%;height:260px;margin:0 auto}.drop-zone{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100px;height:100px;border-radius:50%;border:2px dashed rgba(167,139,250,.4);background:rgba(247,151,171,5%);display:flex;align-items:center;justify-content:center;transition:all .4s cubic-bezier(.34,1.56,.64,1);z-index:5}.drop-zone .placeholder{font-size:13px;color:rgba(167,139,250,.6);font-weight:500;transition:opacity .3s}.drop-zone.active{transform:translate(-50%,-50%)scale(1.1);border-color:rgba(167,139,250,.6);background:rgba(247,151,171,.1)}.drop-zone.has-item{border-color:rgba(167,139,250,.3);background:rgba(247,151,171,4%)}.drop-zone.has-item .placeholder{opacity:0}.service-icon{position:absolute;width:68px;height:68px;border-radius:50%;cursor:pointer;user-select:none;touch-action:none;z-index:10}.service-icon .icon-inner{width:100%;height:100%;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#ffffff 0%,#f8f9ff 100%);border:2px solid rgba(124,158,178,.15);box-shadow:0 4px 15px rgba(124,158,178,8%);transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative}.service-icon .emoji{font-size:24px;line-height:1}.service-icon .label{font-size:9px;font-weight:600;color:var(--text);margin-top:2px}.service-icon:not(.dragging):not(.selected):hover .icon-inner{transform:translateY(-4px);border-color:rgba(167,139,250,.4);box-shadow:0 8px 25px rgba(167,139,250,.15)}.service-icon.dragging{cursor:grabbing;z-index:100}.service-icon.dragging .icon-inner{transform:scale(1.15);box-shadow:0 12px 35px rgba(167,139,250,.25)}.service-icon.returning{transition:left .7s cubic-bezier(.34,1.56,.64,1),top .7s cubic-bezier(.34,1.56,.64,1)}.service-icon.to-center{transition:left .9s cubic-bezier(.25,.46,.45,.94),top .9s cubic-bezier(.25,.46,.45,.94)}.service-icon.selected{z-index:50}.service-icon.selected .icon-inner{background:linear-gradient(145deg,rgba(247,151,171,.15) 0%,rgba(167,139,250,.15) 100%);border:2px solid rgba(167,139,250,.5);transform:scale(1.08);box-shadow:0 6px 20px rgba(247,151,171,.2)}.service-icon.selected .label{color:var(--accent-violet);font-weight:700}.service-icon.selected .icon-inner::after{content:'✓';position:absolute;top:-5px;right:-5px;width:20px;height:20px;background:linear-gradient(135deg,var(--accent-pink) 0%,var(--accent-lavender) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;color:#fff;font-weight:700;box-shadow:0 2px 8px rgba(167,139,250,.3)}.magnetic-hint{text-align:center;font-size:12px;color:var(--text-light);margin-top:8px}.fixed-btns{position:fixed;bottom:80px;left:0;right:0;padding:0 16px;z-index:51;pointer-events:none}.fixed-btns-inner{max-width:480px;margin:0 auto;display:flex;align-items:center;gap:12px;pointer-events:auto}.fixed-btns-inner .fab-portfolio{margin-bottom:6px}.fab-portfolio{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--primary) 0%,var(--accent-pink) 100%);box-shadow:0 4px 12px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s,box-shadow .2s;text-decoration:none;border:none}.fab-portfolio:hover{transform:scale(1.1);box-shadow:0 6px 16px rgba(0,0,0,.4)}.fab-portfolio:active{transform:scale(.95)}.fab-icon{font-size:28px}.fab-tooltip{position:absolute;left:66px;background:var(--card);color:var(--text);padding:8px 12px;border-radius:8px;font-size:13px;white-space:nowrap;box-shadow:0 2px 8px rgba(0,0,0,.2);opacity:0;pointer-events:none;transition:opacity .2s}.fab-portfolio:hover .fab-tooltip{opacity:1}.phone-input-wrapper{display:flex;align-items:center;background:linear-gradient(135deg,rgba(197,180,227,.15) 0%,rgba(232,196,196,.15) 100%);border:2px solid rgba(167,139,250,.3);border-radius:16px;padding:4px;transition:all .3s ease}.phone-input-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px rgba(124,58,237,.1)}.phone-prefix{background:linear-gradient(135deg,var(--primary) 0%,var(--accent-pink) 100%);color:#fff;font-weight:600;padding:12px 16px;border-radius:12px;font-size:16px}.phone-input{flex:1;border:none;background:0 0;padding:12px;font-size:16px;color:var(--text);outline:none}.phone-input::placeholder{color:var(--hint);opacity:.6}.phone-required{color:var(--accent-pink);font-size:12px;margin-right:12px}.phone-clear{background:0 0;border:none;color:#999;font-size:20px;cursor:pointer;padding:0 8px;line-height:1}.phone-clear:hover{color:#666}.phone-hint{font-size:12px;color:var(--hint);margin-top:8px;text-align:center}.phone-input.valid+.phone-required{color:#22c55e}.phone-input.invalid+.phone-required{color:#ef4444}.submit-btn{width:100%;max-width:480px;margin:0 auto;padding:16px 24px;border:none;border-radius:16px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s ease;background:linear-gradient(135deg,#e5e5e5 0%,#d4d4d4 100%);color:#999;font-family:inherit}.submit-btn:disabled{cursor:not-allowed;opacity:.7}.submit-btn:not(:disabled){background:linear-gradient(135deg,var(--primary) 0%,var(--accent-pink) 100%);color:#fff;box-shadow:0 4px 15px rgba(124,58,237,.4)}.submit-btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(124,58,237,.5)}.submit-btn:not(:disabled):active{transform:translateY(0)}.submit-icon{font-size:20px;transition:transform .3s}.submit-btn:not(:disabled):hover .submit-icon{transform:translateX(4px)}.success-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);z-index:1000;align-items:center;justify-content:center;padding:20px}.success-modal.show{display:flex}.success-modal-content{background:#fff;border-radius:20px;padding:24px;max-width:400px;width:100%;text-align:center;animation:modalIn .3s ease}@keyframes modalIn{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.success-text{font-size:14px;color:#555;line-height:1.6;text-align:left}.success-text p{margin-bottom:12px}.success-text a{color:var(--accent-violet);font-weight:600;text-decoration:none}.success-text a:hover{text-decoration:underline}.success-btn{margin-top:16px;padding:12px 32px;background:linear-gradient(135deg,var(--primary) 0%,var(--accent-pink) 100%);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer}@media(prefers-color-scheme:dark){.success-modal-content{background:#1a1a2e}.success-text{color:#bbb}}.inline-emoji{width:20px;height:20px;vertical-align:middle;margin-left:2px}