*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#0a0a0a;font-family:Lato,sans-serif}.card-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.card{backdrop-filter:blur(16px);z-index:1;background:#0a0f16d9;border-radius:16px;width:100%;max-width:740px;animation:.6s ease-out cardIn;display:flex;position:relative;box-shadow:0 20px 60px #000c}.card:before{content:"";z-index:-1;opacity:.8;filter:blur(8px);background:linear-gradient(45deg,#0fc,#f0c,#0fc,#f0c) 0 0/400%;border-radius:18px;animation:12s linear infinite glowingCard;position:absolute;inset:-3px}.card:after{content:"";z-index:-1;background:#0a0f16f2;border-radius:16px;position:absolute;inset:0}@keyframes glowingCard{0%{background-position:0 0}50%{background-position:400% 0}to{background-position:0 0}}@keyframes cardIn{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.card-body{flex-direction:column;flex:1;justify-content:center;padding:40px 36px;display:flex}.card-body h1{letter-spacing:-.02em;background:linear-gradient(90deg,#fff,#0fc);-webkit-text-fill-color:transparent;text-shadow:0 0 20px #0fc3;-webkit-background-clip:text;margin-bottom:2px;font-size:28px;font-weight:700}.card-body h2{color:#0fc;margin-bottom:20px;font-size:15px;font-weight:300}.card-body p{opacity:.9;font-size:14px;font-weight:300;line-height:1.7}.card-facts{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.card-facts li{opacity:.9;align-items:baseline;gap:10px;font-size:14px;font-weight:300;line-height:1.5;display:flex}.card-facts .fact-emoji{text-align:center;flex:none;width:1.25em}.card-image{justify-content:center;align-items:center;padding:36px;display:flex}.card-image img{object-fit:cover;border:3px solid #0fc9;border-radius:50%;width:180px;height:180px;box-shadow:0 0 30px #00ffcc4d}.card-icons{flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px;display:flex}.card-icons a{color:#fff;background:#ffffff1a;border:1px solid #ffffff14;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:20px;text-decoration:none;transition:all .25s;display:flex;position:relative}.card-icons a:hover{color:#0fc;background:#00ffcc26;border-color:#00ffcc80;transform:translateY(-3px);box-shadow:0 6px 20px #00ffcc4d}.card-icons a .tip{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;background:#111;border-radius:6px;padding:4px 10px;font-family:Lato,sans-serif;font-size:11px;transition:opacity .2s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.card-icons a:hover .tip{opacity:1}.projects-section{border-top:1px solid #ffffff1a;margin-top:28px;padding-top:24px}.projects-title{color:#ffffff80;text-transform:uppercase;letter-spacing:.08em;margin-bottom:16px;font-size:12px;font-weight:500}.projects-icons{margin-top:0}.contact-page{justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.contact-card{background:#111;border:1px solid #ffffff0f;border-radius:16px;width:100%;max-width:520px;padding:40px 36px;animation:.6s ease-out cardIn;box-shadow:0 20px 60px #00000080}.contact-back{color:#ffffff80;align-items:center;gap:6px;margin-bottom:28px;font-size:13px;text-decoration:none;transition:color .2s;display:inline-flex}.contact-back:hover{color:#12a89c}.contact-card h1{margin-bottom:4px;font-size:24px;font-weight:700}.contact-card .subtitle{color:#ffffff80;margin-bottom:32px;font-size:14px;font-weight:300}.form-group{margin-bottom:20px}.form-group label{letter-spacing:.05em;text-transform:uppercase;color:#fff6;margin-bottom:8px;font-size:12px;font-weight:400;display:block}.form-group input,.form-group textarea{color:#fff;background:#0a0a0a;border:1px solid #ffffff14;border-radius:10px;outline:none;width:100%;padding:12px 16px;font-family:Lato,sans-serif;font-size:15px;font-weight:300;transition:border-color .2s}.form-group input::placeholder,.form-group textarea::placeholder{color:#fff3}.form-group input:focus,.form-group textarea:focus{border-color:#12a89c}.form-group textarea{resize:vertical;min-height:120px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.submit-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#024945,#12a89c);border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:8px;padding:14px;font-family:Lato,sans-serif;font-size:15px;font-weight:400;transition:all .25s;display:flex}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #12a89c40}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.status-msg{border-radius:10px;align-items:center;gap:8px;margin-top:16px;padding:12px 16px;font-size:14px;animation:.3s fadeIn;display:flex}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.status-msg.success{color:#22c55e;background:#22c55e1a;border:1px solid #22c55e33}.status-msg.error{color:#ef4444;background:#ef44441a;border:1px solid #ef444433}.hp-field{opacity:0;position:absolute;left:-9999px}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin;display:inline-block}@media (width<=640px){.card{flex-direction:column-reverse;max-width:100%}.card-image{padding:28px 28px 0}.card-image img{width:100px;height:100px}.card-body{text-align:center;padding:24px 28px 32px}.card-body h1{font-size:22px}.card-body h2{font-size:14px}.card-facts{text-align:left;width:fit-content;margin-inline:auto}.card-facts li,.card-body p{font-size:13px}.card-icons{justify-content:center}.projects-section{margin-top:24px;padding-top:24px}.form-row{grid-template-columns:1fr}.contact-card{padding:28px 24px}}.cookie-overlay{z-index:9999;backdrop-filter:blur(4px);background:#0006;justify-content:center;align-items:flex-end;padding:20px;animation:.3s overlayIn;display:flex;position:fixed;inset:0}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.cookie-banner{background:#141414;border:1px solid #ffffff14;border-radius:16px;width:100%;max-width:480px;padding:28px;animation:.4s bannerSlide;box-shadow:0 -8px 40px #00000080}@keyframes bannerSlide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cookie-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.cookie-header i{color:#12a89c;font-size:22px}.cookie-header h3{font-size:17px;font-weight:600}.cookie-text{color:#fff9;margin-bottom:20px;font-size:13px;font-weight:300;line-height:1.6}.cookie-details{background:#0a0a0a;border:1px solid #ffffff0f;border-radius:12px;flex-direction:column;gap:12px;margin-bottom:20px;padding:16px;animation:.3s fadeIn;display:flex}.cookie-toggle{cursor:pointer;justify-content:space-between;align-items:center;display:flex}.toggle-info{flex-direction:column;gap:2px;display:flex}.toggle-info strong{font-size:13px;font-weight:600}.toggle-info small{color:#fff6;font-size:11px}.cookie-toggle input{display:none}.toggle-slider{background:#ffffff1a;border-radius:12px;flex-shrink:0;width:44px;height:24px;transition:background .25s;position:relative}.toggle-slider:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .25s;position:absolute;top:3px;left:3px}.cookie-toggle input:checked+.toggle-slider{background:#12a89c}.cookie-toggle input:checked+.toggle-slider:after{transform:translate(20px)}.toggle-slider.locked{opacity:.5;cursor:not-allowed;background:#12a89c}.toggle-slider.locked:after{transform:translate(20px)}.cookie-actions{gap:8px;display:flex}.cookie-btn{cursor:pointer;border:none;border-radius:10px;flex:1;padding:10px 12px;font-family:Lato,sans-serif;font-size:13px;font-weight:500;transition:all .2s}.cookie-btn.reject{color:#ffffff80;background:#ffffff0f;border:1px solid #ffffff14}.cookie-btn.reject:hover{color:#fff;background:#ffffff1a}.cookie-btn.details{color:#ffffffb3;background:#ffffff0f;border:1px solid #ffffff14}.cookie-btn.details:hover{color:#fff;background:#ffffff1a}.cookie-btn.accept{color:#fff;background:linear-gradient(135deg,#024945,#12a89c);border:1px solid #0000}.cookie-btn.accept:hover{transform:translateY(-1px);box-shadow:0 4px 16px #12a89c4d}.cookie-legal{text-align:center;color:#ffffff4d;margin-top:14px;font-size:11px}.cookie-legal a{color:#12a89c;text-decoration:none}.cookie-legal a:hover{text-decoration:underline}@media (width<=640px){.cookie-banner{padding:22px 20px}.cookie-actions{flex-direction:column}}.cv-modal-overlay{z-index:9998;backdrop-filter:blur(6px);background:#0009;justify-content:center;align-items:center;padding:20px;animation:.3s overlayIn;display:flex;position:fixed;inset:0}.cv-modal{background:#141414;border:1px solid #ffffff14;border-radius:16px;width:100%;max-width:400px;padding:32px 28px;animation:.4s bannerSlide;position:relative;box-shadow:0 20px 60px #00000080}.cv-modal-close{color:#fff6;cursor:pointer;background:0 0;border:none;padding:4px;font-size:18px;transition:color .2s;position:absolute;top:16px;right:16px}.cv-modal-close:hover{color:#fff}.cv-modal-header{align-items:center;gap:10px;margin-bottom:12px;display:flex}.cv-modal-header i{color:#12a89c;font-size:22px}.cv-modal-header h3{font-size:17px;font-weight:600}.cv-modal-text{color:#fff9;margin-bottom:20px;font-size:13px;font-weight:300;line-height:1.6}.cookie-overlay[hidden],.cookie-details[hidden],.cv-modal-overlay[hidden],.status-msg[hidden]{display:none}.error-card{text-align:center}.error-code{background:linear-gradient(135deg,#0c7a71,#12a89c);color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:12px;font-size:64px;font-weight:700;line-height:1}.error-card .subtitle{margin-bottom:28px}@media (width<=640px){.error-code{font-size:52px}}.project-content{color:#ffffffbf;margin:24px 0 28px;font-size:15px;line-height:1.7}.project-content>:first-child{margin-top:0}.project-content>:last-child{margin-bottom:0}.project-content p{margin:0 0 16px}.project-content h2{color:#fff;margin:28px 0 12px;font-size:17px;font-weight:600}.project-content h3{color:#ffffffe6;margin:22px 0 10px;font-size:15px;font-weight:600}.project-content ul,.project-content ol{margin:0 0 16px;padding-left:20px}.project-content li{margin-bottom:6px}.project-content a{color:#12a89c;border-bottom:1px solid #12a89c59;text-decoration:none;transition:border-color .2s}.project-content a:hover{border-bottom-color:#12a89c}.project-content img{border-radius:10px;max-width:100%;height:auto;margin:8px 0 20px}.project-content code{background:#ffffff12;border-radius:5px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.project-content pre{background:#0a0a0a;border:1px solid #ffffff14;border-radius:10px;margin:0 0 20px;padding:16px;overflow-x:auto}.project-content pre code{background:0 0;padding:0}.project-content blockquote{color:#fff9;border-left:2px solid #12a89c80;margin:0 0 20px;padding:4px 0 4px 16px}.project-link{color:#fff;background:linear-gradient(135deg,#0c7a71,#12a89c);border-radius:8px;align-items:center;gap:8px;padding:11px 22px;font-size:14px;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex}.project-link:hover{transform:translateY(-2px);box-shadow:0 6px 20px #12a89c4d}.legal-page{align-items:flex-start;padding-top:56px;padding-bottom:56px}.legal-card{max-width:720px}.legal-text h2:first-of-type{margin-top:0}.legal-text address{font-style:normal;line-height:1.7}.legal-updated{color:#fff6;border-top:1px solid #ffffff0f;margin-top:32px;padding-top:20px;font-size:13px}.consent-reset{color:#ffffffd9;cursor:pointer;background:0 0;border:1px solid #ffffff24;border-radius:8px;align-items:center;gap:8px;margin:4px 0 20px;padding:9px 18px;font-family:inherit;font-size:14px;transition:border-color .2s,color .2s;display:inline-flex}.consent-reset:hover{color:#12a89c;border-color:#12a89c}@media (width<=640px){.legal-page{padding-top:32px;padding-bottom:32px}}.login-card{text-align:center;max-width:420px}.login-icon{background:linear-gradient(135deg,#0c7a71,#12a89c);border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;margin:0 auto 20px;font-size:22px;display:flex}.login-card form{text-align:left;margin-top:28px}.login-card .submit-btn{justify-content:center;width:100%}.login-note{color:#ffffff59;margin-top:28px;font-size:12px;line-height:1.6}
