*{margin:0;padding:0;box-sizing:border-box}html,body{overflow:hidden;background:#181818;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}.webgl{position:fixed;top:0;left:0;outline:none;z-index:0}.right-panel{position:fixed;right:0;top:0;width:50%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3rem;opacity:0;pointer-events:none;transition:opacity .5s ease;z-index:10}.btn-3d{background:#e2e2e2;color:#111;border:none;border-radius:100px;padding:1.1rem 2.8rem;font-size:.82rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;box-shadow:0 6px #888,0 8px 20px #0006;transform:translateY(0);transition:transform 60ms ease,box-shadow 60ms ease;user-select:none;-webkit-user-select:none;white-space:nowrap}.btn-3d:active{transform:translateY(5px);box-shadow:0 1px #888,0 3px 8px #0003}.btn-primary{font-size:.9rem;padding:1.25rem 3.5rem;letter-spacing:.14em}.btn-links{display:flex;gap:3.2rem;align-items:center;padding:5rem 3.5rem}.btn-link{padding:1rem 1.5rem;font-size:.85rem;justify-content:center;width:160px}.btn-icon{width:20px;height:20px;object-fit:contain;flex-shrink:0}.btn-icon2{height:20px;object-fit:contain;flex-shrink:0}.scroll-hint{position:fixed;bottom:2rem;left:25%;transform:translate(-50%);color:#ffffff59;font-size:1.6rem;z-index:10;transition:opacity .3s ease;animation:bounce 2s ease-in-out infinite;pointer-events:none}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(10px)}}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal.hidden{display:none}.modal-box{background:#fff;border-radius:1.5rem;padding:2.5rem 2.5rem 2rem;min-width:380px;position:relative}.modal-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;background:none;border:none;cursor:pointer;flex-shrink:0}.modal-close:before,.modal-close:after{content:"";position:absolute;left:4px;top:50%;width:24px;height:2px;background:#111;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.modal-close:before{transform:rotate(45deg)}.modal-close:after{transform:rotate(-45deg)}.modal-close:hover:before{transform:rotate(0) translateY(-3px)}.modal-close:hover:after{transform:rotate(0) translateY(3px)}.modal-close.closing:before,.modal-close.closing:after{transform:rotate(0) translateY(0)}.brief-progress{height:3px;background:#e0e0e0;border-radius:2px;margin-bottom:2rem}.brief-progress-bar{height:100%;background:#1a1a1a;border-radius:2px;width:0%;transition:width .4s cubic-bezier(.34,1.56,.64,1)}.brief-form h2{font-size:1.3rem;font-weight:700;margin-bottom:.3rem;color:#111}.brief-sub{font-size:.8rem;color:#888;margin-bottom:1.5rem}.brief-label{display:block;font-size:.8rem;font-weight:600;color:#333;margin:1rem 0 .5rem}.service-cards{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:.5rem 0 1.25rem}.service-card{border:1.5px solid #e0e0e0;border-radius:12px;padding:.9rem 1rem;cursor:pointer;transition:border-color .2s,background .2s;display:flex;flex-direction:column;gap:.2rem}.service-card input[type=radio]{display:none}.service-card:has(input:checked){border-color:#1a1a1a;background:#f5f5f5}.card-title{font-size:.82rem;font-weight:600;color:#111}.card-price{font-size:.72rem;color:#888}.brief-input{display:block;width:100%;padding:.75rem 1rem;border:1.5px solid #e0e0e0;border-radius:10px;font-size:.85rem;font-family:inherit;color:#111;background:#fff;outline:none;transition:border-color .2s;margin-bottom:.75rem;resize:none}.brief-input:focus{border-color:#1a1a1a}.brief-input::placeholder{color:#aaa}.brief-row{display:flex;gap:.75rem}.brief-row .brief-input{margin-bottom:.75rem}.brief-row-btns{margin-top:1.5rem;align-items:stretch}.brief-row-btns .btn-back,.brief-row-btns .btn-submit{margin-top:0;width:auto;align-items:center}.radio-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.radio-group label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#333;cursor:pointer}.checkbox-label{display:flex;align-items:flex-start;gap:.6rem;font-size:.82rem;color:#555;margin:.5rem 0 1.5rem;cursor:pointer;line-height:1.4}.checkbox-label input{margin-top:2px;flex-shrink:0}input[type=radio],input[type=checkbox]{accent-color:#1a1a1a}.btn-next,.btn-submit{margin-top:1.5rem;width:100%;justify-content:center}.btn-back{flex:1;justify-content:center;background:#f0f0f0;box-shadow:0 6px #bbb,0 8px 20px #0003}.btn-submit{flex:2;justify-content:center}.brief-step{animation:slideIn .3s ease forwards}.brief-step.hidden{display:none}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.brief-success{text-align:center;padding:3rem 1rem}.success-icon{font-size:3rem;margin-bottom:1rem;display:block;animation:spinIn .6s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes spinIn{0%{transform:rotate(-180deg) scale(0);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}.brief-success h2{font-size:1.5rem;margin-bottom:.5rem;color:#111}.brief-success p{color:#888;font-size:.9rem}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}@media(max-width:768px){.right-panel{top:0;bottom:0;left:0;width:100%;height:100dvh;display:block;opacity:1!important;pointer-events:none;z-index:1;background:transparent!important}.right-panel>*{pointer-events:all}#btn-brief{position:absolute;top:60%;left:50%;transform:translate(-50%)}.btn-links{position:absolute;bottom:calc(env(safe-area-inset-bottom) + 20px);left:0;right:0;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;padding:0 1rem}.scroll-hint{display:none}.modal-box{width:90%;max-width:400px;padding:1.8rem 1.5rem 1.5rem;margin:auto}}.rotate-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#181818;align-items:center;justify-content:center}.rotate-overlay.visible{display:flex}.rotate-gif{width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-select:none;user-select:none}@media(max-width:1024px)and (orientation:landscape){.rotate-overlay{display:flex}}
