:root{--color-primary: #995d25;--color-secondary: #e0993c;--color-background: #fff9f6;--color-surface: #ffffff;--color-text-primary: #995d25;--color-text-secondary: #7a4a1e;--color-text-muted: #a67c52;--color-border: #995d25;--color-border-light: rgba(153, 93, 37, .2);--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-6xl: 3.75rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: .75rem;--space-lg: 1rem;--space-xl: 1.5rem;--space-2xl: 2rem;--space-3xl: 3rem;--space-4xl: 4rem;--space-5xl: 6rem;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out}*{box-sizing:border-box}body{color:var(--color-text-primary);font-family:Atkinson Hyperlegible,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:var(--font-weight-normal);font-size:var(--font-size-base);line-height:var(--line-height-normal);margin:0 auto;max-width:min(45%,800px);min-height:100vh;scroll-behavior:smooth;overflow-y:scroll;-webkit-overflow-scrolling:touch;background-color:var(--color-background);padding:var(--space-lg)}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);margin:0 0 var(--space-lg) 0;color:var(--color-text-primary)}h1{font-size:var(--font-size-5xl);font-weight:var(--font-weight-extrabold);margin-bottom:var(--space-2xl)}h2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-xl)}h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold)}p{margin:0 0 var(--space-lg) 0;line-height:var(--line-height-relaxed);color:var(--color-text-primary)}.text-large{font-size:var(--font-size-xl);line-height:var(--line-height-relaxed)}.text-small{font-size:var(--font-size-sm);color:var(--color-text-muted)}.text-muted{color:var(--color-text-muted)}.text-semibold{font-weight:var(--font-weight-semibold)}.text-bold{font-weight:var(--font-weight-bold)}.fixed-images{position:relative}.image-top-right,.image-top-left{position:fixed;inline-size:clamp(120px,16vw,200px);height:auto;z-index:0;opacity:.16;pointer-events:none;-webkit-user-select:none;user-select:none}.image-top-right{top:var(--space-2xl);right:var(--space-2xl)}.image-top-left{top:var(--space-2xl);left:var(--space-2xl)}.smooth-scroll{scroll-behavior:smooth}#main-app{min-height:100vh;position:relative}.main-container{max-width:1200px;margin:0 auto;padding:var(--space-lg)}header{margin-bottom:var(--space-5xl)}nav{display:flex;justify-content:center;align-items:center;gap:var(--space-3xl);padding:var(--space-2xl) 0;margin-bottom:var(--space-2xl)}.nav-element{display:flex;align-items:center;font-size:var(--font-size-lg);font-weight:var(--font-weight-extrabold);color:var(--color-secondary);gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);transition:all var(--transition-normal);position:relative;text-decoration:none}.nav-element:hover{transform:translateY(-2px);color:var(--color-primary);background-color:#e0993c1a;box-shadow:var(--shadow-md)}.nav-element svg{transition:all var(--transition-normal)}.nav-element:hover svg{transform:scale(1.1)}.intro-section{margin-bottom:var(--space-5xl);text-align:center}.intro-title{font-size:clamp(var(--font-size-4xl),8vw,var(--font-size-6xl));font-weight:var(--font-weight-extrabold);margin-bottom:var(--space-3xl);background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:var(--line-height-tight)}.intro{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-2xl);text-align:left}.intro>blockquote{font-style:italic;font-weight:var(--font-weight-semibold);color:var(--color-secondary);font-size:var(--font-size-lg);text-align:center;padding:var(--space-2xl);margin:var(--space-2xl) 0;border-left:4px solid var(--color-secondary);background:linear-gradient(135deg,#e0993c0d,#e0993c1a);border-radius:var(--radius-lg);position:relative}.intro>blockquote:before{content:'"';font-size:var(--font-size-4xl);color:var(--color-secondary);position:absolute;top:var(--space-sm);left:var(--space-lg);opacity:.3}.intro>p{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);color:var(--color-text-primary);margin-bottom:var(--space-xl)}.intro>p:first-of-type{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.portfolio-section{margin-bottom:var(--space-5xl);padding:var(--space-4xl) 0}.portfolio-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);text-align:center;margin-bottom:var(--space-5xl);color:var(--color-text-primary);position:relative}.portfolio-title:after{content:"";position:absolute;bottom:auto;left:50%;transform:translate(-50%);width:80px;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-sm)}.projects{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:var(--space-4xl);margin:0 auto;max-width:1600px;padding:0 var(--space-lg)}.project-tile{display:flex;flex-direction:column;background:var(--color-surface);border-radius:var(--radius-2xl);cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden;box-shadow:var(--shadow-md);border:1px solid var(--color-border-light);height:100%}.project-header{position:relative;height:280px;overflow:hidden;border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}.project-image-container{width:100%;height:100%;position:relative;background:linear-gradient(135deg,var(--color-background) 0%,rgba(224,153,60,.1) 100%)}.project-image-container img{width:100%;height:100%;object-fit:cover;transition:all var(--transition-normal);filter:brightness(.98) contrast(1.02)}.project-tile:hover .project-image-container img{filter:brightness(1) contrast(1.05)}.project-content{padding:var(--space-3xl);display:flex;flex-direction:column;gap:var(--space-xl);flex-grow:1}.project-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0;line-height:var(--line-height-tight);transition:color var(--transition-fast)}.project-tile:hover .project-title{color:var(--color-secondary)}.project-technologies{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-lg)}.tech-badge{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:#e0993c1a;border:1px solid rgba(224,153,60,.2);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);transition:all var(--transition-fast)}.tech-badge:hover{background:#e0993c33;border-color:var(--color-secondary);transform:translateY(-1px)}.tech-icon{width:16px;height:16px;border-radius:var(--radius-sm);filter:grayscale(.2);transition:filter var(--transition-fast)}.tech-badge:hover .tech-icon{filter:grayscale(0)}.project-description{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-primary);margin:0;flex-grow:1}.project-footer{padding:0 var(--space-3xl) var(--space-3xl);display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--color-border-light);padding-top:var(--space-xl);margin-top:auto}.project-link{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;text-decoration:none;border-radius:var(--radius-lg);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.project-link:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);background:linear-gradient(135deg,var(--color-secondary),var(--color-primary))}.project-link svg{width:16px;height:16px}.project-tile{transform:translateY(0)}.project-tile:hover{transform:translateY(-12px);box-shadow:var(--shadow-2xl);border-color:#e0993c4d}.project-tile:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));transform:scaleX(0);transform-origin:left;transition:transform var(--transition-normal);z-index:1}.project-tile:hover:before{transform:scaleX(1)}.technologies{display:flex;gap:var(--space-md);justify-content:center;align-items:center;margin-bottom:var(--space-lg);flex-wrap:wrap}.technology-icon{width:32px;height:32px;border-radius:var(--radius-sm);transition:all var(--transition-fast);filter:grayscale(.3)}.technology-icon:hover{transform:scale(1.2);filter:grayscale(0)}.project-tile>img,.image-description{width:100%;height:200px;object-fit:cover;border-radius:var(--radius-lg);transition:all var(--transition-normal);margin-bottom:var(--space-lg)}.image-description{display:block;padding:var(--space-sm);background-color:var(--color-surface);border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm)}.image-description:hover{transform:scale(1.02);box-shadow:var(--shadow-lg);border-color:var(--color-secondary)}.text-description{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-primary);text-align:left;margin:0;padding:0 var(--space-sm)}.project-tile:hover .text-description{color:var(--color-text-secondary)}a{color:var(--color-secondary);text-decoration:none;transition:all var(--transition-fast)}a:hover{color:var(--color-primary);text-decoration:underline}a:focus{outline:2px solid var(--color-secondary);outline-offset:2px;border-radius:var(--radius-sm)}footer{margin-top:var(--space-5xl);padding:var(--space-3xl) 0;text-align:center;border-top:1px solid var(--color-border-light)}footer p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:var(--font-weight-medium)}footer a{color:var(--color-text-muted);font-weight:var(--font-weight-semibold)}footer a:hover{color:var(--color-secondary)}hr{width:100%;border:none;height:2px;background:linear-gradient(90deg,transparent,var(--color-secondary),transparent);margin:var(--space-xl) 0;border-radius:var(--radius-sm);transition:all var(--transition-normal)}hr:hover{background:linear-gradient(90deg,var(--color-primary),var(--color-secondary),var(--color-primary));transform:scaleY(1.5)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}@keyframes gradientShift{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp .8s cubic-bezier(.215,.61,.355,1) forwards}.animate-fade-in-left{animation:fadeInLeft .8s cubic-bezier(.215,.61,.355,1) forwards}.animate-fade-in-right{animation:fadeInRight .8s cubic-bezier(.215,.61,.355,1) forwards}.animate-scale-in{animation:scaleIn .6s cubic-bezier(.68,-.55,.265,1.55) forwards}.animation-delay-100{animation-delay:.1s}.animation-delay-200{animation-delay:.2s}.animation-delay-300{animation-delay:.3s}.animation-delay-400{animation-delay:.4s}.animation-delay-500{animation-delay:.5s}.animation-delay-600{animation-delay:.6s}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .8s cubic-bezier(.215,.61,.355,1),transform .8s cubic-bezier(.215,.61,.355,1)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:shimmer 2s infinite}.animated-gradient{background:linear-gradient(-45deg,var(--color-primary),var(--color-secondary),var(--color-primary),var(--color-secondary));background-size:400% 400%;animation:gradientShift 8s ease infinite}.bounce-in{animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55)}.slide-up{animation:slideUp .6s ease-out}.pulse{animation:pulse 2s ease-in-out infinite}.scroll-indicator{position:fixed;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));transform-origin:left;z-index:1000}.tooltip{position:relative;display:inline-block}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:125%;left:50%;transform:translate(-50%);background:var(--color-text-primary);color:var(--color-surface);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);white-space:nowrap;opacity:0;visibility:hidden;transition:all var(--transition-fast);z-index:1000}.tooltip:before{content:"";position:absolute;bottom:120%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:var(--color-text-primary);opacity:0;visibility:hidden;transition:all var(--transition-fast)}.tooltip:hover:after,.tooltip:hover:before{opacity:1;visibility:visible}.focus-ring:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px;border-radius:var(--radius-sm)}.contact-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-lg);animation:fadeIn .3s ease-out}.contact-modal{background:var(--color-surface);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .4s cubic-bezier(.34,1.56,.64,1)}.contact-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3xl) var(--space-3xl) 0;border-bottom:1px solid var(--color-border-light);margin-bottom:var(--space-2xl)}.contact-title{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin:0}.contact-close{background:none;border:none;cursor:pointer;padding:var(--space-sm);border-radius:var(--radius-md);color:var(--color-text-muted);transition:all var(--transition-fast)}.contact-close:hover{background:var(--color-border-light);color:var(--color-text-primary)}.contact-close svg{width:24px;height:24px}.contact-content{padding:0 var(--space-3xl) var(--space-3xl)}.contact-description{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);color:var(--color-text-primary);margin-bottom:var(--space-3xl);text-align:center}.contact-form{display:flex;flex-direction:column;gap:var(--space-xl)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.form-group{display:flex;flex-direction:column;gap:var(--space-sm)}.form-group label{font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.form-input,.form-textarea{padding:var(--space-md);border:2px solid var(--color-border-light);border-radius:var(--radius-lg);font-size:var(--font-size-base);font-family:inherit;transition:all var(--transition-fast);background:var(--color-surface)}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--color-secondary);box-shadow:0 0 0 3px #e0993c1a}.form-textarea{resize:vertical;min-height:120px}.form-actions{display:flex;justify-content:center;margin-top:var(--space-lg)}.submit-button{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-lg) var(--space-2xl);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;border:none;border-radius:var(--radius-lg);font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-md)}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg);background:linear-gradient(135deg,var(--color-secondary),var(--color-primary))}.submit-button:disabled{opacity:.7;cursor:not-allowed}.submit-button svg{width:20px;height:20px}.spinner{width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.status-message{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-lg);border-radius:var(--radius-lg);font-weight:var(--font-weight-medium);margin-top:var(--space-lg)}.status-message.success{background:#22c55e1a;color:#16a34a;border:1px solid rgba(34,197,94,.2)}.status-message.error{background:#ef44441a;color:#dc2626;border:1px solid rgba(239,68,68,.2)}.status-message svg{width:20px;height:20px}.contact-info{display:flex;flex-direction:column;gap:var(--space-lg);margin-top:var(--space-3xl);padding-top:var(--space-2xl);border-top:1px solid var(--color-border-light)}.contact-item{display:flex;align-items:center;gap:var(--space-md);color:var(--color-text-secondary);font-size:var(--font-size-base)}.contact-item svg{width:20px;height:20px;color:var(--color-secondary)}@keyframes spin{to{transform:rotate(360deg)}}*{transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast)}.project-tile-animated{transform:translateY(20px);opacity:0;transition:all .6s cubic-bezier(.215,.61,.355,1)}.project-tile-animated.visible{transform:translateY(0);opacity:1}.nav-element{position:relative;overflow:hidden}.nav-element:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));transition:all var(--transition-normal);transform:translate(-50%)}.nav-element:hover:after{width:100%}.nav-element:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(224,153,60,.1),transparent);transition:left var(--transition-slow);z-index:-1}.nav-element:hover:before{left:100%}.nav-element:focus-visible{outline:2px solid var(--color-secondary);outline-offset:4px;border-radius:var(--radius-md)}.interactive-element{position:relative;display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--color-surface);border:2px solid var(--color-border-light);border-radius:var(--radius-lg);color:var(--color-text-primary);font-weight:var(--font-weight-medium);text-decoration:none;transition:all var(--transition-normal);cursor:pointer;overflow:hidden}.interactive-element:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--color-secondary),transparent);opacity:.1;transition:left var(--transition-normal);z-index:0}.interactive-element:hover:before{left:100%}.interactive-element:hover{transform:translateY(-2px);border-color:var(--color-secondary);box-shadow:var(--shadow-lg);color:var(--color-secondary)}.interactive-element:active{transform:translateY(0);box-shadow:var(--shadow-md)}.interactive-element:focus-visible{outline:2px solid var(--color-secondary);outline-offset:2px}.typing-cursor{display:inline-block;width:2px;height:1em;background-color:#e0993c;animation:blink 1s infinite;margin-left:2px}.project-tile{position:relative;overflow:hidden}.project-tile:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,transparent 0%,rgba(224,153,60,.05) 50%,transparent 100%);opacity:0;transition:opacity var(--transition-normal);pointer-events:none}.project-tile:hover:after{opacity:1}.project-tile:hover{transform:translateY(-8px);animation:subtle-glow 3s ease-in-out infinite}@keyframes subtle-glow{0%,to{box-shadow:var(--shadow-xl)}50%{box-shadow:var(--shadow-xl),0 0 30px #e0993c26}}.image-description:hover,.project-tile img:hover{filter:brightness(1.1) contrast(1.05)}.technology-icon{position:relative;transition:all var(--transition-normal)}.technology-icon:after{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,var(--color-primary),var(--color-secondary));border-radius:var(--radius-md);opacity:0;z-index:-1;transition:opacity var(--transition-fast)}.technology-icon:hover:after{opacity:.3}.technology-icon:hover{transform:scale(1.2) rotate(5deg);filter:grayscale(0) brightness(1.1)}.section-card{background:var(--color-surface);border-radius:var(--radius-2xl);padding:var(--space-3xl);margin-bottom:var(--space-4xl);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);transition:all var(--transition-normal)}.section-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.gradient-text{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.gradient-border{position:relative;background:var(--color-surface);border-radius:var(--radius-lg)}.gradient-border:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;padding:2px;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));border-radius:inherit;mask-composite:intersect;-webkit-mask-composite:xor}.glass-effect{background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #1f26875e}.elevated-1{box-shadow:var(--shadow-sm)}.elevated-2{box-shadow:var(--shadow-md)}.elevated-3{box-shadow:var(--shadow-lg)}.elevated-4{box-shadow:var(--shadow-xl)}.elevated-5{box-shadow:var(--shadow-2xl)}@media (max-width: 1200px){body{max-width:90%;padding:var(--space-md)}.projects{grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:var(--space-3xl)}}@media (max-width: 1024px){body{max-width:95%}.intro-title{font-size:var(--font-size-4xl)}.projects{grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:var(--space-3xl)}.image-top-right,.image-top-left{display:none}nav{gap:var(--space-2xl)}}@media (max-width: 768px){:root{--space-5xl: 4rem;--space-4xl: 3rem;--space-3xl: 2rem}body{max-width:100%;padding:var(--space-md)}.intro-title{font-size:var(--font-size-3xl);margin-bottom:var(--space-2xl)}.projects{grid-template-columns:1fr;gap:var(--space-2xl);padding:0}.project-header{height:220px}.project-content{padding:var(--space-xl);gap:var(--space-lg)}.project-footer{padding:0 var(--space-xl) var(--space-xl)}.nav-element{font-size:var(--font-size-base);padding:var(--space-sm) var(--space-md)}nav{flex-direction:column;gap:var(--space-lg);align-items:center}.nav-element div{display:none}.nav-element svg{display:block}.intro{text-align:center}.intro>p{font-size:var(--font-size-base)}.intro>blockquote{font-size:var(--font-size-base);padding:var(--space-lg)}.contact-overlay{padding:var(--space-md)}.contact-header,.contact-content{padding-left:var(--space-lg);padding-right:var(--space-lg)}.form-row{grid-template-columns:1fr}}@media (max-width: 480px){body{padding:var(--space-sm)}.intro-title{font-size:var(--font-size-2xl)}.project-header{height:200px}.project-content{padding:var(--space-lg);gap:var(--space-md)}.project-title{font-size:var(--font-size-xl)}.project-footer{padding:0 var(--space-lg) var(--space-lg)}.tech-badge{font-size:var(--font-size-xs);padding:var(--space-xs) var(--space-sm)}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
