:root{--primary-color: #2c3e50;--secondary-color: #3498db;--text-color: #333;--bg-color: #f8f9fa;--white: #ffffff;--error-color: #e74c3c;--success-color: #27ae60;--shadow: 0 2px 10px rgba(0, 0, 0, .1);--transition: all .3s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6;color:var(--text-color);min-height:100vh;overflow-x:hidden}#app{min-height:100vh}.hero{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);padding:2rem;text-align:center}.letterform{font-family:Poiret One,cursive;font-size:clamp(3rem,10vw,8rem);color:var(--white);font-weight:400;letter-spacing:.05em;margin:0 0 3rem;text-shadow:2px 2px 4px rgba(0,0,0,.2);animation:fadeInScale 1s ease-out;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;display:inline-flex;align-items:center;justify-content:center;perspective:1000px}.name-part{display:inline-block;position:relative;white-space:nowrap;will-change:transform}.name-part.left{margin-right:.15em}.letterform.switching{pointer-events:none}.letterform.switching .name-part{animation-duration:var(--switch-duration, 1s);animation-timing-function:linear;animation-fill-mode:forwards;position:relative}.letterform.switching .name-part.left{animation-name:archOverTop;z-index:2}.letterform.switching .name-part.right{animation-name:archUnderBottom;z-index:0}@keyframes archOverTop{0%{transform:translate(0);animation-timing-function:cubic-bezier(.4,0,.2,1)}50%{transform:translate(calc(var(--left-travel-distance) * .5),-35%);animation-timing-function:cubic-bezier(.4,0,.2,1)}to{transform:translate(var(--left-travel-distance))}}@keyframes archUnderBottom{0%{transform:translate(0);animation-timing-function:cubic-bezier(.4,0,.2,1)}50%{transform:translate(calc(var(--right-travel-distance) * -.5),35%);animation-timing-function:cubic-bezier(.4,0,.2,1)}to{transform:translate(calc(var(--right-travel-distance) * -1))}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.contact-link{font-size:1.25rem;font-weight:500;color:var(--white);background:#ffffff1a;border:2px solid var(--white);padding:1rem 3rem;border-radius:50px;cursor:pointer;transition:var(--transition);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:fadeIn 1s ease-out .3s both;letter-spacing:.02em}.contact-link:hover{background:var(--white);color:var(--primary-color);transform:translateY(-2px);box-shadow:0 8px 20px #0003}.contact-link:active{transform:translateY(0)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background-color:#0009;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);animation:fadeInModal .3s ease-out}.modal.active{display:flex;align-items:center;justify-content:center}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--white);padding:2.5rem;border-radius:16px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 10px 40px #0000004d;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;right:1.5rem;top:1.5rem;font-size:2rem;font-weight:300;color:var(--text-color);background:none;border:none;cursor:pointer;transition:var(--transition);line-height:1;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.modal-close:hover{color:var(--error-color);transform:rotate(90deg)}.modal-content h2{font-size:2rem;color:var(--primary-color);margin-bottom:1.5rem;text-align:center}.contact-form{width:100%}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--primary-color);font-weight:500;font-size:.95rem}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;font-family:inherit;transition:var(--transition)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--secondary-color);box-shadow:0 0 0 3px #3498db1a}.form-group textarea{resize:vertical;min-height:120px}.submit-btn{width:100%;padding:1rem;background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--white);border:none;border-radius:6px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow)}.submit-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.submit-btn:active{transform:translateY(0)}.submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.form-status{margin-top:1.5rem;padding:1rem;border-radius:6px;text-align:center;font-weight:500;display:none}.form-status.success{display:block;background-color:#27ae601a;color:var(--success-color);border:1px solid var(--success-color)}.form-status.error{display:block;background-color:#e74c3c1a;color:var(--error-color);border:1px solid var(--error-color)}@media(max-width:768px){.letterform{font-size:clamp(2.5rem,12vw,5rem);margin-bottom:2rem}.contact-link{font-size:1.1rem;padding:.875rem 2.5rem}.modal-content{padding:2rem 1.5rem;width:95%}.modal-close{right:1rem;top:1rem}@keyframes archOverTop{0%{transform:translate(0);animation-timing-function:cubic-bezier(.4,0,.2,1)}50%{transform:translate(calc(var(--left-travel-distance) * .5),-28%);animation-timing-function:cubic-bezier(.4,0,.2,1)}to{transform:translate(var(--left-travel-distance))}}@keyframes archUnderBottom{0%{transform:translate(0);animation-timing-function:cubic-bezier(.4,0,.2,1)}50%{transform:translate(calc(var(--right-travel-distance) * -.5),28%);animation-timing-function:cubic-bezier(.4,0,.2,1)}to{transform:translate(calc(var(--right-travel-distance) * -1))}}}
