#hero{min-height:90vh;display:flex;align-items:center;justify-content:center;background:var(--color-background-hero-overlay);color:var(--color-text-inverse);padding:var(--space-lg) var(--space-md);overflow:hidden}.hero-content-wrapper{display:flex;flex-direction:row;align-items:center;justify-content:space-around;gap:var(--space-xl);width:100%;max-width:1400px}.hero-image-container{position:relative;flex-basis:45%;max-width:550px}.my-picture{display:block;width:100%;height:auto;border-radius:var(--border-radius-large);box-shadow:var(--shadow-large);border:5px solid rgba(255,255,255,.1)}.introduce-box{position:absolute;bottom:-20px;left:-20px;background-color:var(--color-primary);color:var(--color-text-button);padding:var(--space-md) var(--space-lg);border-radius:var(--border-radius-medium);box-shadow:var(--shadow-medium);z-index:10;max-width:calc(100% + 40px)}.introduce-box h1{font-size:var(--font-size-h1-hero);margin:0 0 var(--space-xxs) 0;line-height:1.1}.introduce-box h2{font-size:var(--font-size-h2-hero);margin:0;font-weight:400;opacity:.9}.hero-text-container{flex-basis:50%;display:flex;flex-direction:column;gap:var(--space-lg)}.quote-box{font-size:var(--font-size-xlarge);line-height:1.5}.quote-box blockquote{font-size:var(--font-size-xxlarge);font-style:italic;color:var(--color-text-secondary-inverse);margin:0 0 var(--space-md) 0;padding:0;border-left:4px solid var(--color-primary);padding-left:var(--space-md)}.quote-box p{margin:0;font-weight:500;font-size:var( --font-size-large )}.button-box{display:flex;flex-direction:row;gap:var(--space-md);flex-wrap:wrap}@media only screen and (max-width:992px){.hero-content-wrapper{flex-direction:column;text-align:center}.hero-image-container{max-width:400px;margin-bottom:var(--space-lg)}.introduce-box{left:50%;transform:translate(-50%);bottom:-30px;width:80%;max-width:400px}.introduce-box h1{font-size:var(--font-size-h1-hero-tablet)}.introduce-box h2{font-size:var(--font-size-h2-hero-tablet)}.hero-text-container{align-items:center}.quote-box blockquote{font-size:var(--font-size-xlarge);border-left:none;padding-left:0;text-align:center}.quote-box blockquote:before,.quote-box blockquote:after{content:'"'}.button-box{justify-content:center}}@media only screen and (max-width:576px){.hero-image-container{max-width:300px}.introduce-box{padding:var(--space-sm) var(--space-md);width:90%}.introduce-box h1{font-size:var(--font-size-h1-hero-mobile)}.introduce-box h2{font-size:var(--font-size-h2-hero-mobile)}.quote-box,.quote-box blockquote{font-size:var(--font-size-large)}.button-box{flex-direction:column;align-items:stretch;width:80%;max-width:300px}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000a6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-md);cursor:pointer;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.modal-overlay{opacity:1;visibility:visible}.modal-content{background-color:var(--color-background-card);padding:var(--space-lg);border-radius:var(--border-radius-medium);box-shadow:var(--shadow-high);max-width:700px;width:90%;max-height:90vh;overflow-y:auto;position:relative;cursor:default;transform:scale(.95);transition:transform .3s ease}.modal-overlay .modal-content{transform:scale(1)}.modal-close-button{position:absolute;top:var(--space-sm);right:var(--space-sm);background:none;border:none;font-size:2rem;line-height:1;color:var(--color-text-secondary);cursor:pointer;padding:var(--space-xs);transition:color .2s ease}.modal-close-button:hover{color:var(--color-text-heading)}.modal-title{font-size:var(--font-size-h2);color:var(--color-text-heading);margin:0 0 var(--space-md) 0;padding-right:calc(var(--space-sm) * 2 + 1rem)}.modal-image{width:100%;max-height:250px;object-fit:contain;margin-bottom:var(--space-md);border-radius:var(--border-radius-small);background-color:var(--color-background-alt)}.modal-details{margin-bottom:var(--space-lg)}.modal-details p{font-size:var(--font-size-medium);line-height:1.7;color:var(--color-text-body);margin:0}.modal-tags-section,.modal-link-section{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-background-alt)}.modal-tags-section h4{font-size:var(--font-size-large);color:var(--color-text-heading);margin:0 0 var(--space-sm) 0;font-weight:500}.modal-tags{margin:0}.modal-notice{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-background-alt);font-size:var(--font-size-small);color:var(--color-text-secondary);font-style:italic}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(300px,1fr));gap:var(--space-lg)}.project-card{background-color:var(--color-background-card);border-radius:var(--border-radius-medium);box-shadow:var(--shadow-low);overflow:hidden;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease}.project-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-high)}.project-image{width:100%;height:200px;object-fit:cover;display:block;background-color:var( --color-background-alt )}.project-card-content h3{font-size:var(--font-size-h3);color:var(--color-text-heading);margin:0}.project-card-content p{color:var(--color-text-body);line-height:1.6;margin:0;flex-grow:1}.project-card-content .btn{margin-top:auto;align-self:flex-start}.project-card-content{padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm);flex-grow:1}.project-card-actions .btn-outline{flex-shrink:0}.project-card-actions+.proprietary-notice{margin-top:var(--space-sm)!important}.project-card-content>.proprietary-notice:last-child{margin-top:var(--space-md)!important}.project-card-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center;justify-content:flex-start;padding-top:var(--space-sm)}.proprietary-notice{font-size:var(--font-size-small);color:var(--color-text-secondary);font-style:italic;margin-top:var(--space-sm);margin-bottom:0!important}.project-card-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center;justify-content:flex-start;padding-top:var(--space-sm);margin-top:auto}.project-card-content>.tech-tags{margin-top:var(--space-sm)}.project-card-content>.project-card-actions{margin-top:auto}.proprietary-notice+.project-card-actions{margin-top:0}@media only screen and (max-width:576px){.project-grid{grid-template-columns:1fr;gap:var(--space-md)}.project-image{height:180px}}.about-me-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-lg)}.about-me-card{background-color:var(--color-background-card-alt);padding:var(--space-lg);border-radius:var(--border-radius-medium);box-shadow:var(--shadow-low)}.about-me-card h3{font-size:var(--font-size-h3);color:var(--color-text-heading);margin:0 0 var(--space-md) 0;border-bottom:2px solid var(--color-primary-light);padding-bottom:var(--space-xs)}.about-me-card p{color:var(--color-text-body);line-height:1.7;margin:0}.skills-card{grid-column:span 1 / -1}.skills-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-lg)}.skills-category h4{font-size:var(--font-size-large);color:var(--color-text-heading);margin:0 0 var(--space-sm) 0;font-weight:500}.skills-category .tech-tags{margin:0}@media only screen and (max-width:992px){.skills-card{grid-column:span 1}}@media only screen and (max-width:576px){.about-me-grid,.skills-layout{grid-template-columns:1fr;gap:var(--space-md)}}.contact-links-box{display:flex;justify-content:center;align-items:center;gap:var(--space-xl);flex-wrap:wrap}.contact-links-box a{display:inline-block;transition:transform .3s ease,filter .3s ease}.contact-links-box a:hover{transform:scale(1.1)}.contact-links-box img{width:80px;height:auto;display:block;filter:invert(1) brightness(.4)}.contact-links-box a:hover img{filter:brightness(.6)}@media only screen and (max-width:576px){.contact-links-box{gap:var(--space-lg)}.contact-links-box img{width:60px}}#footer{background-color:var(--color-background-footer);color:var(--color-text-footer);text-align:center;padding:var(--space-lg) var(--space-md);border-top:4px solid var(--color-primary)}#footer p{margin:0;padding:0;font-size:var(--font-size-medium);line-height:1.5}#footer p:first-child{font-size:var(--font-size-large);font-weight:700;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:var(--space-xs)}#footer span{color:var(--color-primary)}@media only screen and (max-width:576px){#footer p{font-size:var(--font-size-small)}#footer p:first-child{font-size:var(--font-size-medium)}}:root{--color-primary-rgb: 227, 135, 30;--color-primary: rgb(var(--color-primary-rgb));--color-primary-dark: #c87718;--color-primary-light: #f0a54a;--color-accent-rgb: 78, 78, 78;--color-accent: rgb(var(--color-accent-rgb));--color-accent-dark: #3e3e3e;--color-background: #f4f7f6;--color-background-alt: #e8edf0;--color-background-card: #ffffff;--color-background-card-alt: #ffffff;--color-background-footer: #14141e;--color-background-tag: #e0e0e0;--color-background-hero-overlay: rgba(33, 35, 48, .85);--color-text-heading: #1c1c2b;--color-text-heading-inverse: #ffffff;--color-text-body: #222222;--color-text-secondary: #4a4a4a;--color-text-secondary-inverse: #d5d5d5;--color-text-inverse: #ffffff;--color-text-button: #ffffff;--color-text-tag: #333333;--color-text-footer: #dfdfdf;--font-family-base: "Stratum2", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--line-height-base: 1.6;--font-size-small: clamp(.9rem, .8rem + .4vw, 1.1rem);--font-size-medium: clamp(1.05rem, .9rem + .6vw, 1.35rem);--font-size-large: clamp(1.15rem, 1rem + .7vw, 1.5rem);--font-size-xlarge: clamp(1.3rem, 1.1rem + 1.1vw, 1.9rem);--font-size-xxlarge: clamp(1.5rem, 1.2rem + 1.5vw, 2.3rem);--font-size-h3: clamp(1.4rem, 1.2rem + .9vw, 1.9rem);--font-size-h2: clamp(1.7rem, 1.4rem + 1.4vw, 2.5rem);--font-size-h1: clamp(2.3rem, 1.7rem + 2.7vw, 3.9rem);--font-size-h1-hero: clamp(2.7rem, 2rem + 3.7vw, 4.9rem);--font-size-h2-hero: clamp(1.4rem, 1.1rem + 1.7vw, 2.2rem);--font-size-h1-hero-tablet: clamp(2.4rem, 1.9rem + 2.7vw, 3.7rem);--font-size-h2-hero-tablet: clamp(1.3rem, 1rem + 1.4vw, 2rem);--font-size-h1-hero-mobile: clamp(2rem, 1.6rem + 2.2vw, 3rem);--font-size-h2-hero-mobile: clamp(1.2rem, .9rem + 1.2vw, 1.7rem);--space-base: 1rem;--space-xxs: calc(var(--space-base) * .25);--space-xs: calc(var(--space-base) * .5);--space-sm: calc(var(--space-base) * .75);--space-md: var(--space-base);--space-lg: calc(var(--space-base) * 1.5);--space-xl: calc(var(--space-base) * 2.5);--space-xxl: calc(var(--space-base) * 4);--border-radius-small: 4px;--border-radius-medium: 8px;--border-radius-large: 16px;--shadow-low: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-medium: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-large: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-high: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:100%}body{font-family:var(--font-family-base);line-height:var(--line-height-base);background-color:var(--color-background);color:var(--color-text-body);overflow-x:hidden}@font-face{font-family:Stratum2;src:url(/assets/stratum2-regular-webfont-3VRoLSxh.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Stratum2;src:url(/assets/stratum2-medium-webfont-CaUW80ni.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Stratum2;src:url(/assets/stratum2-bold-webfont-D_UJHq3J.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;color:var(--color-text-heading)}h1{font-size:var(--font-size-h1)}h2{font-size:var(--font-size-h2)}h3{font-size:var(--font-size-h3)}p{margin-bottom:var(--space-md);font-size:var(--font-size-medium)}a{color:var(--color-primary);text-decoration:none;transition:color .3s ease}a:hover{color:var(--color-primary-dark);text-decoration:underline}img,svg,video{max-width:100%;height:auto;display:block}.section-container{width:90%;max-width:1200px;margin:0 auto;padding:var(--space-xl) var(--space-md);display:flex;flex-direction:column;gap:var(--space-lg)}.section-header{text-align:center;margin-bottom:var(--space-lg)}.section-header h2{font-size:var(--font-size-h2);color:var(--color-text-heading);margin:0 0 var(--space-xs) 0;text-transform:uppercase;letter-spacing:1.5px}.section-header p{font-size:var(--font-size-large);color:var(--color-text-secondary);max-width:60ch;margin:0 auto;line-height:1.6}.section-alternate{background-color:var(--color-background-alt)}.section-alternate .section-header h2{color:var(--color-text-heading)}.section-alternate .section-header p{color:var(--color-text-secondary)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-medium);font-weight:500;text-align:center;text-decoration:none;border-radius:var(--border-radius-medium);cursor:pointer;transition:background-color .3s ease,color .3s ease,transform .2s ease,box-shadow .3s ease;border:2px solid transparent;box-shadow:var(--shadow-low);line-height:1.2;vertical-align:middle}.btn:hover{transform:scale(1.05);box-shadow:var(--shadow-medium);text-decoration:none}.btn-primary{background-color:var(--color-primary);color:var(--color-text-button);border-color:var(--color-primary)}.btn-primary:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--color-text-button)}.btn-secondary{background-color:var(--color-accent);color:var(--color-text-button);border-color:var(--color-accent)}.btn-secondary:hover{background-color:var(--color-accent-dark);border-color:var(--color-accent-dark);color:var(--color-text-button)}.btn-outline{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn-outline:hover{background-color:var(--color-primary-light);color:var(--color-text-button);border-color:var(--color-primary-light)}.btn-outline-secondary{background-color:transparent;color:var(--color-accent-dark);border-color:var(--color-accent)}.btn-outline-secondary:hover{background-color:var(--color-accent);color:var(--color-text-button);border-color:var(--color-accent)}.tech-tags{list-style:none;padding:0;margin:var(--space-sm) 0 0 0;display:flex;flex-wrap:wrap;gap:var(--space-xs)}.tech-tags li{background-color:var(--color-background-tag);color:var(--color-text-tag);padding:var(--space-xxs) var(--space-sm);border-radius:var(--border-radius-small);font-size:var(--font-size-small);font-weight:500}@media only screen and (max-width:576px){.section-container{padding:var(--space-lg) var(--space-sm);gap:var(--space-md)}.section-header h2{font-size:var(--font-size-h2-hero-mobile)}.section-header p{font-size:var(--font-size-medium)}}
