*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh;background:linear-gradient(to bottom,#0d73d1,#e0f2ff,#fff);position:relative;overflow-x:hidden}.desktop-layout{display:flex;min-height:100vh}.mobile-layout{padding:16px;display:flex;flex-direction:column;gap:20px}.form-wrapper{flex:1;padding:20px 16px;overflow-y:auto;max-height:100vh}.form-wrapper.desktop{padding:20px 60px}.form-container{background:#ffffffe6;border-radius:16px;padding:24px;box-shadow:0 4px 12px #0000001a}.logo-container{text-align:center}.logo{max-width:100%}.title{text-align:center;color:#448aff;font-size:18px;font-weight:700;line-height:1.5;margin:0}.input-group{margin-bottom:18px}.input-group label{display:block;font-weight:500;margin-bottom:6px;color:#333}.input-group input[type=text],.input-group input[type=tel]{width:100%;padding:14px;background:#f5f5f5;border:1px solid #ddd;border-radius:8px;font-size:16px;outline:none;transition:border-color .2s}.input-group input:focus{border-color:#1976d2}.file-input-box{display:flex;justify-content:space-between;align-items:center;padding:14px;background:#f5f5f5;border:1px solid #ddd;border-radius:8px;cursor:pointer;transition:border-color .2s}.file-input-box:hover{border-color:#1976d2}.file-input-box .placeholder{color:#999}.file-input-box .file-name{color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.file-input-box .upload-icon{color:#1976d2;font-size:20px}.address-dropdown{display:flex;flex-direction:column;gap:12px}.dropdown-box select{width:100%;padding:14px;background:#f5f5f5;border:1px solid #ddd;border-radius:8px;font-size:16px;outline:none;cursor:pointer;transition:border-color .2s}.dropdown-box select:focus{border-color:#1976d2}.dropdown-box select:disabled{background:#eee;cursor:not-allowed}.submit-btn{display:block;width:auto;margin:26px auto 0;padding:16px 40px;background:#86aee5;color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:background .2s}.submit-btn:hover{background:#6c9bd4}.submit-btn:disabled{background:#bbb;cursor:not-allowed}.company-name{text-align:center;margin-top:35px;font-size:14px;font-weight:700;color:#0d47a1}.carousel-container{flex:1;overflow:hidden;border-radius:16px}.carousel-container.desktop{border-radius:32px}.cover-image{width:100%;height:100%;object-fit:cover;border-radius:16px}.carousel{position:relative;width:100%;height:100%;overflow:hidden;border-radius:32px;background:#0064ff1a}.carousel-track{display:flex;height:100%;transition:transform 2s ease-in-out}.carousel-slide{min-width:100%;height:100%}.carousel-slide img{width:100%;height:100%;object-fit:contain}.snow-overlay{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.05;pointer-events:none}.carousel-dots{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;gap:8px}.dot{width:8px;height:8px;border-radius:4px;background:#ffffff80;cursor:pointer;transition:all .3s}.dot.active{width:12px;background:#fff}.snowfall{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:1000}.snowflake{position:absolute;top:-50px;animation:fall linear infinite}@keyframes fall{0%{transform:translateY(-50px) translate(0) rotate(0);opacity:1}25%{transform:translateY(25vh) translate(20px) rotate(90deg)}50%{transform:translateY(50vh) translate(-10px) rotate(180deg)}75%{transform:translateY(75vh) translate(15px) rotate(270deg)}to{transform:translateY(100vh) translate(5px) rotate(360deg);opacity:.3}}.snackbar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);padding:12px 24px;border-radius:8px;color:#fff;font-weight:500;z-index:2000;animation:slideUp .3s ease}.snackbar.success{background:#4caf50}.snackbar.error{background:#f44336}@keyframes slideUp{0%{transform:translate(-50%,100%);opacity:0}to{transform:translate(-50%);opacity:1}}@media(max-width:599px){.mobile-layout{padding:12px}.form-container{padding:16px}.title{font-size:16px}}@media(min-width:600px)and (max-width:899px){.mobile-layout{padding:24px}}
