:root{color:#edf0e8;font-synthesis:none;text-rendering:optimizelegibility;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0b0e0d;font-family:Inter,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:0;min-height:100vh;margin:0}a{color:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}.legacy-page{width:min(960px,100% - 40px);margin:0 auto;padding:28px 0 36px}.legacy-page .topbar{background:#1b241b99;border:1px solid #c2d5b927;border-radius:16px;padding:20px;display:flex}.legacy-page .brand{align-items:center;gap:14px;display:inline-flex}.legacy-page .brand>span:last-child{gap:3px;display:grid}.legacy-page .brand strong{letter-spacing:.14em;font-size:18px}.legacy-page .brand small{color:#9ca996}.legacy-page .brand-mark{color:#17210f;background:#c0f29a;border-radius:13px;place-items:center;width:52px;height:52px;font-size:28px;font-weight:800;display:grid}.legacy-page .eyebrow{color:#c0f29a;letter-spacing:.13em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:700}.legacy-page :is(h1,h2,p){margin-top:0}.legacy-page h1{letter-spacing:-.04em;margin-bottom:20px;font-size:clamp(32px,5vw,54px);line-height:1.1}.legacy-page .content{gap:14px;padding:34px 0;display:grid}.legacy-page .section-heading{padding:20px 6px 10px}.legacy-page .section-heading p{color:#b5bfae;overflow-wrap:anywhere;line-height:1.7}.legacy-page .section-heading .eyebrow{color:#c0f29a}.legacy-page .card{background:#1b241b66;border:1px solid #c2d5b91a;border-radius:13px;padding:24px}.legacy-page .card h2{margin-bottom:12px;font-size:20px;font-weight:600}.legacy-page .card-body{color:#b5bfae;gap:12px;font-size:14px;line-height:1.8;display:grid}.legacy-page .card-body p{margin-bottom:0}.legacy-page .card-body ul{margin:0;padding-left:22px}.legacy-page .inline-link{color:#c0f29a;overflow-wrap:anywhere;text-underline-offset:4px;font-weight:500}.legacy-page .policy-reference{overflow-wrap:anywhere;color:#b7c8aa}.legacy-page .contact-button{color:#17210f;overflow-wrap:anywhere;background:#c0f29a;border-radius:8px;justify-content:center;align-items:center;width:fit-content;max-width:100%;min-height:44px;padding:10px 16px;font-weight:650;text-decoration:none;display:inline-flex}.legacy-page .footer{color:#8d9886;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:18px;font-size:12px;display:flex}.legacy-page a:focus-visible{outline-offset:5px;outline:2px solid #c0f29a}@media (width<=480px){.legacy-page{width:calc(100% - 32px);padding-top:16px}.legacy-page .card{padding:20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.portfolio{--surface:#0c100f;--ink:#f0f2ec;--muted:#9ba49d;--green:#c0f29a;--line:#cde2d21f;color:var(--ink);-webkit-font-smoothing:antialiased;background:#0b0e0d;font-family:Inter,Segoe UI,system-ui,sans-serif;position:relative;overflow:clip}.portfolio *,.portfolio :before,.portfolio :after{box-sizing:border-box}.portfolio ::selection{color:#0b0e0d;background:#c0f29a}.portfolio a{text-decoration:none}.portfolio button{font:inherit;cursor:pointer}.portfolio svg{flex-shrink:0}.portfolio :is(a,button,summary):focus-visible{outline:2px solid var(--green);outline-offset:6px}.portfolio :is(h1,h2,h3,h4,p){margin:0}.portfolio img{max-width:100%;display:block}.portfolio .shell{width:min(1200px,100% - 104px);margin-inline:auto}.portfolio .section-space{padding-top:116px}.portfolio section[id]{scroll-margin-top:32px}.skip-link{z-index:100;background:var(--green);color:#10180d;border-radius:10px;padding:14px 20px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:16px}.ambient-light{pointer-events:none;background:radial-gradient(#51684624,#0000 64%);width:980px;height:980px;position:absolute;top:-380px;right:-400px}.portfolio-header{border-bottom:1px solid var(--line);z-index:5;align-items:center;gap:28px;min-height:104px;display:flex;position:relative}.wordmark{letter-spacing:-3px;align-items:baseline;margin-right:auto;padding:8px 0;font-size:37px;font-weight:750;line-height:1;display:inline-flex}.wordmark i{color:var(--green);font-style:normal}.portfolio-nav{gap:34px;margin-right:34px;display:flex}.portfolio-nav a{color:#b0b8b2;font-size:13px;transition:color .2s}.portfolio-nav a:hover{color:var(--ink)}.header-actions{align-items:center;gap:24px;display:flex}.language-switch{border:1px solid var(--line);border-radius:8px;gap:2px;padding:3px;display:flex}.language-switch button{color:#abb3ad;letter-spacing:.06em;background:0 0;border:0;border-radius:5px;min-width:34px;min-height:32px;font-size:10px;font-weight:650}.language-switch button[aria-pressed=true]{color:var(--ink);background:#d2e4d113;box-shadow:0 1px 4px #0003}.header-contact{border:1px solid #c3d6c12c;border-radius:8px;justify-content:center;align-items:center;gap:18px;padding:12px 16px;font-size:12px;transition:border-color .2s,background .2s;display:flex}.header-contact:hover{background:#c0f29a0a;border-color:#c0f29a66}.hero-section{padding-top:75px}.hero-layout{grid-template-columns:1.1fr 1fr;align-items:center;display:grid;position:relative}.hero-content{z-index:2;padding-bottom:42px;animation:.9s both hero-in;position:relative}.hero-eyebrow{letter-spacing:.145em;color:#bdc7bf;align-items:center;gap:10px;font-size:10px;font-weight:600;display:flex}.status-light{background:var(--green);border-radius:50%;width:6px;height:6px;box-shadow:0 0 12px #baf39844}.portfolio h1{letter-spacing:-.062em;margin-top:28px;font-size:clamp(47px,5.65vw,78px);font-weight:560;line-height:1.09}.portfolio h1>span{display:block}.accent-text{color:var(--green)}.headline-dot{display:none}.hero-intro{max-width:415px;color:var(--muted);font-size:15px;line-height:1.85;margin-top:25px!important}.hero-buttons{flex-wrap:wrap;gap:15px;margin-top:30px;display:flex}.button{border-radius:8px;justify-content:center;align-items:center;gap:20px;min-height:49px;padding:0 21px;font-size:12px;font-weight:650;transition:transform .25s,background .25s,box-shadow .25s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--green);border:1px solid var(--green);box-shadow:0 4px 20px #a7f47309;color:#17210f!important}.button-primary:hover{background:#d0ffac;box-shadow:0 6px 25px #a7f4731a}.button-quiet{color:#c5ccc6;border:1px solid var(--line);background:#ffffff03}.button-quiet:hover{background:#d0e2cf0b}.hero-location{color:#8f9a92;align-items:center;gap:7px;font-size:11px;display:flex;margin-top:27px!important}.hero-location svg{color:#9eaa9f}.location-separator{background:#7c887d;border-radius:50%;width:3px;height:3px;margin-inline:6px}.hero-art{aspect-ratio:1;width:117%;transform:translateY(var(--parallax,0px));margin-top:-24px;margin-left:-8%;position:relative}.android-art{z-index:1;width:100%;height:auto;animation:1.25s both art-in;position:relative}.art-halo{filter:blur(25px);background:radial-gradient(#97d88617,#83a97106 48%,#0000 70%);border-radius:50%;position:absolute;inset:5%}.art-orbit{pointer-events:none;border:1px solid #b6d1b30c;border-radius:50%;position:absolute}.orbit-one{inset:6%;transform:rotate(-35deg)scaleX(.87)}.orbit-two{inset:17% -1%;transform:rotate(32deg)scaleY(.64)}.floating-label{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:2;color:#d5dfd5;background:linear-gradient(120deg,#263129cc,#152018bb);border:1px solid #bed6be24;border-radius:12px;align-items:center;gap:12px;padding:14px 17px;font-size:11px;animation:7s ease-in-out infinite gentle-float;display:flex;position:absolute;box-shadow:0 12px 30px #0003,inset 0 1px #ffffff05}.floating-label small{color:#93a393;margin-top:4px;font-size:9px;display:block}.compose-glyph{color:var(--green);text-shadow:4px 2px #586d514a;font-size:35px;line-height:1}.label-compose{top:22%;right:9%;transform:rotate(5deg)}.label-android{animation-delay:-3s;bottom:20%;left:8%}.label-android svg{color:#b8e89a;width:27px;height:23px}.art-caption{text-align:center;letter-spacing:.1em;color:#82917f;width:100%;font-size:9px;position:absolute;bottom:2%}.art-caption span{border-top:1px solid #52684f;width:22px;margin:0 8px 3px 0;display:inline-block}.hero-facts{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr 1.18fr;margin-top:18px;padding:30px 0 32px;display:grid}.hero-facts>div{border-right:1px solid var(--line);align-items:center;gap:20px;padding-inline:32px;display:flex}.hero-facts>div:first-child{padding-left:0}.hero-facts>div:last-child{border-right:0;padding-right:0}.hero-facts strong{white-space:nowrap;letter-spacing:-.05em;font-size:35px;font-weight:450}.hero-facts strong>span{color:#778570;font-size:23px}.hero-facts>div>span:not(.toolkit-symbol){color:var(--muted);max-width:118px;font-size:11px;line-height:1.65}.hero-facts .toolkit-symbol{color:#92a487;font-size:39px;font-weight:300}.toolkit-fact>div{flex-direction:column;gap:5px;display:flex}.toolkit-fact>div>strong{letter-spacing:-.035em;font-size:17px;font-weight:500}.toolkit-fact>div>strong>span{font-size:14px}.toolkit-fact>div>span{color:var(--muted);font-size:10px}.team-strip{align-items:center;gap:55px;padding-top:40px;display:flex}.team-label{letter-spacing:.11em;color:#828d84;max-width:120px;font-size:9px;line-height:1.8}.team-names{flex:1;justify-content:space-around;align-items:center;gap:25px;display:flex}.team-names>div{text-align:center}.team-names strong{color:#c2c8bf;letter-spacing:-.04em;font-size:18px;font-weight:550;display:block}.team-names strong span{color:#74816e;margin-inline:5px;font-weight:300}.team-names small{color:#7d877e;margin-top:7px;font-size:9px;display:block}.team-names .alicorp-name{letter-spacing:-.07em;font-size:26px;font-weight:600}.team-names .iberia-name{letter-spacing:.08em;font-size:21px;font-style:italic;font-weight:750}.section-kicker{color:#a8b39f;letter-spacing:.15em;font-size:9px;font-weight:600;display:block;margin-bottom:19px!important}.portfolio h2{letter-spacing:-.052em;font-size:clamp(32px,3.7vw,47px);font-weight:500;line-height:1.15}.portfolio h2>span{color:#a5b29e}.section-heading-row{justify-content:space-between;align-items:flex-end;gap:44px;margin-bottom:36px;display:flex}.section-intro{color:var(--muted);max-width:320px;font-size:13px;line-height:1.85}.section-heading-row .section-intro{padding-bottom:4px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:26px;display:grid}.project-card{border:1px solid var(--line);background:linear-gradient(125deg,#1d251e77,#151b1770);border-radius:16px;padding:10px;transition:border-color .35s,box-shadow .35s;overflow:hidden}.project-card:hover{border-color:#bed5b633;box-shadow:0 16px 45px #0002}.project-image-wrap{border-radius:9px;position:relative;overflow:hidden}.project-visual{place-items:center;height:255px;display:grid;position:relative;overflow:hidden}.visual-grid{opacity:.15;background-image:linear-gradient(#fff1 1px,#0000 1px),linear-gradient(90deg,#fff1 1px,#0000 1px);background-size:35px 35px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(#000,#0000 78%);mask-image:radial-gradient(#000,#0000 78%)}.project-visual>:not(.visual-grid){transition:transform .7s cubic-bezier(.2,.7,.2,1)}.project-card:hover .project-visual>:not(.visual-grid){transform:translateY(-5px)rotate(-1deg)}.visual-note{color:#e1e9e08c;letter-spacing:.03em;font-size:8px;position:absolute;bottom:13px;left:15px}.project-number{color:#edf4ed88;font-size:9px;position:absolute;top:15px;right:16px}.project-body{padding:25px 19px 4px}.project-category{letter-spacing:.11em;color:#97a38e;font-size:8px;line-height:1.7}.project-body h3{letter-spacing:-.045em;margin-top:9px;font-size:25px;font-weight:500}.project-description{color:var(--muted);max-width:390px;min-height:45px;font-size:12px;line-height:1.85;margin-top:10px!important}.tags{flex-wrap:wrap;gap:6px;margin:20px 0 21px;padding:0;list-style:none;display:flex}.tags li{color:#b0bbb0;background:#cedfc705;border:1px solid #b2c8a916;border-radius:5px;padding:6px 9px;font-size:9px;line-height:1.4}.project-details{border-top:1px solid var(--line)}.project-details summary{color:#c0cdb9;cursor:pointer;justify-content:space-between;align-items:center;padding:16px 0;font-size:11px;list-style:none;display:flex}.portfolio summary::-webkit-details-marker{display:none}.project-details summary svg{transition:transform .25s}.project-details[open] summary svg{transform:rotate(45deg)}.case-content{gap:18px;padding:3px 0 20px;animation:.3s details-in;display:grid}.case-content h4{color:#d4dfcf;margin-bottom:6px;font-size:11px;font-weight:600}.case-content p{color:var(--muted);font-size:12px;line-height:1.85}.visual-design{background:radial-gradient(at 25% 0,#7b689440,#0000 80%),#24202d}.design-composition{align-items:center;gap:18px;display:flex;position:relative;transform:rotate(-5deg)}.design-widget{background:linear-gradient(135deg,#70617777,#36303f99);border:1px solid #d0bcff26;border-radius:11px;width:144px;height:175px;padding:17px;box-shadow:0 20px 30px #100f1a66}.widget-eyebrow{color:#d8cceb;font-size:10px}.type-sample{letter-spacing:-.06em;color:#f0e7ff;margin-top:12px;font-size:28px;font-weight:500;line-height:1.1;display:block}.swatches{margin-top:19px;display:flex}.swatches i{background:#c9b7e2;border:2px solid #4c4159;border-radius:50%;width:25px;height:25px;margin-right:-5px}.swatches i:nth-child(2){background:#8c77a2}.swatches i:nth-child(3){background:#e5dccf}.swatches i:nth-child(4){background:#aabb90}.component-stack{gap:14px;width:153px;display:grid;transform:translateY(13px)}.sample-button{color:#282130;background:#cab9df;border-radius:8px;justify-content:space-between;align-items:center;padding:13px;font-size:10px;display:flex;box-shadow:0 10px 20px #0002}.sample-controls{background:#63537166;border:1px solid #d5b7fa20;border-radius:8px;justify-content:space-between;align-items:center;padding:10px;display:flex}.sample-toggle{background:#b3c79c;border-radius:20px;width:33px;height:19px;padding:3px;display:block}.sample-toggle:after{content:"";background:#f1f5ed;border-radius:50%;width:13px;height:13px;margin-left:auto;display:block}.sample-checkbox{color:#40314b;background:#c8b5df;border-radius:4px;place-items:center;width:19px;height:19px;display:grid}.sample-radio{border:4px solid #bca2d4;border-radius:50%;width:18px;height:18px}.sample-slider{background:linear-gradient(90deg,#c5addd 66%,#625071 66%);border-radius:4px;height:5px;margin-top:5px}.sample-slider i{background:#e2d5f0;border-radius:50%;width:13px;height:13px;margin:-4px 0 0 62%;display:block}.sample-lines{gap:7px;display:flex}.sample-lines i{background:#6e5d7e;border-radius:3px;width:70%;height:7px;display:block}.sample-lines i:last-child{background:#51435e;width:30%}.visual-retail{background:radial-gradient(at 70% 0,#65947a33,#0000 85%),#182b24}.retail-composition{width:300px;height:210px;position:relative}.retail-orbit{border:1px dashed #c4e1c62b;border-radius:50%;width:270px;height:140px;position:absolute;top:30px;left:10px;transform:rotate(-22deg)}.parcel{filter:drop-shadow(10px 20px 15px #05181066);width:108px;height:119px;position:absolute;top:12px;left:101px;transform:rotate(9deg)}.order-label{background:linear-gradient(120deg,#3a5b47ee,#253f31ee);border:1px solid #b7e4b631;border-radius:11px;align-items:center;gap:12px;width:230px;height:58px;padding:13px;display:flex;position:absolute;bottom:22px;left:23px;transform:rotate(-5deg);box-shadow:0 12px 25px #06190d66}.order-check{color:#29432c;background:#bed9ac;border-radius:50%;place-items:center;width:29px;height:29px;display:grid}.order-label>div{flex:1;gap:7px;display:grid}.order-label i{background:#b7c7af;border-radius:6px;width:75%;height:5px;display:block}.order-label i+i{background:#809f84;width:50%}.order-dot{background:#b7dfa0;border-radius:50%;width:5px;height:5px}.route-label{background:#34563cbf;border:1px solid #bddfbb26;border-radius:8px;width:133px;padding:16px;display:flex;position:absolute;top:62px;right:0;transform:rotate(9deg)}.route-label span{background:#b5cca4;width:30px;height:2px;position:relative}.route-label span:before{content:"";background:#c6e0b2;border-radius:50%;width:7px;height:7px;position:absolute;top:-3px}.route-label span:last-child{width:7px}.visual-chess{background:radial-gradient(at 30% 10%,#aa83502e,#0000 80%),#28251c}.chess-composition{width:305px;height:230px;position:relative}.chessboard{opacity:.45;border:1px solid #dac79a20;grid-template-columns:repeat(5,1fr);gap:1px;width:191px;height:191px;display:grid;position:absolute;top:21px;left:0;transform:rotate(-12deg)skewY(5deg)}.chessboard i{background:#3b382b}.chessboard i:nth-child(odd){background:#8a805d}.clock-face{background:linear-gradient(115deg,#403c29,#23251c);border:1px solid #cfbd8955;border-radius:12px;width:148px;padding:7px;position:absolute;top:35px;right:9px;transform:rotate(10deg);box-shadow:8px 16px 26px #080c0866}.clock-face>span{color:#a9ad8e;font-variant-numeric:tabular-nums;letter-spacing:-.055em;place-items:center;height:74px;font-size:30px;display:grid}.clock-face>div{color:#343e25;background:#d1dcad;border-radius:7px;place-content:center;height:80px;display:grid}.clock-face>div>span{letter-spacing:-.07em;font-variant-numeric:tabular-nums;font-size:33px}.clock-face i{text-align:center;font-size:9px;font-style:normal}.chess-knight{color:#e4d8b2;text-shadow:0 12px 14px #100e0677;font-family:Georgia,serif;font-size:106px;line-height:1;position:absolute;top:51px;left:45px;transform:rotate(-7deg)}.visual-play{background:radial-gradient(at 60% 40%,#8996b620,#0000 80%),#242b37}.play-composition{width:302px;height:222px;position:relative}.play-orbit{border:1px dashed #c7d1e025;border-radius:50%;position:absolute;inset:15px 47px}.play-block{border:1px solid #ffffff30;border-radius:18px;place-items:center;width:82px;height:82px;display:grid;position:absolute;box-shadow:8px 12px 22px #0c122b44,inset 0 2px 1px #ffffff12}.block-circle{background:linear-gradient(135deg,#5d7b69,#3c5949);top:33px;left:29px;transform:rotate(-15deg)}.block-circle i{border:9px solid #bfd5aa;border-radius:50%;width:39px;height:39px}.block-triangle{background:linear-gradient(135deg,#b79a66,#786e4d);top:18px;left:159px;transform:rotate(15deg)}.block-triangle i{border-bottom:37px solid #e8d6a4;border-left:22px solid #0000;border-right:22px solid #0000;width:0;height:0;transform:translateY(-3px)}.block-star{color:#e2d1ec;background:linear-gradient(135deg,#9a89b1,#685576);font-size:67px;line-height:1;top:117px;left:106px;transform:rotate(9deg)}.block-square{background:linear-gradient(135deg,#8b9dad,#526777);border-radius:14px;width:60px;height:60px;top:116px;left:206px;transform:rotate(-10deg)}.block-square i{border:6px solid #c1d2df;border-radius:4px;width:26px;height:26px}.play-spark{color:#a9bdd0;font-size:22px;position:absolute}.spark-one{top:3px;left:111px}.spark-two{font-size:18px;top:153px;left:48px}.experience-section{grid-template-columns:1fr 1.08fr;gap:100px;display:grid}.experience-heading h2{font-size:clamp(30px,3.2vw,42px)}.experience-heading .section-intro{margin-top:21px}.skill-list{flex-wrap:wrap;gap:8px;max-width:365px;margin:28px 0;padding:0;list-style:none;display:flex}.skill-list li{color:#b7c1b2;border:1px solid var(--line);border-radius:6px;padding:8px 11px;font-size:10px}.spoken-languages{color:#8d988b;font-size:10px;line-height:1.8}.experience-timeline{margin:0;padding:0;list-style:none}.experience-item{border-left:1px solid #b2c9a623;padding:0 0 31px 30px;position:relative}.experience-item:last-child{border-color:#0000;padding-bottom:0}.timeline-point{background:#172013;border:1px solid #74876c;border-radius:50%;width:7px;height:7px;position:absolute;top:4px;left:-4px}.timeline-point.current{background:var(--green);border-color:var(--green);box-shadow:0 0 0 5px #baf3980a}.experience-date{color:#95a18e;letter-spacing:.08em;font-size:9px;margin-bottom:12px!important}.experience-item h3{letter-spacing:-.035em;flex-wrap:wrap;align-items:baseline;column-gap:14px;font-size:20px;font-weight:500;display:flex}.experience-item h3>span{letter-spacing:0;color:#929e8d;font-size:11px;font-weight:400}.experience-role{color:#b0bbaa;font-size:11px;margin-top:7px!important}.experience-description{color:var(--muted);font-size:12px;line-height:1.85;margin-top:12px!important}.personal-section{border:1px solid var(--line);background:linear-gradient(120deg,#1d26203d,#0f14114d);border-radius:13px;margin-top:100px;padding:27px 30px}.personal-section summary{cursor:pointer;align-items:center;gap:26px;list-style:none;display:flex}.personal-symbols{flex-shrink:0;align-items:center;width:91px;height:66px;display:flex;position:relative}.personal-symbols svg{color:#b6c8a9;background:#283324;border:1px solid #b4c5ae1a;border-radius:13px;padding:14px;transform:rotate(-12deg);box-sizing:content-box!important}.personal-symbols svg+svg{color:#91aa95;background:#1c281f;margin-top:12px;margin-left:-23px;transform:rotate(13deg)}.personal-heading{flex:1}.personal-heading .section-kicker{font-size:8px;margin-bottom:8px!important}.portfolio .personal-heading h2{letter-spacing:-.035em;font-size:22px}.personal-intro{color:var(--muted);margin-top:9px;font-size:11px;display:block}.personal-toggle{white-space:nowrap;color:#b3c2a9;align-items:center;gap:20px;font-size:11px;display:flex}.personal-toggle svg{transition:transform .25s}.personal-section details[open] .personal-toggle svg{transform:rotate(45deg)}.hobby-grid{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;margin-top:25px;padding-top:35px;animation:.35s details-in;display:grid}.hobby-icon{color:#adc89f;margin-bottom:17px;display:block}.hobby-ocean .hobby-icon{color:#91bbbc}.hobby-travel .hobby-icon{color:#cebba0}.hobby-animals .hobby-icon{color:#bea6cb}.hobby h3{margin-bottom:10px;font-size:13px;font-weight:500}.hobby p{color:var(--muted);font-size:11px;line-height:1.85}.hobby figure{margin:18px 0 0}.hobby :is(img,video){border-radius:8px;width:100%}.hobby figcaption{color:var(--muted);margin-top:7px;font-size:10px}.contact-section{padding-top:80px!important}.contact-panel{background:radial-gradient(at 100% 70%,#465c313a,#0000 64%),linear-gradient(120deg,#1d2a1bc4,#131b15b3);border:1px solid #b6d0a727;border-radius:19px;padding:52px 60px 30px;position:relative;overflow:hidden}.contact-copy{z-index:1;max-width:560px;position:relative}.contact-copy h2{font-size:clamp(38px,4.8vw,62px)}.contact-copy h2>span{color:var(--green)}.contact-copy>p:not(.section-kicker,.copy-feedback){color:#abb8a5;max-width:385px;margin-top:19px;font-size:13px;line-height:1.85}.contact-actions{flex-wrap:wrap;gap:13px;margin-top:26px;display:flex}.email-line{align-items:center;gap:12px;margin-top:22px;display:flex}.email-line>a{color:#a8b6a0;overflow-wrap:anywhere;font-size:11px}.email-line>a:hover{color:var(--green)}.copy-button{color:#9caa91;background:#c3dcb40b;border:0;border-radius:6px;flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.copy-button:hover{color:#c6e1b4;background:#c3dcb41a}.copy-feedback{min-height:17px;color:var(--green);font-size:10px;margin-top:2px!important}.contact-monogram{letter-spacing:-.1em;color:#bbd49f0c;text-shadow:0 1px #d4edb609;font-size:236px;font-weight:600;line-height:1.2;position:absolute;top:50%;right:70px;transform:translateY(-56%)rotate(-9deg)}.contact-monogram>span{color:#b9dd8e19}.contact-orbit{border:1px solid #bfdaa60b;border-radius:50%;width:460px;height:460px;position:absolute;top:-26px;right:-85px}.contact-orbit:before,.contact-orbit:after{content:"";border:1px solid #bfdaa60d;border-radius:50%;position:absolute;inset:40px}.contact-orbit:after{inset:90px}.portfolio-footer{color:#828e7f;justify-content:space-between;align-items:center;gap:20px;padding:33px 0 29px;font-size:10px;display:flex}.footer-signature{color:#b1bdab}.footer-signature>span{color:#7d8879;margin-left:16px}.portfolio-footer>a{align-items:center;gap:10px;display:flex}.portfolio-footer>a:hover{color:#c1d7b3}.portfolio-footer>a>svg{transform:rotate(-90deg)}.reveal-ready{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.65,.2,1);transform:translateY(22px)}.reveal-ready.is-visible{opacity:1;transform:translateY(0)}@keyframes hero-in{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes art-in{0%{opacity:0;transform:translateY(22px)rotate(-3deg)}to{opacity:1;transform:translateY(0)rotate(0)}}@keyframes gentle-float{0%,to{translate:0}50%{translate:0 -8px}}@keyframes details-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (width>=1500px){.hero-section{padding-top:91px}.hero-art{margin-top:-35px}.hero-content{padding-bottom:65px}}@media (width<=1100px){.portfolio .shell{width:calc(100% - 72px)}.portfolio-header{min-height:91px}.portfolio-nav{gap:24px;margin-right:5px}.header-actions{gap:18px}.hero-section{padding-top:62px}.hero-layout{grid-template-columns:1.13fr 1fr}.portfolio h1{font-size:clamp(48px,5.75vw,69px)}.hero-intro{max-width:370px;font-size:13px}.hero-art{width:119%;margin-left:-10%}.hero-facts>div{gap:14px;padding-inline:21px}.hero-facts strong{font-size:30px}.hero-facts .toolkit-symbol{font-size:31px}.team-strip{gap:30px}.team-names strong{font-size:16px}.label-compose{padding:11px 13px;top:15%;right:0}.label-android{padding:12px;bottom:15%}.floating-label{font-size:9px}.floating-label small{font-size:8px}.experience-section{gap:60px}.personal-section{padding-inline:24px}.contact-monogram{font-size:190px;right:40px}.project-visual{height:235px}}@media (width<=800px){.portfolio .shell{width:calc(100% - 44px)}.portfolio-header{gap:16px;min-height:83px}.portfolio-nav{gap:19px;margin-right:0}.portfolio-nav a{font-size:11px}.header-actions{gap:13px}.header-contact{gap:9px;padding:10px 12px;font-size:11px}.hero-section{padding-top:49px}.hero-layout{grid-template-columns:1.2fr 1fr}.portfolio h1{font-size:46px}.hero-eyebrow{letter-spacing:.1em;font-size:8px}.hero-intro{max-width:320px;font-size:12px}.hero-buttons{gap:10px}.button{gap:13px;min-height:46px;padding-inline:16px;font-size:11px}.hero-art{margin-top:-30px}.label-compose{gap:7px;padding:9px;font-size:8px;top:7%}.label-compose small{display:none}.compose-glyph{font-size:25px}.label-android{gap:7px;padding:9px;font-size:8px;bottom:9%;left:18%}.label-android svg{width:21px}.art-caption{font-size:8px;bottom:-8%}.hero-facts>div{gap:11px;padding-inline:16px}.hero-facts>div>span:not(.toolkit-symbol){font-size:10px}.hero-facts strong{font-size:28px}.hero-facts .toolkit-symbol{display:none}.toolkit-fact>div>strong{font-size:15px}.team-strip{gap:12px}.team-label{max-width:94px;font-size:8px}.team-names{gap:18px}.team-names strong{font-size:14px}.team-names .alicorp-name{font-size:22px}.team-names .iberia-name{font-size:18px}.portfolio .section-space{padding-top:86px}.section-heading-row{gap:30px}.section-heading-row .section-intro{max-width:250px;font-size:12px}.project-grid{gap:19px}.project-body{padding:20px 11px 3px}.project-body h3{font-size:22px}.project-category{font-size:7px}.project-visual{height:218px}.project-visual>:not(.visual-grid){scale:.85}.project-description{min-height:61px;font-size:11px}.tags{gap:5px}.tags li{padding:5px 7px;font-size:8px}.experience-section{grid-template-columns:1fr 1fr;gap:38px}.experience-heading h2{font-size:32px}.experience-item{padding-left:23px}.experience-item h3{font-size:19px}.experience-description{font-size:11px}.personal-section{margin-top:77px}.personal-section summary{gap:18px}.personal-symbols{width:75px}.personal-symbols svg{padding:10px}.portfolio .personal-heading h2{font-size:20px}.personal-toggle{gap:12px}.hobby-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}.contact-panel{padding:40px 35px 22px}.contact-copy{max-width:470px}.contact-monogram{opacity:.6;right:20px}}@media (width<=620px){.portfolio .shell{width:calc(100% - 40px)}.portfolio-header{min-height:80px}.wordmark{font-size:33px}.portfolio-nav{display:none}.header-actions{gap:13px}.language-switch button{min-width:31px;min-height:31px}.header-contact{min-height:39px;font-size:10px}.hero-section{padding-top:44px}.hero-layout{flex-direction:column;align-items:stretch;display:flex}.hero-content{padding-bottom:0}.hero-eyebrow{letter-spacing:.095em;font-size:9px}.portfolio h1{margin-top:26px;font-size:clamp(43px,10.2vw,63px);line-height:1.1}.hero-intro{max-width:380px;font-size:13px;line-height:1.85;margin-top:23px!important}.hero-buttons{gap:11px;margin-top:25px}.button{min-height:48px;padding-inline:17px;font-size:11px}.hero-location{font-size:10px;margin-top:23px!important}.hero-art{aspect-ratio:1.14;width:100%;max-width:430px;margin:9px auto 17px;transform:none}.android-art{width:110%;margin-top:-7%;margin-left:-5%;max-width:none!important}.art-halo{inset:0}.orbit-one{inset:0 3%}.orbit-two{inset:7% -1%}.label-compose{padding:11px 13px;font-size:10px;top:13%;right:0}.label-compose small{font-size:8px;display:block}.compose-glyph{font-size:30px}.label-android{gap:10px;padding:12px;font-size:10px;bottom:15%;left:3%}.label-android svg{width:23px}.art-caption{font-size:8px;bottom:0}.hero-facts{grid-template-columns:1fr 1fr;gap:0;margin-top:8px;padding:22px 0}.hero-facts>div{gap:13px;padding:0 0 0 21px}.hero-facts>div:nth-child(2){border-right:0}.hero-facts strong{font-size:33px}.hero-facts strong>span{font-size:20px}.hero-facts>div>span:not(.toolkit-symbol){max-width:100px;font-size:9px}.hero-facts>.toolkit-fact{display:none}.team-strip{flex-direction:column;align-items:stretch;gap:24px;padding-top:28px}.team-label{letter-spacing:.15em;text-align:center;max-width:none;font-size:8px}.team-names{justify-content:space-between;gap:12px}.team-names strong{font-size:13px}.team-names strong>span{margin-inline:1px}.team-names .alicorp-name{font-size:22px}.team-names .iberia-name{font-size:17px}.team-names small{font-size:8px}.portfolio .section-space{padding-top:74px}.section-heading-row{margin-bottom:27px;display:block}.section-kicker{font-size:8px;margin-bottom:16px!important}.portfolio h2{font-size:clamp(31px,8vw,42px)}.section-heading-row .section-intro{max-width:335px;margin-top:19px;font-size:12px}.project-grid{grid-template-columns:1fr;gap:24px}.project-card{border-radius:14px;padding:9px}.project-visual{height:245px}.project-visual>:not(.visual-grid){scale:1}.project-body{padding:23px 15px 4px}.project-category{font-size:8px}.project-body h3{font-size:26px}.project-description{min-height:0;font-size:12px}.tags{gap:6px}.tags li{padding:6px 9px;font-size:9px}.project-details summary{padding-block:18px;font-size:11px}.experience-section{display:block}.experience-heading h2{font-size:34px}.experience-heading .section-intro{max-width:320px;font-size:12px}.skill-list{max-width:350px;margin-block:23px}.spoken-languages{font-size:10px}.experience-timeline{margin-top:37px;padding-left:4px}.experience-item{padding-bottom:29px;padding-left:27px}.experience-item h3{font-size:21px}.experience-description{font-size:12px}.personal-section{margin-top:64px;padding:25px 21px}.personal-section summary{flex-wrap:wrap;gap:16px}.personal-symbols{display:none}.personal-heading{flex-basis:100%}.portfolio .personal-heading h2{font-size:23px}.personal-intro{font-size:11px;line-height:1.7}.personal-toggle{justify-content:space-between;width:100%;font-size:11px}.hobby-grid{gap:28px 22px;margin-top:22px;padding-top:25px}.hobby h3{font-size:12px;line-height:1.5}.hobby p{font-size:11px}.hobby-icon{margin-bottom:13px}.contact-section{padding-top:55px!important}.contact-panel{border-radius:15px;padding:34px 23px 21px}.contact-copy h2{font-size:clamp(34px,9vw,47px)}.contact-copy>p:not(.section-kicker,.copy-feedback){font-size:12px}.contact-actions{gap:10px;margin-top:23px}.contact-actions .button{gap:10px;padding-inline:14px;font-size:10px}.email-line{gap:5px;margin-top:17px}.email-line>a{font-size:10px}.copy-button{width:32px}.contact-monogram{display:none}.contact-orbit{right:-260px}.portfolio-footer{flex-wrap:wrap;gap:14px;padding:28px 0;font-size:9px}.portfolio-footer>span:nth-child(2){flex-basis:100%;order:3}.footer-signature>span{margin-left:10px}}@media (width<=360px){.portfolio .shell{width:calc(100% - 32px)}.header-actions{gap:9px}.header-contact{gap:7px;padding-inline:9px}.hero-eyebrow{font-size:8px}.portfolio h1{font-size:40px}.hero-buttons .button{gap:9px;padding-inline:12px;font-size:10px}.hero-facts>div{gap:9px;padding-left:13px}.hero-facts>div:first-child{padding-left:0}.hero-facts strong{font-size:29px}.team-names strong{font-size:11px}.team-names .alicorp-name{font-size:20px}.team-names .iberia-name{font-size:15px}.project-visual{height:216px}.project-visual>:not(.visual-grid){scale:.85}.project-body{padding-inline:10px}.project-body h3{font-size:23px}.contact-panel{padding-inline:18px}.contact-actions .button{padding-inline:11px}.email-line>a{font-size:9px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.portfolio *,.portfolio :before,.portfolio :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.portfolio .reveal-ready{opacity:1;transform:none}.hero-art{transform:none!important}.project-card:hover .project-visual>:not(.visual-grid),.button:hover{transform:none}}
