@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/public/fonts/inter-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/public/fonts/inter-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/public/fonts/inter-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/public/fonts/inter-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/public/fonts/inter-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/public/fonts/inter-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url(/public/fonts/playfair-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url(/public/fonts/playfair-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;src:url(/public/fonts/playfair-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:600;font-display:swap;src:url(/public/fonts/playfair-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url(/public/fonts/playfair-400-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:700;font-display:swap;src:url(/public/fonts/playfair-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--primary:#2c5f8d;--primary-light:#3a7ab8;--accent:#d4b483;--accent-dark:#c9a066;--text:#1a1a1a;--text-light:#555;--bg:#ffffff;--bg-light:#f8f9fa;--bg-card:#ffffff;--border:#e0e0e0;--shadow:rgba(0, 0, 0, 0.1);--shadow-strong:rgba(0, 0, 0, 0.15);--transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);--navbar-bg:rgba(255, 255, 255, 0.95);--navbar-scrolled:rgba(255, 255, 255, 0.98);--overlay-bg:rgba(44, 95, 141, 0.85);--success:#28a745;--error:#dc3545;--focus-ring:rgba(44, 95, 141, 0.4)}[data-theme=dark]{--primary:#5a9fd4;--primary-light:#7bb8e8;--accent:#e8c896;--accent-dark:#d4b483;--text:#e8e8e8;--text-light:#b0b0b0;--bg:#121418;--bg-light:#1a1d24;--bg-card:#1e2128;--border:#2d3139;--shadow:rgba(0, 0, 0, 0.3);--shadow-strong:rgba(0, 0, 0, 0.5);--navbar-bg:rgba(18, 20, 24, 0.95);--navbar-scrolled:rgba(18, 20, 24, 0.98);--overlay-bg:rgba(26, 29, 36, 0.9);--focus-ring:rgba(90, 159, 212, 0.5);color-scheme:dark}body,body :not(script):not(style){transition:background-color .3s,color .3s,border-color .3s,box-shadow .3s}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:light}input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff!important;color:#1a1a1a!important;color-scheme:light!important}input:-webkit-autofill,input:-webkit-autofill:focus,input:-webkit-autofill:hover,textarea:-webkit-autofill,textarea:-webkit-autofill:focus,textarea:-webkit-autofill:hover{-webkit-box-shadow:0 0 0 1000px #fff inset!important;-webkit-text-fill-color:#1a1a1a!important;transition:background-color 5000s ease-in-out}[data-theme=dark] input:not([type=checkbox]):not([type=radio]):not([type=range]),[data-theme=dark] select,[data-theme=dark] textarea{background-color:var(--bg-light)!important;color:var(--text)!important;color-scheme:dark!important}[data-theme=dark] input:-webkit-autofill,[data-theme=dark] input:-webkit-autofill:focus,[data-theme=dark] input:-webkit-autofill:hover,[data-theme=dark] textarea:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #1a1d24 inset!important;-webkit-text-fill-color:#e8e8e8!important}body{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen,Ubuntu,sans-serif;color:var(--text);background:var(--bg);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:'Playfair Display',Georgia,'Times New Roman',serif;font-weight:600;line-height:1.3}img{max-width:100%;height:auto;display:block}a{text-decoration:none;color:inherit;transition:var(--transition)}ul{list-style:none}button{border:none;cursor:pointer;font-family:inherit;transition:var(--transition)}.container{max-width:1400px;margin:0 auto;padding:0 2rem}.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--primary);color:#fff;padding:.75rem 1.5rem;border-radius:0 0 8px 8px;font-weight:600;z-index:9999;transition:top .3s}.skip-link:focus{top:0;outline:3px solid var(--accent);outline-offset:2px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--navbar-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 2px 30px var(--shadow);transition:var(--transition)}.navbar.scrolled{background:var(--navbar-scrolled);box-shadow:0 4px 30px var(--shadow-strong)}.nav-content{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;gap:1rem}.logo-container{display:flex;align-items:center;gap:0;transition:var(--transition);flex-shrink:0;z-index:2}.logo-container:hover{transform:scale(1.02)}.logo-img{height:60px;width:auto;margin-right:-.5rem;transition:var(--transition)}.logo-container:hover .logo-img{filter:drop-shadow(0 4px 8px rgba(44, 95, 141, .3))}.logo span{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:600;color:var(--primary);transition:var(--transition);white-space:nowrap}.logo-container:hover .logo span{color:var(--accent)}.nav-menu{display:flex;gap:.25rem;align-items:center}.nav-link{font-weight:500;font-size:.9rem;position:relative;padding:.6rem .9rem;color:var(--text);border-radius:8px;transition:color .3s,background .3s;white-space:nowrap}.nav-link::after{content:'';position:absolute;bottom:6px;left:50%;width:0;height:2px;background:var(--accent);transition:width .3s;transform:translateX(-50%);border-radius:2px}.nav-link:hover{color:var(--primary);background:rgba(44,95,141,.08)}[data-theme=dark] .nav-link:hover{background:rgba(90,159,212,.15)}.nav-link:hover::after{width:calc(100% - 20px)}.nav-link.active{color:var(--primary);font-weight:600}.nav-link.active::after{width:calc(100% - 20px)}.nav-link span{display:inline-block;transition:transform .3s}.nav-link:hover span{transform:translateY(-2px)}.lang-switcher{margin-left:.5rem}.btn-lang{display:inline-block;padding:.55rem 1.1rem;background:var(--primary);color:#fff;border-radius:6px;font-size:.85rem;font-weight:600;letter-spacing:.5px;transition:background .3s,transform .3s,box-shadow .3s;box-shadow:0 2px 8px rgba(44,95,141,.25)}.btn-lang:hover{background:var(--accent);color:var(--text);transform:translateY(-2px);box-shadow:0 4px 12px rgba(212,180,131,.4)}.btn-lang span{display:inline-block}.theme-toggle{display:flex;align-items:center;justify-content:center;width:42px;height:42px;background:0 0;border:2px solid var(--border);border-radius:10px;cursor:pointer;transition:var(--transition);margin-left:.5rem}.theme-toggle:hover{background:var(--bg-light);border-color:var(--primary);transform:scale(1.05)}.theme-toggle svg{width:20px;height:20px;transition:var(--transition)}.theme-toggle .sun-icon{color:var(--accent);display:none}.theme-toggle .moon-icon{color:var(--primary);display:block}[data-theme=dark] .theme-toggle .sun-icon{display:block}[data-theme=dark] .theme-toggle .moon-icon{display:none}[data-theme=dark] .theme-toggle{border-color:var(--border)}[data-theme=dark] .theme-toggle:hover{background:var(--bg-card);border-color:var(--accent)}.menu-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;width:48px;height:48px;background:0 0;border-radius:12px;padding:0;cursor:pointer;transition:background .3s;position:relative}.menu-toggle:hover{background:rgba(44,95,141,.1)}.menu-toggle span{position:absolute;width:24px;height:2.5px;background:var(--primary);border-radius:2px;transition:.4s cubic-bezier(.68, -.6, .32, 1.6)}.menu-toggle span:first-child{transform:translateY(-8px)}.menu-toggle span:nth-child(2){width:18px}.menu-toggle span:nth-child(3){transform:translateY(8px)}.menu-toggle:hover span:first-child{transform:translateY(-9px);width:26px}.menu-toggle:hover span:nth-child(2){width:22px}.menu-toggle:hover span:nth-child(3){transform:translateY(9px);width:26px}.menu-toggle.active span{background:var(--accent)}.menu-toggle.active span:first-child{transform:translateY(0) rotate(45deg);width:26px}.menu-toggle.active span:nth-child(2){opacity:0;transform:scaleX(0)}.menu-toggle.active span:nth-child(3){transform:translateY(0) rotate(-45deg);width:26px}.menu-toggle::after{content:'';position:absolute;width:100%;height:100%;background:radial-gradient(circle,var(--accent) 0,transparent 70%);border-radius:12px;opacity:0;transform:scale(0);transition:.5s}.menu-toggle:active::after{opacity:.3;transform:scale(1.5);transition:none}.hero{min-height:70vh;display:flex;align-items:center;justify-content:center;position:relative;background:linear-gradient(135deg,rgba(44,95,141,.85) 0,rgba(68,168,242,.8) 100%),url('/public/assets/images/hero-bg.webp') center/cover no-repeat;color:#fff;text-align:center;padding:120px 2rem 80px}.hero-title{font-size:clamp(2.5rem, 6vw, 4rem);margin-bottom:1.5rem}.hero-subtitle{font-size:clamp(1.1rem, 3vw, 1.5rem);margin-bottom:2.5rem;opacity:.9}section.page-header{padding:10rem 0 4rem;background-image:linear-gradient(135deg,rgba(44,95,141,.9) 0,rgba(68,168,242,.85) 100%),url('/public/assets/images/hero-bg.webp');background-position:center;background-size:cover;background-repeat:no-repeat;color:#fff;text-align:center;position:relative}.page-title{font-family:'Playfair Display',serif;font-size:clamp(2rem, 5vw, 3rem);margin-bottom:1rem}.page-subtitle{font-family:'Playfair Display',serif;font-size:clamp(1rem, 2.5vw, 1.25rem);opacity:.9}.btn-primary,.btn-secondary{display:inline-block;padding:1rem 2.5rem;border-radius:50px;font-weight:600;transition:var(--transition)}.btn-primary{background:var(--accent);color:#1a1a1a}.btn-primary:hover{background:#fff;color:var(--primary);transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,0,0,.2)}.btn-secondary{background:0 0;color:var(--primary);border:2px solid var(--primary)}.btn-secondary:hover{background:var(--primary);color:#fff}.hero-cta{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:.5rem}.hero-cta .btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;background:var(--primary);color:#fff;font-weight:600;border-radius:50px;border:2px solid var(--accent);transition:var(--transition)}.hero-cta .btn-primary svg{transition:transform .3s}.hero-cta .btn-primary:hover{background:var(--accent);color:#1a1a1a;transform:translateY(-3px);box-shadow:0 8px 25px rgba(212,180,131,.35)}.hero-cta .btn-primary:hover svg{transform:translateX(4px)}.btn-outline{display:inline-flex;align-items:center;padding:1rem 2rem;background:0 0;color:#fff;font-weight:600;border:2px solid rgba(255,255,255,.5);border-radius:50px;transition:var(--transition);backdrop-filter:blur(10px)}.btn-outline:hover{background:rgba(255,255,255,.15);border-color:#fff;transform:translateY(-3px)}section{padding:6rem 0}.section-header{text-align:center;margin-bottom:4rem}.section-title{font-size:clamp(2rem, 5vw, 3rem);margin-bottom:1rem;color:var(--primary)}.section-subtitle{font-size:1.1rem;color:var(--text-light)}.cta-section{background:linear-gradient(135deg,var(--primary) 0,#44a8f2 100%);color:#fff;text-align:center;padding:5rem 0}.cta-content h2{font-size:2.5rem;margin-bottom:1rem}.cta-content p{margin-bottom:2rem;font-size:1.1rem;opacity:.9}.alert{padding:1.5rem;border-radius:12px;margin-bottom:2rem;text-align:center}.alert h3{margin-bottom:.5rem;font-size:1.3rem}.alert-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.alert-error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.services-section{padding:6rem 0;background:linear-gradient(180deg,var(--bg) 0,var(--bg-light) 100%)}.section-badge{display:inline-block;background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;padding:.5rem 1.25rem;border-radius:50px;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:1px;margin-bottom:1rem}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:3rem}.service-card{position:relative;background:#fff;border-radius:20px;padding:2.5rem 2rem 2rem;box-shadow:0 4px 20px rgba(0,0,0,.06);transition:.4s cubic-bezier(.4, 0, .2, 1);border:1px solid rgba(0,0,0,.05);overflow:hidden}.service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary),var(--accent));transform:scaleX(0);transition:transform .4s}.service-card:hover{transform:translateY(-10px);box-shadow:0 20px 40px rgba(0,0,0,.12)}.service-card:hover::before{transform:scaleX(1)}.service-card.featured{border:2px solid var(--primary);transform:scale(1.02)}.service-card.featured:hover{transform:scale(1.02) translateY(-10px)}.service-badge{position:absolute;top:1.25rem;right:1.25rem;background:var(--bg-light);color:var(--text-light);padding:.35rem .85rem;border-radius:50px;font-size:.75rem;font-weight:600}.service-badge.accent{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff}.service-icon{width:70px;height:70px;background:linear-gradient(135deg,rgba(44,95,141,.1),rgba(68,168,242,.1));border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.service-icon svg{width:32px;height:32px;stroke:var(--primary)}.service-card.featured .service-icon{background:linear-gradient(135deg,var(--primary),var(--accent))}.service-card.featured .service-icon svg{stroke:white}.service-content h3{font-size:1.4rem;font-weight:700;margin-bottom:.75rem;color:var(--text)}.service-description{color:var(--text-light);font-size:.95rem;line-height:1.7;margin-bottom:1.5rem}.service-features{list-style:none;padding:0;margin:0 0 1.5rem}.service-features li{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;font-size:.9rem;color:var(--text);border-bottom:1px solid var(--border)}.service-features li:last-child{border-bottom:none}.service-features .check{color:var(--accent);font-weight:700;font-size:.85rem}.service-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1.25rem;border-top:1px solid var(--border);margin-top:auto}.service-price{display:flex;flex-direction:column}.price-label{font-size:.75rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.5px}.price-value{font-family:'Playfair Display',serif;font-size:1.75rem;font-weight:700;color:var(--primary)}.service-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;background:0 0;color:var(--primary);border:2px solid var(--primary);border-radius:50px;font-size:.85rem;font-weight:600;text-decoration:none;transition:var(--transition)}.service-btn:hover,.service-card.featured .service-btn{background:var(--primary);color:#fff}.service-card.featured .service-btn:hover{background:var(--accent);border-color:var(--accent)}.services-cta{text-align:center;margin-top:4rem;padding:2.5rem;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:20px;color:#fff}.services-cta p{font-size:1.2rem;margin-bottom:1.25rem;opacity:.95}.services-cta .btn-secondary{background:#fff;color:var(--primary);border:none}.services-cta .btn-secondary:hover{background:var(--bg-light);transform:translateY(-2px)}@media (max-width:1024px){.services-grid{grid-template-columns:1fr;max-width:500px;margin-left:auto;margin-right:auto}.service-card.featured{transform:none}.service-card.featured:hover{transform:translateY(-10px)}}@media (max-width:768px){.services-section{padding:4rem 0}.service-card{padding:2rem 1.5rem}.service-footer{flex-direction:column;gap:1rem;align-items:stretch}.service-btn{text-align:center;justify-content:center}}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2.5rem}.project-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 5px 20px var(--shadow);transition:var(--transition)}.project-card:hover{transform:translateY(-10px);box-shadow:0 15px 40px rgba(0,0,0,.15)}.project-image{position:relative;height:250px;overflow:hidden}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.project-card:hover .project-image img{transform:scale(1.1)}.project-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent,rgba(0,0,0,.7));display:flex;align-items:flex-end;justify-content:center;opacity:0;transition:var(--transition);padding:2rem}.project-card:hover .project-overlay{opacity:1}.btn-overlay{background:var(--accent);color:#fff;padding:.8rem 2rem;border-radius:25px;font-weight:600}.project-content{padding:1.5rem}.project-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.project-category{font-size:.85rem;color:#996b2d;text-transform:uppercase;letter-spacing:1px}[data-theme=dark] .project-category{color:var(--accent)}.project-technologies{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.tech-tag{font-size:.85rem;padding:.4rem 1rem;background:var(--bg-light);border-radius:20px}.footer{background:var(--text);color:#fff;padding:4rem 0 2rem;font-family:'Playfair Display',serif}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem;margin-bottom:3rem}.footer-heading,.footer-section h3{color:var(--accent);margin-bottom:1rem;font-family:'Playfair Display',Georgia,'Times New Roman',serif;font-weight:600;font-size:1.1rem}.footer-section ul{display:flex;flex-direction:column;gap:.8rem}.footer-section a{color:rgba(255,255,255,.9)}.footer-section a:hover{color:var(--accent)}.footer-brand .footer-logo{display:flex;align-items:center;gap:.05rem;margin-bottom:1rem;text-decoration:none;color:var(--accent);font-size:1.6rem;font-weight:700}.footer-brand .footer-logo-img{height:60px;width:auto;transition:transform .3s}.footer-brand .footer-logo:hover .footer-logo-img{transform:scale(1.1)}.footer-bottom{text-align:center;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.85)}.fade-in,.fade-in-up,.reveal{opacity:0;animation:.8s forwards fadeIn}.fade-in-up{transform:translateY(30px);animation:.8s forwards fadeInUp}.delay-1{animation-delay:.3s}.delay-2{animation-delay:.6s}@keyframes fadeIn{to{opacity:1}}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.reveal{transform:translateY(50px)}.reveal.active{opacity:1;transform:translateY(0);transition:.8s}.text-center{text-align:center}@media (min-width:1200px){.logo-img{height:70px}.logo span{font-size:1.5rem}.nav-link{font-size:.95rem;padding:.7rem 1rem}.nav-menu{gap:.3rem}}@media (max-width:1199px){.logo-img{height:55px}.logo span{font-size:1.2rem}.nav-link{font-size:.85rem;padding:.5rem .7rem}.nav-menu{gap:.15rem}.btn-lang{padding:.5rem .9rem;font-size:.8rem}}@media (max-width:991px){.logo-img{height:50px}.logo span{font-size:1.1rem}.nav-link{font-size:.8rem;padding:.5rem .6rem}.btn-lang{padding:.45rem .8rem;font-size:.75rem}}@media (max-width:768px){.nav-content{padding:.5rem 0}.logo-img{height:45px}.logo span{font-size:1rem}.nav-menu{position:fixed;top:0;left:0;width:100%;height:100vh;height:100dvh;background:linear-gradient(145deg,var(--primary) 0,#1e4a6d 100%);flex-direction:column;justify-content:center;align-items:center;gap:0;padding:1rem;z-index:999;overflow-y:auto;clip-path:circle(0% at calc(100% - 44px) 36px);transition:clip-path .7s cubic-bezier(.65, 0, .35, 1);visibility:hidden}.nav-menu.active{clip-path:circle(150% at calc(100% - 44px) 36px);visibility:visible}.nav-menu li{opacity:0;transform:translateY(20px);transition:opacity .4s,transform .4s}.nav-menu.active li{opacity:1;transform:translateY(0)}.nav-menu.active li:first-child{transition-delay:0.15s}.nav-menu.active li:nth-child(2){transition-delay:0.2s}.nav-menu.active li:nth-child(3){transition-delay:0.25s}.nav-menu.active li:nth-child(4){transition-delay:0.3s}.nav-menu.active li:nth-child(5){transition-delay:0.35s}.nav-menu.active li:nth-child(6){transition-delay:0.4s}.nav-menu .nav-link{font-size:1.1rem;font-weight:500;padding:.75rem 1.5rem;display:block;text-align:center;color:rgba(255,255,255,.9);letter-spacing:.3px;border-radius:8px;transition:.3s}.nav-menu .nav-link::after,.nav-menu .nav-link::before{display:none}.nav-menu .nav-link.active,.nav-menu .nav-link:hover{color:var(--accent);background:rgba(255,255,255,.1)}.nav-menu .nav-link span{display:inline-block}.nav-menu .lang-switcher{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.15);width:100%;max-width:200px;text-align:center}.nav-menu .btn-lang{display:inline-block;padding:.6rem 1.8rem;font-size:.9rem;background:rgba(255,255,255,.95)!important;color:var(--primary);border-radius:25px;box-shadow:0 4px 15px rgba(0,0,0,.2);font-weight:600;overflow:hidden;position:relative}.nav-menu .btn-lang::before{content:none!important;display:none!important}.nav-menu .btn-lang:hover{background:var(--accent)!important;color:var(--text);transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.25)}.nav-menu .theme-toggle{width:48px;height:48px;background:rgba(255,255,255,.1);border:2px solid rgba(255,255,255,.3);border-radius:12px;margin-top:.5rem}.nav-menu .theme-toggle:hover{background:rgba(255,255,255,.2);border-color:var(--accent)}.nav-menu .theme-toggle svg{color:#fff}.menu-toggle{display:flex;z-index:1001}.menu-toggle.active span{background:#fff}.projects-grid{grid-template-columns:1fr}}@media (max-width:480px){.container{padding:0 1rem}.logo-img{height:38px}.logo span{font-size:.85rem}.nav-menu{padding:.75rem;clip-path:circle(0% at calc(100% - 36px) 32px)}.nav-menu.active{clip-path:circle(150% at calc(100% - 36px) 32px)}.nav-menu .nav-link{font-size:1rem;padding:.65rem 1.2rem}.nav-menu .lang-switcher{margin-top:.75rem;padding-top:.75rem}.nav-menu .btn-lang{padding:.5rem 1.5rem;font-size:.85rem}.menu-toggle{width:42px;height:42px}.menu-toggle span{width:20px}}@media (max-width:360px){.logo-img{height:32px}.logo span{font-size:.75rem}.nav-menu .nav-link{font-size:.95rem;padding:.55rem 1rem}.nav-menu .btn-lang{padding:.45rem 1.2rem;font-size:.8rem}}.footer-legal{display:flex;justify-content:center;align-items:center;gap:.75rem;margin-top:1rem;font-size:.85rem}.footer-legal a{color:rgba(255,255,255,.9);text-decoration:none;transition:color .3s}.footer-legal a:hover{color:var(--accent)}.footer-legal .separator{color:rgba(255,255,255,.6)}.legal-page{padding:6rem 0 4rem;min-height:80vh;background:var(--bg-light)}.legal-page h1{font-size:2.5rem;color:var(--primary);margin-bottom:.5rem;text-align:center}.legal-updated{text-align:center;color:var(--text-light);font-size:.9rem;margin-bottom:3rem}.legal-content{max-width:800px;margin:0 auto;background:var(--bg);padding:3rem;border-radius:12px;box-shadow:0 4px 20px var(--shadow)}.legal-section{margin-bottom:2.5rem}.legal-section:last-child{margin-bottom:0}.legal-section h2{font-size:1.4rem;color:var(--primary);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--accent)}.legal-section p{margin-bottom:1rem;color:var(--text);line-height:1.8}.legal-section ul{margin:1rem 0 1rem 1.5rem}.legal-section li{margin-bottom:.5rem;line-height:1.7;color:var(--text)}.legal-section a{color:var(--primary);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .3s}.legal-section a:hover{border-bottom-color:var(--primary)}@media (max-width:768px){.legal-page{padding:5rem 1rem 3rem}.legal-page h1{font-size:1.8rem}.legal-content{padding:1.5rem}.legal-section h2{font-size:1.2rem}}@media (max-width:480px){.footer-legal{flex-direction:column;gap:.5rem}.footer-legal .separator{display:none}}[data-theme=dark] .service-card{background:var(--bg-card);border-color:var(--border);box-shadow:0 4px 20px var(--shadow)}[data-theme=dark] .service-card:hover{box-shadow:0 20px 40px var(--shadow-strong)}[data-theme=dark] .service-card.featured{border-color:var(--primary)}[data-theme=dark] .service-icon{background:linear-gradient(135deg,rgba(90,159,212,.2),rgba(90,159,212,.1))}[data-theme=dark] .project-card{background:var(--bg-card);box-shadow:0 10px 30px var(--shadow)}[data-theme=dark] .project-card:hover{box-shadow:0 20px 50px var(--shadow-strong)}[data-theme=dark] .process-step,[data-theme=dark] .skill-category,[data-theme=dark] .stat-item{background:var(--bg-card);box-shadow:0 5px 20px var(--shadow)}[data-theme=dark] .contact-form{background:var(--bg-card);box-shadow:0 5px 30px var(--shadow)}[data-theme=dark] .contact-info{background:var(--bg-light)}[data-theme=dark] .social-link{background:var(--bg-card)}[data-theme=dark] .social-link:hover{background:var(--primary)}[data-theme=dark] .form-group input,[data-theme=dark] .form-group select,[data-theme=dark] .form-group textarea{background:var(--bg-light);border-color:var(--border);color:var(--text)}[data-theme=dark] .form-group input:focus,[data-theme=dark] .form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--focus-ring)}[data-theme=dark] .form-group input::placeholder,[data-theme=dark] .form-group textarea::placeholder{color:var(--text-light)}[data-theme=dark] .alert-success{background:rgba(40,167,69,.15);border-color:rgba(40,167,69,.3);color:#6dd47e}[data-theme=dark] .alert-error{background:rgba(220,53,69,.15);border-color:rgba(220,53,69,.3);color:#f18e99}[data-theme=dark] .btn-primary{background:var(--accent);color:#1a1a1a}[data-theme=dark] .btn-primary:hover{background:var(--accent-dark)}[data-theme=dark] .btn-secondary{border-color:var(--text);color:var(--text)}[data-theme=dark] .btn-secondary:hover{background:var(--text);color:var(--bg)}[data-theme=dark] .btn-submit{background:var(--primary)}[data-theme=dark] .btn-submit:hover{background:var(--primary-light)}[data-theme=dark] .filter-btn{background:var(--bg-card);border-color:var(--border);color:var(--text)}[data-theme=dark] .filter-btn.active,[data-theme=dark] .filter-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff}[data-theme=dark] .footer,[data-theme=dark] .portfolio-filters{background:var(--bg-light)}[data-theme=dark] .footer-bottom{border-color:var(--border)}[data-theme=dark] .process-section,[data-theme=dark] .stats-section{background:var(--bg-light)}[data-theme=dark] .cta-section{background:linear-gradient(135deg,var(--primary) 0,#3a7ab8 100%)}[data-theme=dark] .skill-tag,[data-theme=dark] .tech-tag{background:var(--bg-light);color:var(--text)}[data-theme=dark] .legal-page{background:var(--bg)}[data-theme=dark] .legal-section{border-color:var(--border)}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important}}