@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
:root{--linen:#ffeddf;--teal:#81a094;--slate:#294d4a;--midnight:#22162b;--ink:#191716;--white:#fff;--content-width:1240px;--header-height:80px;--background:#fff;--foreground:#191716;--border-color:#294d4a26;--muted:#294d4a;--subtle-bg:#ffeddf;--tag-bg:#81a09426;--tag-color:#294d4a;--card-border:#81a09433;--hover-shadow:#294d4a26;--accent-primary:#81a094;--accent-secondary:#294d4a;--section-bg-1:#ffeddf4d;--section-bg-2:#81a09414}html.dark{--background:#191716;--foreground:#ffeddf;--border-color:#81a09433;--muted:#81a094;--subtle-bg:#22162b;--tag-bg:#81a09433;--tag-color:#ffeddf;--card-border:#81a09426;--hover-shadow:#81a09433;--accent-primary:#81a094;--accent-secondary:#ffeddf;--section-bg-1:#22162b80;--section-bg-2:#294d4a4d}@font-face{font-display:swap}html{scroll-behavior:auto;scroll-padding-top:calc(var(--header-height) + 20px)}.wf-loading body{visibility:hidden}.wf-active body,.wf-inactive body{visibility:visible}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}ul{margin-left:1.5rem}.skip-to-content{z-index:9999;background:var(--accent-primary);color:#fff;border-radius:.375rem;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;transition:top .2s;position:absolute;top:-100px;left:1rem}.skip-to-content:focus{outline:3px solid var(--accent-secondary);outline-offset:2px;top:1rem}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px;border-radius:2px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html,body{max-width:100vw;overflow-x:hidden}body{color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:basic-sans,Courier New;font-weight:400;transition:background-color .3s,color .3s}*{box-sizing:border-box;margin:0;padding:0}a{color:inherit;text-decoration:none}#main-content{margin-top:var(--header-height)}header{z-index:100001;background:#ffffffe6;width:100%;position:fixed;top:0}.header-wrapper{width:100%;max-width:var(--content-width);height:var(--header-height);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100001;flex-direction:row;justify-content:space-between;align-items:center;margin:auto;padding:.5rem 2rem;display:flex;position:relative}.logo{z-index:99999999;padding:1.5rem 1.5rem 1.5rem 0;position:relative}nav{text-transform:uppercase;justify-content:flex-end;align-items:center;gap:4rem;width:100%;display:flex;top:0}.dark header{background:#0a0a0a78}.nav-links{align-items:center;gap:2rem;display:flex}.nav-actions{align-items:center;gap:1rem;display:flex}nav a{color:var(--foreground);opacity:.7;font-size:.95rem;font-weight:400;transition:all .2s;position:relative}nav a:hover{opacity:1}nav a.active{opacity:1;color:var(--accent-primary);font-weight:500}nav a.active:after{content:"";background:var(--accent-primary);border-radius:2px;height:1px;position:absolute;bottom:-4px;left:0;right:0}.theme-toggle{background:var(--subtle-bg);cursor:pointer;width:40px;height:40px;color:var(--foreground);border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.theme-toggle:hover{background:var(--tag-bg);transform:scale(1.05)}.theme-toggle:active{transform:scale(.95)}.language-toggle .language-code{letter-spacing:.5px;font-size:.75rem;font-weight:600}.draft-mode-badge{color:#fff;background:#ff6b6b;border-radius:6px;padding:.5rem 1rem;font-size:.875rem;font-weight:600}.draft-mode-badge:hover{opacity:1;background:var(--slate)}main{min-height:calc(100vh - 100px)}.container{max-width:var(--content-width);width:100%;margin:0 auto;padding:3rem 2rem}.container.full-width{max-width:100%}h1,h2,h3,h4,h5,h6{font-family:"basic-sans",sans-serif,var(--font-geist-sans,"Arial");letter-spacing:-.02em;font-weight:700}h1{margin-bottom:1rem;font-size:3rem;line-height:1.1}h2{margin-top:2rem;margin-bottom:1rem;font-size:2.25rem;line-height:1.2}h3{margin-top:1.5rem;margin-bottom:.75rem;font-size:1.75rem;line-height:1.3}.subtitle{color:var(--muted);margin-bottom:2rem;font-size:16px;font-weight:400}.subtitle a{text-underline-offset:3px;text-decoration:underline}.lead{color:var(--muted);font-size:1.125rem;line-height:1.7}.case-studies-grid *{transition:all 1s}.case-studies-grid{grid-template-columns:repeat(auto-fill,minmax(20%,1fr));display:grid}.case-studies-grid:has(article:hover) article{opacity:.2;filter:grayscale();overflow:clip}.case-studies-grid:has(article:hover) article:hover{opacity:1;z-index:2;filter:grayscale(0)}.case-study-card{background:var(--background);transition:all .5s;position:relative;overflow:hidden;box-shadow:0 2px 12px #00000014}.case-study-card:hover{box-shadow:0 16px 32px #00000026}.case-study-card__image{background:var(--subtle-bg);width:100%;position:relative;overflow:hidden}.case-study-card__image img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.case-study-card:hover .case-study-card__image img{transform:scale(1.05)}.case-study-card__content{padding:2rem}.case-study-card__tags{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.case-study-card h2{margin:0 0 .75rem;font-size:1.5rem;font-weight:600;line-height:1.3}.case-study-card h2 a{color:var(--foreground);text-decoration:none;transition:color .2s}.case-study-card h2 a:hover{color:var(--accent-primary)}.case-study-card__meta{color:var(--muted);align-items:center;gap:.5rem;font-size:.875rem;display:flex}.case-study-card__meta .separator{opacity:.5}.case-study-card__client,.case-study-card__year{color:var(--muted);font-size:.875rem}.tag{background:var(--tag-bg);color:var(--tag-color);border-radius:6px;padding:.25rem .75rem;font-size:.875rem;transition:background-color .2s;display:inline-block}.case-study__header{margin-bottom:2rem}.case-study__meta{color:var(--muted);gap:2rem;margin:1rem 0;display:flex}.case-study__main-image{border-radius:8px;margin:2rem 0;overflow:hidden}.case-study__main-image img{width:100%;height:auto}.case-study__excerpt{color:var(--muted);margin:2rem 0;font-size:1.125rem;line-height:1.8}.case-study__content{margin:2rem 0;line-height:1.8}.case-study__content img{border-radius:4px;max-width:100%;height:auto;margin:2rem 0}.cv-section{margin:3rem 0;padding:3rem 5rem}.cv-section:nth-child(2n){background:var(--section-bg-1);border-radius:16px;margin-left:-2rem;margin-right:-2rem}.cv-section:nth-child(odd){background:var(--section-bg-2);border-radius:16px;margin-left:-2rem;margin-right:-2rem}.experience-list{margin-top:2rem}.experience-item{gap:1.5rem;margin-bottom:3rem;padding-bottom:3rem;display:flex;position:relative}.experience-item:after{content:"";background:linear-gradient(45deg,#0000,#ffffff4f,#0000);width:100%;height:1px;position:absolute;bottom:0;left:0}.experience-item:last-child:after{background:0 0}.experience-logo{flex-shrink:0;justify-content:center;align-items:center;width:100px;height:100px;display:flex;overflow:hidden}.experience-logo img{object-fit:contain;border-radius:8px;width:auto;max-width:100%;height:auto;max-height:100%}.experience-content{font-size:1.2rem}.experience-content h3{margin-top:0;margin-bottom:0}.experience-company{color:#666;margin:.25rem 0;font-weight:600}.experience-dates{color:#888;margin:.5rem 0 1rem;font-size:.875rem}.experience-description{margin:1rem 0}.experience-skills{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.skills-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2rem;margin-top:2rem;display:grid}.skill-category h3{margin-top:0;font-size:1.25rem}.skill-category ul{padding:0;list-style:none}.skill-category li{border-bottom:1px solid #f0f0f0;justify-content:space-between;padding:.5rem 0;display:flex}.skill-proficiency{color:var(--teal);font-size:.875rem}.professional-summary{background:var(--subtle-bg);border-left:4px solid var(--teal);border-radius:8px;margin:2rem 0 3rem;padding:2rem}.summary-text{color:#444;margin:0;font-size:1.125rem;line-height:1.8}.tool-icon{vertical-align:middle;align-items:center;margin-right:.5rem;display:inline-flex}.tool-icon img{border-radius:4px}.tool-proficiency{color:#666;text-transform:capitalize;font-size:.875rem}.languages-container{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:3rem;margin-top:2rem;display:grid}.language-group h3{margin-top:0;margin-bottom:1rem;font-size:1.25rem}.language-list{padding:0;list-style:none}.language-list li{border-bottom:1px solid #f0f0f0;align-items:flex-start;gap:1rem;padding:1rem 0;display:flex}.language-list li:last-child{border-bottom:none}.language-icon{flex-shrink:0;align-items:center;display:flex}.language-icon img{border-radius:4px}.language-info{flex-direction:column;flex:1;gap:.25rem;display:flex}.language-name{font-size:1rem;font-weight:600}.language-proficiency,.language-experience,.language-certifications{color:#666;font-size:.875rem}.interests-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-top:2rem;display:grid}.interest-card{background:var(--background);border-radius:16px;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 2px 8px #00000014}.interest-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px #00000026}.interest-image{width:100%;height:220px;position:relative;overflow:hidden}.interest-image img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.interest-card:hover .interest-image img{transform:scale(1.05)}.interest-content{padding:1.5rem}.interest-card h3{margin:0 0 .75rem;font-size:1.25rem;font-weight:600}.interest-category{color:#666;text-transform:uppercase;letter-spacing:.5px;margin:.5rem 0;font-size:.75rem;display:inline-block}.interest-description{color:#666;margin:1rem 0 0;font-size:.875rem;line-height:1.6}.interest-featured{background:var(--teal);color:var(--linen);text-transform:uppercase;letter-spacing:.5px;border-radius:4px;padding:.25rem .5rem;font-size:.625rem;font-weight:600;position:absolute;top:.5rem;right:.5rem}.education-grade{color:#666;margin:.5rem 0;font-style:italic}.contact-page-grid{grid-template-columns:1fr 1fr;gap:4rem;margin-top:3rem;display:grid}.contact-info-section{max-width:500px}.availability{color:var(--teal);margin-bottom:2rem;font-size:1.125rem;font-weight:500}.contact-details{flex-direction:column;justify-content:center;gap:.5rem;display:flex}.contact-detail-item{align-items:end;gap:1rem;min-width:200px;display:flex}.contact-detail-item svg{color:#ffeddf;flex-shrink:0;margin-top:.25rem}.contact-detail-item strong{text-align:left;color:#749093;text-transform:lowercase;letter-spacing:.5px;margin-bottom:.4rem;font-size:.875rem;display:block;position:relative;top:6px}.contact-detail-item a{color:var(--foreground);font-size:1rem;text-decoration:none}.contact-detail-item a:hover{color:var(--accent-primary)}.contact-detail-item p{margin:0;font-size:1rem}.contact-detail-item.contact-title .contact-detail-title{text-align:left;text-transform:capitalize}.contact-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;width:100%;display:flex}.form-group.flex{flex-direction:row;justify-content:space-between;gap:2rem}.form-group label{color:var(--foreground);font-weight:500}.form-group input,.form-group textarea{background:var(--background);color:var(--foreground);border:1px solid #e0e0e0;border-radius:6px;padding:.75rem 1rem;font-family:inherit;font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{border-color:var(--teal);outline:none}.form-group input.error,.form-group textarea.error{border-color:#ff6b6b}.form-group textarea{resize:vertical;min-height:120px}.error-message{color:#ff6b6b;font-size:.875rem}.submit-button{background:linear-gradient(135deg,var(--teal)0%,var(--slate)100%);cursor:pointer;color:var(--linen);border:none;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 2rem;font-size:1rem;font-weight:500;transition:transform .2s,box-shadow .2s;display:flex}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #81a09466}.submit-button:disabled{opacity:.6;cursor:not-allowed}.spinning{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.social-links{margin-top:3rem}.social-links ul{flex-wrap:wrap;gap:1.5rem;padding:0;list-style:none;display:flex}.social-links li a{background:var(--teal);color:var(--linen);border-radius:4px;padding:.5rem 1rem;text-decoration:none;transition:all .2s;display:inline-block}.social-links li a:hover{background:var(--slate);transform:translateY(-2px)}.profile-image{border-radius:.67rem 2rem;width:200px;overflow:hidden}.profile-image img{object-fit:cover;width:100%;height:100%;display:block}.profile-text{text-align:left;width:100%;max-width:500px;font-size:16px}.bio{max-width:800px;margin:2rem auto;line-height:1.8}.featured-work-section .container{max-width:unset;padding:0}.hero-section{text-align:center;background:#000807;align-items:center;padding-block:6rem;display:flex;position:relative;overflow:hidden}.hero-background{z-index:0;width:100%;height:100%;position:absolute;top:0;left:0}.hero-background img{object-fit:cover;width:100%;height:100%}.hero-overlay{z-index:1;background:linear-gradient(135deg,#00171fd9 0%,#294d4abf 100%);width:100%;height:100%;position:absolute;top:0;left:0}html.dark .hero-overlay{background:linear-gradient(135deg,#00171fe6 0%,#22162bd9 100%)}.hero-content{z-index:2;color:#fff;justify-content:space-between;align-items:flex-start;gap:5rem;margin:0 auto;display:flex;position:relative}.hero-section .hero-content h1,.hero-section .hero-content p,.hero-section .hero-content .subtitle,.hero-section .hero-content .bio{color:var(--linen);text-shadow:0 2px 4px #00171f80}.profile-section{gap:2rem;width:100%;display:flex}.section-title{text-align:center;margin-bottom:3rem}.cta-buttons{flex-flow:column wrap;justify-content:center;gap:1rem;margin-top:2rem;display:flex}.btn{border:2px solid #0000;border-radius:8px;padding:.875rem 2rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.btn-primary{background:var(--foreground);color:var(--background)}.btn-primary:hover{box-shadow:0 4px 12px var(--hover-shadow);transform:translateY(-2px)}.btn-secondary{border-color:var(--border-color);color:var(--foreground);background:0 0}.btn-secondary:hover{background:var(--subtle-bg)}.services-section{padding:5rem 0}.services-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:2rem;display:grid}.service-card{border:1px solid var(--border-color);background:var(--background);border-radius:12px;padding:2rem;transition:all .2s}.service-card:hover{box-shadow:0 8px 24px var(--hover-shadow);transform:translateY(-4px)}.service-icon{background:var(--subtle-bg);width:60px;height:60px;color:var(--foreground);border-radius:12px;justify-content:center;align-items:center;margin-bottom:1.5rem;display:flex}.service-card h3{margin-top:0;margin-bottom:1rem;font-size:1.5rem}.service-card p{color:var(--muted);margin:0;line-height:1.6}.featured-work-section{background:var(--subtle-bg);padding:0}.portable-text-image{margin:2rem 0}.portable-text-image img{border-radius:8px;width:100%;height:auto}@media (max-width:768px){.container{padding:2rem 1rem}h1{font-size:2rem}h2{font-size:1.5rem}nav{flex-wrap:wrap;gap:1rem;padding:1rem}.case-studies-grid,.skills-grid{grid-template-columns:1fr}.experience-item{flex-direction:column}.contact-page-grid{grid-template-columns:1fr;gap:3rem}.nav-links{gap:1rem}.nav-actions{margin-left:auto}.hero-section{padding:3rem 0}.profile-section{order:2}.stat-number{font-size:2.5rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:2rem}.hero-content{grid-template-columns:1fr;display:grid}.services-grid{grid-template-columns:1fr}.testimonial-card{padding:2rem 1.5rem}.testimonial-quote{font-size:1.25rem}.cta-buttons{flex-direction:column;align-items:stretch}.btn{text-align:center}}.footer{border-top:1px solid var(--color-border);background:#000;margin-top:8rem;padding:8rem 2rem}.footer-container{max-width:var(--content-width);padding:0 var(--padding-x);margin:0 auto}.footer-content{flex-wrap:wrap;justify-content:space-between;gap:3rem;margin-bottom:3rem;display:flex}.footer-section h3{color:var(--color-text);margin:0 0 .5rem;font-size:1.25rem}.footer-section h4{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:1rem;font-size:.875rem;font-weight:600}.footer-tagline{color:var(--color-text-muted);font-size:.875rem}.footer-nav{flex-direction:column;align-items:flex-start;gap:.75rem;padding:0;display:flex}.footer-nav a{color:var(--color-text-muted);font-size:.875rem;text-decoration:none;transition:color .2s}.footer-nav a:hover{color:var(--color-text)}.footer-contact{flex-direction:column;gap:.75rem;display:flex}.footer-contact-item{align-items:center;gap:.5rem;display:flex}.footer-contact-item svg{color:var(--color-text-muted);flex-shrink:0}.footer-contact a,.footer-contact p{color:var(--color-text-muted);margin:0;font-size:.875rem;text-decoration:none;transition:color .2s}.footer-contact a:hover{color:var(--color-text)}.footer-bottom{border-top:1px solid var(--color-border);text-align:center;justify-content:space-between;padding-top:2rem;display:flex}.footer-bottom p,.footer-bottom a{color:var(--color-text-muted);font-size:.875rem}.footer-bottom a{text-decoration:underline}.footer-bottom .notices{gap:1rem;display:flex}.social-icons{align-items:center;gap:1rem;display:flex}.social-icon{background:var(--color-surface);border:1px solid var(--color-border);width:44px;height:44px;color:var(--color-text-muted);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.social-icon:before{content:"";background:var(--color-teal);opacity:0;z-index:0;border-radius:50%;transition:opacity .3s;position:absolute;inset:0}.social-icon svg{z-index:1;transition:transform .3s cubic-bezier(.4,0,.2,1);position:relative}.social-icon:hover{border-color:var(--color-teal);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.social-icon:hover:before{opacity:.1}.social-icon:hover svg{color:var(--color-teal);transform:scale(1.1)}.social-icon:active{transform:translateY(0)}.contact-social{border-top:1px solid var(--color-border);grid-column:1/-1;justify-content:flex-start;margin-top:1rem;padding-top:1rem}.contact-social .social-icons{justify-content:flex-start}@media (max-width:768px){.footer{padding:4rem 1rem 6rem}.footer-content{flex-direction:column;margin-bottom:0}.footer-bottom{flex-flow:column wrap;gap:2rem}.footer-bottom p,.footer-bottom a{text-align:left;text-wrap:balance}.footer-content{gap:3rem}}.hamburger{display:none}@media (max-width:768px){.desktop-nav{display:none}.profile-text{max-width:100%}.hamburger{cursor:pointer;z-index:1001;background:0 0;border:none;flex-direction:column;justify-content:space-around;width:2rem;height:2rem;padding:0;display:flex;position:relative}.hamburger span{transform-origin:50%;background:#fff;border-radius:10px;width:100%;height:2px;transition:all .3s cubic-bezier(.4,0,.2,1)}.hamburger.open span:first-child{transform:translateY(9px)rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0;transform:translate(-20px)}.hamburger.open span:nth-child(3){transform:translateY(-9px)rotate(-45deg)}.mobile-menu-backdrop{-webkit-backdrop-filter:blur(8px);z-index:999;background:#000;height:100vh;animation:.3s fadeIn;position:fixed;top:0;left:0;right:0}.mobile-menu{z-index:1000;flex-direction:column;justify-content:center;height:100vh;margin:auto;padding:2rem;animation:.4s cubic-bezier(.4,0,.2,1) slideInRight;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:-4px 0 24px #00000026}.mobile-menu-nav{flex-direction:column;gap:2rem;margin-bottom:3rem;display:flex}.mobile-menu-nav a{color:var(--color-text);opacity:0;font-size:2rem;font-weight:600;text-decoration:none;transition:all .3s;animation:.5s forwards slideInStagger;position:relative;transform:translate(20px)}.mobile-menu-nav a:first-child{animation-delay:.1s}.mobile-menu-nav a:nth-child(2){animation-delay:.15s}.mobile-menu-nav a:nth-child(3){animation-delay:.2s}.mobile-menu-nav a:nth-child(4){animation-delay:.25s}.mobile-menu-nav a:before{content:"";background:var(--color-teal);width:0;height:3px;transition:width .3s;position:absolute;bottom:-4px;left:0}.mobile-menu-nav a:hover:before,.mobile-menu-nav a.active:before{width:100%}.mobile-menu-nav a.active{color:var(--color-teal)}.mobile-menu-actions{opacity:0;align-items:center;gap:1rem;animation:.5s .3s forwards fadeInUp;display:flex;transform:translateY(20px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideInStagger{to{opacity:1;transform:translate(0)}}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}}.skills-list{flex-direction:column;gap:3rem;display:flex}.skill-category{width:100%}.skill-category h3{color:var(--color-text);text-transform:capitalize;margin-bottom:1.5rem;font-size:1.25rem}.skills-category-list{flex-direction:column;gap:1rem;display:flex}@media (prefers-reduced-motion:no-preference){.skill-item{interpolate-size:allow-keywords}}.skill-item::details-content{opacity:0;block-size:0;transition:content-visibility 1s allow-discrete,opacity 1s,block-size 1s;overflow-y:clip}.skill-item[open]::details-content{opacity:1;block-size:auto}.skill-summary{cursor:pointer;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1rem;list-style:none;transition:all .3s}.skill-summary::-webkit-details-marker{display:none}.skill-summary:hover{border-color:var(--color-teal);background:var(--color-background)}.skill-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.skill-name-wrapper{align-items:center;gap:.5rem;display:flex}.skill-name{color:var(--color-text);font-size:1rem;font-weight:600}.skill-chevron{color:var(--color-text-muted);transition:transform .3s,color .3s}.skill-item[open] .skill-chevron{color:var(--color-teal);transform:rotate(180deg)}.skill-percentage{color:var(--color-text-muted);font-size:.875rem;font-weight:500}.skill-bar{background:var(--color-border);border-radius:4px;width:100%;height:8px;position:relative;overflow:hidden}.skill-bar-fill{background:linear-gradient(90deg,var(--color-teal),var(--color-slate));opacity:.3;border-radius:4px;height:100%;animation:.8s ease-out forwards barAppear;position:relative}.skill-bar-fill:before{content:"";background:#ffffffbd;border-radius:30px;animation:2s ease-in-out loadingSweep;position:absolute;inset:0}@keyframes barAppear{0%{opacity:.3}to{opacity:1}}@keyframes loadingSweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skill-description{border-top:1px solid var(--color-border);margin-top:.5rem;padding:1rem}.skill-description p{color:var(--color-text-muted);margin:0;font-size:.875rem;line-height:1.6}@media (max-width:768px){.skills-list{gap:2rem}.skill-category h3{font-size:1.125rem}.skill-summary{padding:.875rem}.skill-name{font-size:.9375rem}.skill-percentage{font-size:.8125rem}.skill-bar{height:6px}}
