@font-face{font-family:'Roboto';src:url(./fonts/roboto/Roboto-Regular.woff2) format("woff2"),url(./fonts/roboto/Roboto-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'Roboto';src:url(./fonts/roboto/Roboto-Medium.woff2) format("woff2"),url(./fonts/roboto/Roboto-Medium.woff) format("woff");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:'Roboto';src:url(./fonts/roboto/Roboto-Bold.woff2) format("woff2"),url(./fonts/roboto/Roboto-Bold.woff) format("woff");font-weight:700;font-style:normal;font-display:swap}:root{--primary-color:#2d5a47;--primary-light:#4a7c59;--text-color:#2c2416;--bg-color:#f2f0e6;--card-bg:#fffcf5;--secondary-light:#ffd9b7;--secondary-color:#7a4d26;--accent-color:#8b4a2f;--light-text:#5a5a5a;--section-padding:4rem 0;--container-padding:0 2rem}html{scroll-behavior:smooth;font-size:16px}body{-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}ul{list-style:none}h2{font-size:2rem;font-weight:500;margin-bottom:2rem;display:inline-block;position:relative;color:var(--primary-color);line-height:1.2}h2::after{content:'';position:absolute;bottom:-10px;left:0;width:80px;height:3px;background-color:var(--secondary-color)}h3{font-size:1.5rem;font-weight:500;margin-bottom:1rem;color:var(--primary-color);line-height:1.2}p{font-size:1.2rem;line-height:1.7;margin-bottom:1.5rem}a{text-decoration:none;color:var(--primary-color);transition:.3s}a:hover{color:var(--accent-color)}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.primary-btn:hover{background-color:var(--primary-light);color:#fff}.secondary-btn:hover{background-color:var(--primary-light);border-color:var(--primary-light);color:#fff}.text-btn{background:none;border:none;color:var(--text-color);font-size:.95rem;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:.3s;font-weight:500}.text-btn:hover{color:var(--accent-color);background-color:#8b4a2f1a}nav a::after{content:'';position:absolute;bottom:-5px;left:0;width:0;height:2px;background-color:var(--accent-color);transition:width .3s}nav a:hover{color:var(--accent-color)}nav a:hover::after{width:100%}.hero__image img:hover{transform:translate(-5px,-5px);box-shadow:15px 15px 0 var(--primary-light)}section{padding:var(--section-padding)}.section-content{margin-top:1.5rem}.about,.skills-section{background-color:var(--card-bg)}.projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-top:2rem}.project{padding:2rem;border-radius:8px;background-color:var(--card-bg);box-shadow:0 4px 10px #00000008;transition:.3s;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:320px}.project::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background-color:var(--primary-light)}.project:hover{transform:translateY(-5px);box-shadow:0 8px 20px #00000014}.project h3{margin-bottom:.5rem;color:var(--primary-color)}.project-lang{display:inline-block;color:var(--accent-color);font-size:.9rem;font-weight:500;margin-bottom:1rem}.project p{flex:1;margin-bottom:1.5rem;color:var(--text-color)}.project > p:last-of-type{margin-bottom:auto}.project-links{margin-top:auto;display:flex;gap:5rem;flex-wrap:wrap}.project-link{color:var(--primary-color);font-weight:500;display:inline-flex;align-items:center}.project-link::after{content:'→';margin-left:.5rem;transition:transform .3s}.project-link:hover{color:var(--accent-color)}.project-link:hover::after{transform:translateX(4px)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-bottom:2rem}.skill-category h3{color:var(--secondary-color);margin-bottom:1rem}.skills-list{display:flex;flex-direction:column;gap:.5rem}.skills-list li{padding-left:1.5rem;font-size:1.1rem;position:relative}.skills-list li::before{content:'•';color:var(--primary-light);font-size:1.2rem;position:absolute;left:0}.interests{font-style:italic;color:var(--light-text)}.contact-links{display:flex;gap:2rem;margin-top:2rem;flex-wrap:wrap}.contact-link{color:var(--primary-color);font-weight:500;display:flex;align-items:center;gap:.5rem;padding:.5rem;border-radius:4px;transition:.3s}.contact-link:hover{color:var(--accent-color);background-color:#2d5a471a;transform:translateY(-2px)}.email-container{display:flex;align-items:center;gap:.5rem}.copy-btn{background:none;border:none;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;position:relative;padding:.25rem;border-radius:4px;transition:background-color .2s;color:var(--accent-color)}.copy-btn:hover{background-color:#8b4a2f1a}.copy-icon,.copy-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.copy-text{font-size:.8rem;font-weight:500;color:var(--accent-color);white-space:nowrap;padding:2px 6px;background-color:#fff;border-radius:3px;box-shadow:0 2px 5px #0000001a}.hidden{display:none}footer{background-color:var(--primary-color);padding:2rem 0;color:#fff;text-align:center;margin-top:4rem}footer p{margin-bottom:0;font-size:.9rem}.cookie-consent{position:fixed;bottom:0;left:0;right:0;background:linear-gradient(135deg,var(--card-bg) 0%,#fffcf5fa 100%);backdrop-filter:blur(10px);border-top:1px solid #2d5a471a;box-shadow:0 -4px 20px #00000014;z-index:1000;transform:translateY(100%);transition:transform .4s cubic-bezier(0.4,0,0.2,1)}.cookie-consent.show{transform:translateY(0)}.cookie-consent__content{max-width:1200px;margin:0 auto;padding:1.5rem 2rem;display:flex;flex-direction:column;gap:1.5rem}.cookie-consent__text h3{color:var(--primary-color);font-size:1.25rem;margin-bottom:.5rem;font-weight:600}.cookie-consent__text p{color:var(--text-color);font-size:1rem;line-height:1.5;margin-bottom:0}.cookie-consent__options{display:flex;gap:2rem;flex-wrap:wrap}.consent-option{flex:1;min-width:200px}.consent-checkbox{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;padding:.5rem;border-radius:6px;transition:background-color .2s}.consent-checkbox:hover{background-color:#2d5a470d}.consent-checkbox input{display:none}.checkmark{width:20px;height:20px;border:2px solid var(--primary-color);border-radius:4px;position:relative;transition:.3s;flex-shrink:0;margin-top:2px}.consent-checkbox input:checked + .checkmark{background-color:var(--primary-color);border-color:var(--primary-color)}.consent-checkbox input:checked + .checkmark::after{content:'';position:absolute;left:4px;top:0;width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.consent-info{display:flex;flex-direction:column;gap:.25rem}.consent-info strong{color:var(--primary-color);font-weight:500;font-size:1rem}.consent-info small{color:var(--text-color);font-size:.875rem;opacity:.8;line-height:1.3}.cookie-consent__actions{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.not-found{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;background-color:var(--bg-color);padding:4rem 2rem;text-align:center}.not-found h1{font-size:4rem;color:var(--primary-color);margin-bottom:1rem;font-weight:700}.not-found p{font-size:1.25rem;color:var(--text-color);margin-bottom:2rem;max-width:600px;line-height:1.6}.not-found a.primary-btn{text-decoration:none}@media (max-width: 768px){html{font-size:14px}section{padding:3rem 0}.container{padding:0 1.5rem}h1{font-size:2.5rem}h2{font-size:1.8rem;text-align:center;width:100%}h2::after{left:50%;transform:translateX(-50%)}.section-content{text-align:center}.project{min-height:260px}.skills-grid{gap:1.5rem}.skills-list li::before{content:''}.contact-links{justify-content:center}.cookie-consent__content{padding:1.25rem 1.5rem;gap:1.25rem}.cookie-consent__options{flex-direction:column;gap:1rem}.consent-option{min-width:auto}.cookie-consent__actions{flex-direction:column;align-items:stretch}.cookie-consent__actions .btn{width:100%;text-align:center;justify-content:center}}@media (max-width: 600px){.not-found h1{font-size:2.5rem}.cookie-consent__content{padding:1rem}.cookie-consent__text h3{font-size:1.1rem}.cookie-consent__text p{font-size:.95rem}.projects,.skills-grid{grid-template-columns:1fr}.contact-links{flex-direction:column;align-items:center}}