.skills-content{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.4,0,.2,1),opacity .4s ease;overflow:hidden;opacity:0}.skills-content.open{grid-template-rows:1fr;opacity:1}.skills-content>div{min-height:0;overflow:hidden}.toggle-trigger .chevron{transform:rotate(0);transition:transform .3s ease}.toggle-trigger[aria-expanded=true] .chevron{transform:rotate(180deg)}#contact{overflow:visible!important;transition:all .3s ease;border:1px solid var(--accent)}#contact:hover{border:1px solid var(--accent)!important;box-shadow:0 0 20px #22d3ee26!important}#contact.expanded{border:0!important;box-shadow:none!important;background:var(--panel)}.contact-container{padding:0 4px 10px}.contact-form{display:flex;flex-direction:column;gap:1.5rem;width:100%;margin:0}.form-group{display:flex;flex-direction:column;gap:.6rem;position:relative;width:100%}.form-label{font-size:.8rem;color:var(--muted);font-weight:800;margin-left:4px;letter-spacing:.8px;text-transform:uppercase;display:flex;align-items:center;gap:6px}.input-wrapper{position:relative;width:100%}.input-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:1.1rem;pointer-events:none;transition:color .3s ease;z-index:2}.form-control{background:#131b2e;border:1px solid var(--stroke);border-radius:14px;padding:14px 16px 14px 48px;color:var(--ink)!important;font-size:1rem;font-family:inherit;font-weight:500;transition:all .2s ease;width:100%;box-sizing:border-box;box-shadow:0 2px 4px #00000005;caret-color:var(--ink)}.form-control:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px #22d3ee26;background:#0f1623;color:var(--ink)!important}.form-control:focus+.input-icon,.input-wrapper:focus-within .input-icon{color:var(--accent)}.form-control::placeholder{color:var(--muted);opacity:.5;font-weight:400}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,textarea:-webkit-autofill:hover,textarea:-webkit-autofill:focus{-webkit-text-fill-color:var(--ink);-webkit-box-shadow:0 0 0px 1000px #131b2e inset;transition:background-color 5000s ease-in-out 0s;caret-color:var(--ink)}textarea.form-control{min-height:140px;resize:vertical;padding-top:16px;line-height:1.6}.input-wrapper:has(textarea) .input-icon{top:22px!important;transform:none!important}body.theme-light .form-control{background:#0f172a0d!important;border-color:#0f172a1a}body.theme-light .form-control:focus{background:#0f172a14!important;border-color:var(--accent)}body.theme-light input:-webkit-autofill,body.theme-light input:-webkit-autofill:hover,body.theme-light input:-webkit-autofill:focus,body.theme-light textarea:-webkit-autofill,body.theme-light textarea:-webkit-autofill:hover,body.theme-light textarea:-webkit-autofill:focus{-webkit-box-shadow:0 0 0px 1000px #eaecf1 inset!important;-webkit-text-fill-color:var(--ink)!important}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:1.5rem;margin-top:.5rem;border-top:1px solid var(--stroke);padding-top:1.5rem}.btn-submit{display:inline-flex;align-items:center;gap:.8rem;cursor:pointer;padding:14px 32px;font-size:1rem;font-weight:800;border-radius:14px;transition:all .2s cubic-bezier(.2,.8,.2,1);border:1px solid var(--stroke);background:var(--panel-2);color:var(--accent);box-shadow:0 4px 12px #0000001a;letter-spacing:.3px}.btn-submit:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 12px 24px #22d3ee33;background:var(--panel)}.btn-submit:active{transform:translateY(-1px)}.btn-submit i{transition:transform .2s ease}.btn-submit:hover i{transform:translate(3px,-3px)}.btn-submit:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.form-feedback{font-size:.95rem;font-weight:600;min-height:1.5rem;opacity:0;transition:opacity .3s ease;text-align:right;display:flex;align-items:center;gap:8px}.form-feedback.success{color:#4ade80;opacity:1}.form-feedback.error{color:#f87171;opacity:1}.spinner{width:20px;height:20px;border:2.5px solid currentColor;border-bottom-color:transparent;border-radius:50%;display:none;animation:rotation .8s linear infinite}.btn-submit.loading .spinner{display:inline-block}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(min-width:768px){.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 2rem}.form-group.full-width,.form-actions{grid-column:span 2}}
