@font-face{font-family:Sora;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/sora-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:Sora;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/sora-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}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #0a1628;--secondary-color: #0d1f3c;--accent-color: #00b4d8;--accent-warm: #f59e0b;--text-light: #ffffff;--text-dark: #0a1628;--text-gray: #6c757d;--bg-light: #f0f4f8;--text-xs: .72rem;--text-sm: .82rem;--text-base: .94rem;--text-md: 1.02rem;--text-lg: 1.22rem;--text-xl: clamp(1.6rem, 3.4vw, 2.4rem);--text-display: clamp(2.2rem, 4vw, 3rem);--radius-sm: 4px;--radius-md: 10px;--radius-pill: 999px;--shadow-card: 0 10px 30px rgba(0, 0, 0, .18);--shadow-header: 0 2px 20px rgba(0, 0, 0, .1);--transition: all .3s ease}html{scroll-behavior:smooth}body{font-family:Sora,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;color:var(--text-dark);overflow-x:hidden}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1.5rem 0;transition:var(--transition)}.header.scrolled{background:rgba(10,22,40,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1rem 0;box-shadow:var(--shadow-header)}.header-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.logo{font-family:Codec Pro,sans-serif;font-size:1.8rem;font-weight:700;color:var(--text-light);text-decoration:none;letter-spacing:2px}.nav-list{display:flex;gap:2.5rem;list-style:none}.nav-link{color:var(--text-light);text-decoration:none;font-weight:500;font-size:.9rem;letter-spacing:.5px;text-transform:uppercase;transition:var(--transition);position:relative}.nav-link:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background:var(--accent-color);transition:var(--transition)}.nav-link:hover:after{width:100%}.nav-link-cta{background:var(--accent-color);padding:.6rem 1.5rem;border-radius:var(--radius-sm)}.nav-link-cta:hover{background:#d63653}.nav-link-cta:after{display:none}.header-right{display:flex;align-items:center;gap:1rem}.lang-toggle{background:transparent;border:1px solid rgba(255,255,255,.5);color:var(--text-light);padding:.4rem .8rem;font-size:.8rem;font-weight:600;letter-spacing:1px;cursor:pointer;transition:var(--transition);border-radius:var(--radius-sm)}.lang-toggle:hover{background:var(--accent-color);border-color:var(--accent-color)}.nav-list .lang-toggle{display:none}.lang-toggle-desktop{display:block}.mobile-menu-btn{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:5px}.mobile-menu-btn span{display:block;width:25px;height:2px;background:var(--text-light);transition:var(--transition)}.mobile-menu-btn.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.mobile-menu-btn.open span:nth-child(2){opacity:0}.mobile-menu-btn.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.hero{position:relative;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}.video-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1}.video-background video{width:100%;height:100%;object-fit:cover}.video-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(10,22,40,.9) 0%,rgba(13,31,60,.8) 100%)}.hero-content{text-align:center;z-index:1;padding:2rem}.hero-title{font-family:Codec Pro,sans-serif;font-size:clamp(2.5rem,8vw,5rem);font-weight:700;color:var(--text-light);margin-bottom:0;line-height:1.2;letter-spacing:2px}.hero-name{display:block;margin-bottom:1rem}.hero-subtitle{display:block;font-size:clamp(1rem,3vw,1.5rem);color:#fffc;margin-bottom:2.5rem;font-weight:300;letter-spacing:4px;text-transform:uppercase}.hero-cta{display:inline-block;padding:1rem 2.5rem;background:transparent;border:2px solid var(--text-light);color:var(--text-light);text-decoration:none;font-size:.9rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;transition:var(--transition);cursor:pointer}.hero-cta:hover{background:var(--text-light);color:var(--text-dark)}.hero-cta-group{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.hero-cta-primary{background:var(--accent-color);border-color:var(--accent-color);color:var(--text-light)}.hero-cta-primary:hover{background:var(--accent-warm);border-color:var(--accent-warm);color:var(--text-light)}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.mouse{width:26px;height:40px;border:2px solid rgba(255,255,255,.5);border-radius:15px;position:relative}.wheel{width:4px;height:8px;background:rgba(255,255,255,.5);border-radius:2px;position:absolute;top:8px;left:50%;transform:translate(-50%);animation:scroll 2s infinite}@keyframes scroll{0%{opacity:1;top:8px}to{opacity:0;top:24px}}.parallax-section{position:relative;padding:8rem 0;overflow:hidden}.section-dark{position:relative;padding:8rem 0;background:linear-gradient(135deg,#0a1628 0%,#0d1f3c 100%)}.section-contact-bg{position:relative;padding:8rem 0;background:image-set(url(/contact-bg.webp) type("image/webp"),url(/contact-bg.jpg) type("image/jpeg")) center center / cover no-repeat}.section-contact-bg:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(10,22,40,.85)}.parallax-bg{position:absolute;top:-50%;left:0;width:100%;height:200%;background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);z-index:-1;will-change:transform}.parallax-bg-dark{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%)}.parallax-bg-gradient{background:linear-gradient(135deg,#16213e 0%,#0f3460 50%,#1a1a2e 100%)}.section-header{text-align:center;margin-bottom:4rem}.section-header-light .section-tag,.section-header-light .section-title{color:var(--text-light)}.section-tag{display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--accent-color);margin-bottom:1rem}.section-title{font-family:Codec Pro,sans-serif;font-size:clamp(2rem,5vw,3rem);font-weight:600;color:var(--text-dark)}.about-content{display:grid;grid-template-columns:1fr 2fr;gap:4rem;align-items:center}.about-image-frame{position:relative}.about-image-frame:before{content:"";position:absolute;top:-15px;left:-15px;right:15px;bottom:15px;border:2px solid var(--accent-color);z-index:-1}.about-avatar{width:100%;aspect-ratio:1;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));display:flex;align-items:center;justify-content:center;font-size:5rem;color:var(--text-light)}.about-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-md)}.about-intro{font-family:Codec Pro,sans-serif;font-size:1.5rem;font-style:italic;color:var(--accent-color);margin-bottom:1.5rem}.about-text p{margin-bottom:1rem;color:var(--text-gray);font-size:1.05rem}.about-text strong{color:var(--text-dark)}.about-info{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:2rem;padding-top:2rem;border-top:1px solid #e9ecef}.info-item{display:flex;align-items:center;gap:.5rem;color:var(--text-gray)}.info-item .icon{color:var(--accent-color);font-size:1.15rem}.projects-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:1.5rem}.project-card{grid-column:span 2;display:flex;flex-direction:column;background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.1);transition:border-color .3s ease,background .3s ease,box-shadow .3s ease}.project-card-featured{grid-column:span 3;padding:2.4rem;background:rgba(255,255,255,.07)}.project-card:nth-child(6):last-child{grid-column:3 / span 2}.project-card:nth-child(6):nth-last-child(2){grid-column:2 / span 2}.project-card:nth-child(7):last-child{grid-column:4 / span 2}.project-card:hover{border-color:#00b4d88c;background:rgba(255,255,255,.09);box-shadow:var(--shadow-card)}.project-metric{margin-bottom:1.4rem}.project-metric-value{display:block;font-family:Codec Pro,Sora,sans-serif;font-weight:700;line-height:1.05;letter-spacing:-.01em}.project-metric-number .project-metric-value{font-size:clamp(2.2rem,4vw,3rem);color:var(--accent-warm)}.project-metric-scope .project-metric-value{font-size:clamp(1.15rem,2vw,1.45rem);color:var(--accent-color);font-weight:600}.project-metric-label{display:block;margin-top:.45rem;font-size:.74rem;font-weight:500;letter-spacing:.11em;text-transform:uppercase;color:#ffffff8c}.project-card h3{font-size:1.1rem;color:var(--text-light);margin-bottom:.7rem;line-height:1.35}.project-card-featured h3{font-size:1.3rem}.project-description{color:#ffffffb8;font-size:.92rem;line-height:1.65;margin-bottom:1.5rem}.project-card .project-tags{margin-top:auto}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem}.project-tags span{padding:.28rem .72rem;background:rgba(0,180,216,.12);color:#00b4d8f2;font-size:.7rem;border-radius:var(--radius-pill);letter-spacing:.06em;border:1px solid rgba(0,180,216,.28)}.skills-carousel{overflow:hidden;position:relative;padding:2.5rem 0;margin-bottom:1rem;mask-image:linear-gradient(to right,transparent 0,#000 9%,#000 91%,transparent 100%);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 9%,#000 91%,transparent 100%)}.skills-carousel:hover .carousel-track{animation-duration:150s}.carousel-track{list-style:none;margin:0;padding:0;display:flex;gap:2.5rem;animation:skills-scroll 34s linear infinite;width:max-content;transition:animation-duration .4s ease}.carousel-track.reverse-track{animation:skills-scroll-reverse 41s linear infinite}@keyframes skills-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes skills-scroll-reverse{0%{transform:translate(-50%)}to{transform:translate(0)}}.skill-logo-item{display:flex;flex-direction:column;align-items:center;gap:.85rem;min-width:96px;transition:transform .3s ease;position:relative}.skill-logo-name{font-size:.72rem;font-weight:500;letter-spacing:.01em;color:#4a5a6a;white-space:nowrap;transition:color .3s ease}.skill-logo-item:hover .skill-logo-name{color:var(--primary-color)}.skill-logo-item img{width:50px;height:50px;object-fit:contain;transition:transform .3s ease}.skill-logo-item:hover img{transform:scale(1.15)}.timeline{list-style:none;padding:0;position:relative;margin:0}.timeline:before{content:"";position:absolute;left:0;top:.4rem;height:calc(100% - .4rem);width:1px;background:linear-gradient(to bottom,rgba(0,180,216,.5) 0%,rgba(255,255,255,.16) 35%,rgba(255,255,255,.04) 100%)}.timeline-item{position:relative;padding-left:3rem;padding-bottom:3rem}.timeline-item:last-child{padding-bottom:0}.timeline-marker{position:absolute;left:-4.5px;top:.55rem;width:10px;height:10px;background:var(--primary-color);border-radius:50%;border:2px solid var(--accent-color)}.timeline-item:first-child .timeline-marker{background:var(--accent-color);box-shadow:0 0 0 4px #00b4d826}.timeline-content{background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.1)}.timeline-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.4rem 1.5rem;padding-bottom:1.1rem;margin-bottom:1.3rem;border-bottom:1px solid rgba(255,255,255,.09)}.timeline-header h3{font-size:1.22rem;color:var(--text-light);line-height:1.3}.timeline-header .company{color:var(--accent-color);font-weight:500;font-size:.95rem;margin-top:.2rem}.timeline-when{text-align:right;flex-shrink:0}.timeline-header .period{display:block;color:#ffffff9e;font-size:.88rem}.timeline-duration{display:block;margin-top:.15rem;font-size:.76rem;letter-spacing:.07em;text-transform:uppercase;color:#ffffff61}.timeline-highlight{position:relative;padding-left:1.1rem;margin-bottom:1.3rem;font-size:1.02rem;font-weight:500;line-height:1.5;color:#fff}.timeline-highlight:before{content:"";position:absolute;left:0;top:.15em;bottom:.15em;width:3px;border-radius:2px;background:var(--accent-warm)}.timeline-list{list-style:none}.timeline-list li{position:relative;padding-left:1.5rem;margin-bottom:.55rem;color:#ffffffe0;font-size:.94rem;line-height:1.62}@media (min-width: 900px){.timeline-list{column-count:2;column-gap:2.75rem}.timeline-list li{break-inside:avoid}.timeline-highlight{font-size:1.06rem}}.timeline-stack{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem;margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.08)}.timeline-stack li{padding:.24rem .68rem;border-radius:var(--radius-sm);background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);font-size:.72rem;letter-spacing:.04em;color:#ffffffad}.timeline-list li:before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;background:var(--accent-color);border-radius:50%}.contact-content{max-width:1200px;margin:0 auto;text-align:center}.contact-info{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:4rem}@media (max-width: 992px){.contact-info{grid-template-columns:repeat(2,1fr)}}@media (max-width: 576px){.contact-info{grid-template-columns:1fr}}.contact-card{background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:2rem;border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.1);transition:var(--transition)}.contact-card:hover{border-color:var(--accent-color);transform:translateY(-5px)}.contact-card .icon{font-size:2rem;color:var(--accent-color);margin-bottom:1rem}.contact-card h3{font-size:1rem;color:var(--text-light);margin-bottom:.5rem}.contact-card a,.contact-card span{color:#ffffffb3;text-decoration:none;font-size:.9rem;transition:var(--transition)}.contact-card a:hover{color:var(--accent-color)}.contact-cta p{font-family:Codec Pro,sans-serif;font-size:1.5rem;color:var(--text-light);margin-bottom:2rem}.btn-primary{display:inline-block;padding:1rem 3rem;background:var(--accent-color);color:var(--text-light);text-decoration:none;font-size:.9rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;border-radius:var(--radius-sm);transition:var(--transition)}.btn-primary:hover{background:#d63653;transform:translateY(-3px);box-shadow:0 10px 30px #e945604d}.footer{background:var(--primary-color);padding:2rem 0}.footer-content{display:flex;justify-content:space-between;align-items:center}.footer-content p{color:#ffffff80;font-size:.9rem}.footer-social{display:flex;gap:1rem}.footer-social a{width:40px;height:40px;background:rgba(255,255,255,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-light);text-decoration:none;transition:var(--transition)}.footer-social a:hover{background:var(--accent-color)}.beyond{padding:8rem 0;background:#faf7f2}.beyond-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.beyond-image{position:relative}.beyond-photo{width:100%;height:auto;aspect-ratio:16 / 9;object-fit:cover;border-radius:16px;display:block;box-shadow:0 20px 40px #2d281e2e}.beyond-caption{margin-top:1rem;font-size:.9rem;font-style:italic;color:var(--text-gray);text-align:center}.beyond-overline{color:#2d5a3d}.beyond-paragraph{margin-bottom:1rem;color:var(--text-gray);font-size:1.05rem;line-height:1.7}.beyond-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin:2rem 0;padding:2rem 0;border-top:1px solid #e4ddd2;border-bottom:1px solid #e4ddd2}.beyond-stat{display:flex;flex-direction:column;gap:.25rem}.beyond-stat-number{font-family:Codec Pro,sans-serif;font-size:1.75rem;font-weight:700;color:#2d5a3d}.beyond-stat-label{font-size:.85rem;color:var(--text-gray)}.beyond-cta{display:inline-block;padding:1rem 2.5rem;background:#2D5A3D;color:var(--text-light);text-decoration:none;font-size:.9rem;font-weight:600;letter-spacing:1px;border-radius:6px;transition:var(--transition)}.beyond-cta:hover{background:#234A31;transform:translateY(-3px);box-shadow:0 10px 30px #2d5a3d4d}.fade-in{opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.fade-in.visible{opacity:1;transform:translateY(0)}@media (max-width: 992px){.about-content{grid-template-columns:1fr;gap:3rem}.about-image{max-width:300px;margin:0 auto}.beyond-content{grid-template-columns:1fr;gap:3rem}.beyond{padding:5rem 0}}@media (max-width: 768px){.nav{position:fixed;top:0;right:-100%;width:100%;height:100vh;background:var(--primary-color);display:flex;align-items:center;justify-content:center;transition:var(--transition)}.nav.open{right:0}.nav-list{flex-direction:column;text-align:center;gap:2rem}.beyond-stats{grid-template-columns:repeat(2,1fr);gap:1.25rem}.nav-link{font-size:1.2rem}.mobile-menu-btn{display:flex;z-index:1001}.lang-toggle-desktop{display:none}.nav-list .lang-toggle{display:block;margin-top:1rem}.parallax-section{padding:5rem 0}.timeline:before{left:0}.footer-content{flex-direction:column;gap:1rem;text-align:center}}@media (max-width: 480px){.container{padding:0 1rem}.hero-title{font-size:2rem}.project-card,.timeline-content,.contact-card{padding:1.5rem}.skill-logo-item img{width:40px;height:40px}.skill-logo-name{font-size:.78rem}.carousel-track{gap:2rem}}@media (prefers-reduced-motion: reduce){.skills-carousel{overflow:visible;mask-image:none;-webkit-mask-image:none;padding:1rem 0}.skills-carousel.reverse{display:none}.carousel-track{animation:none;flex-wrap:wrap;justify-content:center;width:auto;gap:2rem 2.5rem}.carousel-track [aria-hidden=true]{display:none}}.cv-page{background:var(--bg-light);min-height:100vh}.cv-container{max-width:860px;margin:0 auto;padding:0 2rem}.cv-masthead{background:linear-gradient(135deg,var(--primary-color) 0%,var(--secondary-color) 100%);color:var(--text-light);padding:3.5rem 0 3rem}.cv-back{display:inline-block;color:var(--accent-color);text-decoration:none;font-size:.82rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2rem}.cv-back:hover{text-decoration:underline}.cv-name{font-family:Codec Pro,Sora,sans-serif;font-size:clamp(1.9rem,5vw,2.9rem);font-weight:700;letter-spacing:.01em;line-height:1.1}.cv-headline{color:var(--accent-color);font-size:clamp(.95rem,2.2vw,1.12rem);font-weight:500;margin-top:.7rem}.cv-contact{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;margin-top:1.6rem;font-size:.9rem;color:#ffffffbf}.cv-contact a{color:#ffffffeb;text-decoration:none;border-bottom:1px solid rgba(0,180,216,.5)}.cv-contact a:hover{color:var(--accent-color)}.cv-download{display:inline-block;margin-top:2rem;padding:.8rem 1.7rem;background:var(--accent-color);color:var(--text-light);text-decoration:none;font-size:.82rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase;border-radius:var(--radius-sm);transition:var(--transition)}.cv-download:hover{background:var(--accent-warm)}.cv-body{padding-top:3.5rem;padding-bottom:3.5rem}.cv-section{margin-bottom:3rem}.cv-section h2,.cv-subhead{font-size:.76rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:var(--text-gray);padding-bottom:.65rem;border-bottom:1px solid #d8dfe7;margin-bottom:1.4rem}.cv-subhead{margin-top:2.2rem}.cv-lead{font-size:1.02rem;line-height:1.75;color:#24313f}.cv-impact{list-style:none;display:grid;gap:.9rem}.cv-impact li{position:relative;padding-left:1.5rem;font-size:.97rem;line-height:1.6;color:#24313f}.cv-impact li:before{content:"";position:absolute;left:0;top:.55em;width:8px;height:2px;background:var(--accent-warm)}.cv-job{margin-bottom:2.4rem}.cv-job:last-child{margin-bottom:0}.cv-job-header{margin-bottom:.9rem}.cv-job-header h3{font-size:1.16rem;font-weight:600;color:var(--primary-color)}.cv-job-company{color:var(--accent-color);font-weight:500;font-size:.95rem;margin-top:.15rem}.cv-job-period{color:var(--text-gray);font-size:.85rem;margin-top:.15rem}.cv-job ul{list-style:none;display:grid;gap:.5rem}.cv-job li{position:relative;padding-left:1.3rem;font-size:.94rem;line-height:1.6;color:#3a4855}.cv-job li:before{content:"";position:absolute;left:.2rem;top:.62em;width:5px;height:5px;border-radius:50%;background:#b9c4d0}.cv-skills{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem}.cv-skills li{background:#fff;border:1px solid #dde4ec;border-radius:var(--radius-pill);padding:.5rem 1.05rem;font-size:.87rem;color:#2b3947}.cv-two-up{display:grid;grid-template-columns:1fr 1fr;gap:3rem}.cv-list{list-style:none;display:grid;gap:1.05rem}.cv-item-title{display:block;font-size:.95rem;font-weight:600;color:var(--primary-color)}.cv-item-meta{display:block;font-size:.86rem;color:var(--text-gray);margin-top:.15rem}.cv-footer{border-top:1px solid #d8dfe7;padding:1.8rem 0}.cv-footer .cv-container{display:flex;justify-content:space-between;gap:1rem;font-size:.86rem}.cv-footer a{color:var(--text-gray);text-decoration:none}.cv-footer a:hover{color:var(--accent-color)}@media (max-width: 720px){.cv-two-up{grid-template-columns:1fr;gap:2rem}.cv-masthead{padding:2.5rem 0 2.2rem}.cv-back{margin-bottom:1.4rem}}@media print{.cv-masthead{background:none;color:#000;padding:0 0 1.5rem}.cv-page{background:#fff}.cv-name,.cv-job-header h3,.cv-item-title{color:#000}.cv-headline,.cv-job-company,.cv-contact,.cv-contact a{color:#333}.cv-back,.cv-download,.cv-footer{display:none}.cv-section{break-inside:avoid;margin-bottom:1.6rem}.cv-job{break-inside:avoid}}.footer-cv{color:#ffffffb3;text-decoration:none;font-size:.88rem;border-bottom:1px solid rgba(0,180,216,.5);transition:var(--transition)}.footer-cv:hover{color:var(--accent-color)}@media (max-width: 980px){.projects-grid{grid-template-columns:repeat(4,1fr)}.project-card,.project-card-featured,.project-card:nth-child(6):last-child,.project-card:nth-child(6):nth-last-child(2),.project-card:nth-child(7):last-child{grid-column:span 2}}@media (max-width: 620px){.projects-grid{grid-template-columns:1fr}.project-card,.project-card-featured,.project-card:nth-child(6):last-child,.project-card:nth-child(6):nth-last-child(2),.project-card:nth-child(7):last-child{grid-column:span 1;padding:1.75rem}}@media (max-width: 620px){.timeline-when{text-align:left}.timeline-header{gap:.6rem}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.fade-in{opacity:1!important;transform:none!important}.parallax-bg{transform:none!important}.scroll-indicator{display:none}}@media (max-width: 950px) and (min-width: 769px){.nav-list{gap:1.35rem}.nav-link{font-size:.8rem;letter-spacing:.02em;white-space:nowrap}.nav-link-cta{padding:.55rem 1rem}.header-container{gap:1rem;padding:0 1.5rem}.logo{font-size:1.5rem;flex-shrink:0}}.icon{flex-shrink:0;vertical-align:-.125em}.footer-social .icon{font-size:1.35rem}
