.language-toggle,.theme-toggle{font-size:14px}.back-to-top{position:fixed;right:20px;bottom:20px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;color:#fff;background:var(--color-blue);cursor:pointer;z-index:1000;opacity:0;pointer-events:none;transition:opacity var(--transition-base),transform var(--transition-fast)}.back-to-top--visible{opacity:1;pointer-events:auto}.back-to-top:hover{transform:scale(1.06)}.back-to-top:focus-visible{outline:2px solid var(--text-color);outline-offset:3px}.social-icons{position:fixed;right:24px;bottom:80px;display:flex;flex-direction:column;gap:15px;z-index:1000}.social-icons__link{color:var(--color-blue);font-size:32px;transition:transform var(--transition-fast)}.social-icons__link:hover{transform:scale(1.1)}.cards-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:30px}.card{background:var(--section-background);border-radius:15px;padding:25px;min-height:350px;perspective:1000px;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;border:1px solid rgba(0,0,0,.2)}.card:hover{transform:translateY(-5px);box-shadow:0 5px 15px var(--shadow-color)}.card-inner{position:relative;width:100%;height:100%;text-align:center;transition:transform .6s;transform-style:preserve-3d}.card.flipped .card-inner{transform:rotateY(180deg)}.card-front,.card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;display:flex;flex-direction:column;justify-content:space-between}.card-back{transform:rotateY(180deg)}.card-icon{font-size:2.5rem;color:var(--card-color);margin:20px auto;background:linear-gradient(45deg,var(--card-color),#007bff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.card-title{color:var(--text-color);margin:10px 0;font-size:1.4rem;font-weight:600}.card-text{color:var(--text-color);font-size:.95rem;line-height:1.5;margin:10px 0;opacity:.8}.card-text ul{padding-left:30px;margin:10px 0}.card-text ul li{margin-bottom:5px}.card-cta{text-align:right;color:var(--card-color);font-weight:500;font-size:.9rem;margin-top:auto;padding-top:15px;border-top:1px solid rgba(0,0,0,.2)}.card-back .card-text{text-align:left}.card-cta a{display:inline-flex;align-items:center;gap:5px;text-decoration:none;color:inherit;transition:opacity .3s}.card-cta a:hover{opacity:.8}.brush-stroke{display:block;width:var(--brush-width);height:var(--brush-height);aspect-ratio:4 / 1;background:var(--brush-color);-webkit-mask-image:var(--brush-image);mask-image:var(--brush-image);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:100% 100%;mask-size:100% 100%;transform:rotate(var(--brush-rotation)) scaleX(var(--brush-scale-x)) scaleY(var(--brush-scale-y));transform-origin:center;pointer-events:none;-webkit-user-select:none;user-select:none}.brush-stroke[data-shape=ring]{aspect-ratio:1}.brush-stroke--animated{opacity:0;transition:clip-path .8s cubic-bezier(.22,1,.36,1),opacity .15s ease}.brush-stroke--from-left{clip-path:inset(0 100% 0 0)}.brush-stroke--from-right{clip-path:inset(0 0 0 100%)}.brush-stroke--from-top{clip-path:inset(0 0 100% 0)}.brush-stroke--from-bottom{clip-path:inset(100% 0 0 0)}.brush-stroke--animated.brush-stroke--visible{opacity:1;clip-path:inset(0)}@media (prefers-reduced-motion: reduce){.brush-stroke--animated{opacity:1;clip-path:none;transition:none}}.hero-portrait{position:relative;width:min(100%,720px);aspect-ratio:1 / .9;justify-self:end;overflow:visible}.hero-portrait__brush-blue{position:absolute;left:1%;top:17%;z-index:1}.hero-portrait__photo{position:absolute;left:50%;bottom:0;z-index:3;--hero-portrait-scale: 1.16;width:77%;max-width:none;height:auto;transform:translate(-50%) scale(var(--hero-portrait-scale));transform-origin:center bottom;filter:grayscale(1) contrast(1.22) brightness(.78)}.hero-portrait__brush-black{position:absolute;right:-2%;bottom:3%;z-index:4}.hero-portrait__circle{position:absolute;left:5%;bottom:5%;z-index:5;width:clamp(90px,12vw,150px);aspect-ratio:1;border-radius:50%;background:var(--color-red);opacity:.92;mix-blend-mode:multiply}.hero-portrait__square{position:absolute;right:1%;top:29%;z-index:2;width:clamp(70px,9vw,120px);aspect-ratio:1;background:var(--color-yellow)}.hero-portrait__cross{position:absolute;right:-4%;top:17%;z-index:6;width:150px;height:150px}.hero-portrait__cross:before,.hero-portrait__cross:after{content:"";position:absolute;background:var(--color-ink)}.hero-portrait__cross:before{left:0;top:78%;width:100%;height:3px}.hero-portrait__cross:after{left:58%;top:0;width:3px;height:100%}.hero-portrait__dots{position:absolute;right:-1%;bottom:22%;z-index:2;width:120px;height:78px;background-image:radial-gradient(circle,var(--color-ink) 2px,transparent 2.5px);background-size:22px 22px}.hero-portrait__splatter{position:absolute;z-index:2;width:130px;height:100px;background-image:radial-gradient(circle at 12% 70%,var(--color-ink) 0 2px,transparent 3px),radial-gradient(circle at 28% 35%,var(--color-ink) 0 4px,transparent 5px),radial-gradient(circle at 48% 68%,var(--color-ink) 0 2px,transparent 3px),radial-gradient(circle at 70% 22%,var(--color-ink) 0 3px,transparent 4px),radial-gradient(circle at 88% 62%,var(--color-ink) 0 2px,transparent 3px)}.hero-portrait__splatter--left{left:8%;top:5%;transform:rotate(-14deg)}.hero-portrait__splatter--right{right:1%;bottom:15%;transform:rotate(12deg)}.hero{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(480px,1.18fr);align-items:center;gap:clamp(32px,5vw,88px);min-height:calc(100vh - 80px);margin-top:80px;padding:clamp(52px,7vw,100px) 0 clamp(60px,8vw,110px)}.hero__content{position:relative;z-index:2}.hero__title{display:flex;flex-direction:column;margin:0;font-size:clamp(3.6rem,6.2vw,6.8rem);font-weight:800;line-height:.92;letter-spacing:-.065em}.hero__title span{display:block}.hero__title-accent{color:var(--color-blue)}.hero__underline{width:min(100%,360px);height:11px;margin:28px 0;background:var(--color-ink);clip-path:polygon(0 35%,97% 0,100% 48%,2% 100%)}.hero__roles{display:flex;flex-direction:column;gap:4px;margin:0 0 16px;font-family:monospace;font-size:clamp(.9rem,1.2vw,1.05rem);line-height:1.45}.hero__description{max-width:340px;margin:0 0 28px;font-family:monospace;font-size:.98rem;line-height:1.55}.hero__contact{display:inline-flex;align-items:center;gap:14px;padding:0;border:0;color:var(--text-color);background:transparent;font-weight:700;cursor:pointer}.hero__contact-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;color:var(--color-ink-light);background:var(--color-ink);font-size:1.3rem;transition:transform var(--transition-fast)}.hero__contact:hover .hero__contact-icon{transform:rotate(8deg) scale(1.06)}@media (max-width: 900px){.hero{grid-template-columns:1fr;gap:30px;min-height:auto;padding-top:60px}.hero__content{max-width:620px}.hero-portrait{justify-self:center;width:min(100%,620px)}}@media (max-width: 600px){.hero{margin-top:86px;padding-top:36px}.hero__title{font-size:clamp(3rem,16vw,4.6rem)}.hero-portrait{width:calc(100% + 20px);margin-inline:-10px}.hero-portrait__photo{width:82%;--hero-portrait-scale: 1.1}.hero-portrait__cross{width:95px;height:95px}.hero-portrait__dots{width:80px;height:60px;background-size:17px 17px}}.hero__title span,.hero__roles,.hero__description,.hero__contact,.hero-portrait__photo{animation:hero-enter .7s both}.hero__title span:nth-child(2){animation-delay:70ms}.hero__title span:nth-child(3){animation-delay:.14s}.hero__title span:nth-child(4){animation-delay:.21s}.hero__roles{animation-delay:.28s}.hero__description{animation-delay:.34s}.hero__contact{animation-delay:.4s}.hero-portrait__photo{animation:portrait-enter .8s .18s both}@keyframes hero-enter{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes portrait-enter{0%{opacity:0;transform:translate(-50%) translateY(24px) scale(var(--hero-portrait-scale, 1.16))}to{opacity:1;transform:translate(-50%) translateY(0) scale(var(--hero-portrait-scale, 1.16))}}:root{--color-paper: #f2eee5;--color-paper-dark: #171717;--color-ink: #111111;--color-ink-light: #f5f2ea;--color-blue: #1557d6;--color-red: #df3b2f;--color-yellow: #f2c318;--color-teal: #159b9b;--color-muted: #686868;--font-display: Arial, Helvetica, sans-serif;--font-body: Arial, Helvetica, sans-serif;--page-padding: clamp(20px, 5vw, 72px);--content-width: 1440px;--radius-small: 8px;--radius-round: 999px;--transition-fast: .18s ease;--transition-base: .3s ease}:root{--background-color: var(--color-paper);--text-color: var(--color-ink);--surface-color: rgba(255, 255, 255, .45)}[data-theme=dark]{--background-color: var(--color-paper-dark);--text-color: var(--color-ink-light);--surface-color: rgba(255, 255, 255, .05)}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-width:320px;font-family:var(--font-body);color:var(--text-color);background:var(--background-color);transition:background-color var(--transition-base),color var(--transition-base)}button,input,textarea{font:inherit}button,a{color:inherit}img,svg{display:block;max-width:100%}.container{width:min(var(--content-width),calc(100% - (var(--page-padding) * 2)));margin:0 auto}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:0;border-radius:var(--radius-round);color:#fff;background:var(--color-blue);cursor:pointer;transition:transform var(--transition-fast),opacity var(--transition-fast)}.icon-button:hover{transform:scale(1.06)}.icon-button:focus-visible{outline:2px solid var(--text-color);outline-offset:3px}.site-footer{display:flex;justify-content:center;padding:32px 0 48px;color:var(--color-muted);font-size:12px}.site-footer__link{text-decoration:none;transition:opacity var(--transition-fast)}.site-footer__link:hover{opacity:.75}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:root{--background-color: white;--text-color: #333;--primary-color: #007bff;--nav-background: white;--section-background: white;--shadow-color: rgba(0, 0, 0, .1);scroll-behavior:smooth}[data-theme=dark]{--background-color: #1a1a1a;--text-color: #f5f5f5;--primary-color: #1e90ff;--nav-background: #2d2d2d;--section-background: #2d2d2d;--shadow-color: rgba(255, 255, 255, .1)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Arial,sans-serif;background:var(--background-color);color:var(--text-color);transition:background .3s,color .3s}.container{max-width:1200px;margin:10px auto;padding:0 20px}nav{display:flex;justify-content:space-between;align-items:center;padding:20px 40px;position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--nav-background)}.nav-left{display:flex;align-items:center;gap:20px}.nav-title{font-size:24px;font-weight:700;color:var(--text-color);position:relative;white-space:nowrap}.nav-title:after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:2px;background:var(--primary-color)}nav ul{list-style:none;display:flex;gap:20px;margin:0;padding:0}nav ul li a{text-decoration:none;color:var(--text-color);font-weight:500;padding:10px;border-radius:5px;transition:all .3s ease;white-space:nowrap}nav ul li a:hover{color:var(--primary-color)}nav ul li a.active{background:var(--primary-color);color:#fff}.nav-right{display:flex;align-items:center;gap:10px}.download-cv{background:var(--primary-color);color:#fff;border:none;padding:10px 20px;border-radius:25px;font-size:14px;cursor:pointer;transition:background .3s;white-space:nowrap}.sections{display:flex;flex-direction:column;gap:40px}.section{padding:30px;background:var(--section-background);border-radius:15px;box-shadow:0 4px 6px var(--shadow-color);opacity:0;transform:translateY(20px);transition:opacity .5s,transform .5s;scroll-margin-top:100px}.section.visible{opacity:1;transform:translateY(0)}.section h2{font-size:28px;margin-bottom:20px;color:var(--primary-color)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.contact-container{display:grid;grid-template-columns:1fr 1px 1fr;gap:40px;align-items:center}.contact-divider{height:100%;background:var(--text-color)}.contact-form{display:flex;flex-direction:column;gap:15px}.contact-form input,.contact-form textarea{padding:12px;border:1px solid var(--text-color);border-radius:8px;font-size:14px;background:var(--section-background);color:var(--text-color)}.contact-form textarea{height:120px;resize:vertical}.contact-form button{background:var(--primary-color);color:#fff;border:none;padding:12px 20px;border-radius:8px;cursor:pointer;font-weight:500;transition:background .3s}.contact-form button:hover{filter:brightness(.9)}.whatsapp-section{display:flex;flex-direction:column;align-items:center;gap:20px}.whatsapp-button{background:#25d366;color:#fff;border:none;padding:12px 24px;border-radius:8px;text-decoration:none;display:inline-flex;align-items:center;gap:10px;font-size:16px;transition:background .3s}.whatsapp-button:hover{background:#128C7E}.whatsapp-button svg{width:24px;height:24px}.mobile-menu{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:10px}.mobile-menu span{width:25px;height:3px;background:var(--text-color);transition:all .3s ease}.mobile-menu.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.mobile-menu.open span:nth-child(2){opacity:0}.mobile-menu.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-nav{position:fixed;top:80px;right:0;width:100%;background:var(--nav-background);padding:20px;transform:translate(100%);transition:transform .3s ease;z-index:999}.mobile-nav.open{transform:translate(0)}.mobile-nav ul{list-style:none;display:flex;flex-direction:column;gap:15px}.mobile-nav ul li a{text-decoration:none;color:var(--text-color);font-weight:500;padding:10px;border-radius:5px;display:block}.mobile-nav ul li a.active{background:var(--primary-color);color:#fff}@media (max-width: 768px){nav{padding:15px 20px}.nav-left ul{display:none}.mobile-menu{display:flex}.contact-container{grid-template-columns:1fr}.contact-divider{display:none}.whatsapp-section{margin-top:30px}}.error-message{color:#ff6b6b;font-size:.9rem;margin-top:5px}.success-message{color:#4ecdc4;font-size:.9rem;margin-top:5px}button:disabled{opacity:.7;cursor:not-allowed}
