:root{font-family:Object Sans,sans-serif;color:var(--text-primary);background:var(--background);color-scheme:dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--background: #090909;--background-secondary: #111111;--surface: #151515;--border: #2d2d2d;--border-soft: #202020;--border-strong: #3b3b3b;--border-hover: #666666;--text-primary: #ffffff;--text-secondary: #a3a3a3;--text-muted: #737373;--text-soft: #f5f5f5;--surface-hover: #181818;--input-background: #0d0d0d;--input-focus-border: #8a8a8a;--button-primary-background: #f5f5f5;--button-primary-text: #090909;--button-primary-hover: #d9d9d9;--selection-background: #f5f5f5;--selection-text: #090909;--transition-light-background: #ffffff;--transition-dark-background: #090909;--bg: var(--background);--secondary: var(--background-secondary);--component: var(--surface);--text: var(--text-primary);--soft: var(--text-soft);--muted: var(--text-secondary);--quiet: var(--text-muted)}[data-theme=light]{color-scheme:light;--background: #ffffff;--background-secondary: #f7f7f7;--surface: #fafafa;--border: #dedede;--border-soft: #eeeeee;--border-strong: #cfcfcf;--border-hover: #8f8f8f;--text-primary: #111111;--text-secondary: #525252;--text-muted: #737373;--text-soft: #111111;--surface-hover: #f0f0f0;--input-background: #ffffff;--input-focus-border: #737373;--button-primary-background: #111111;--button-primary-text: #ffffff;--button-primary-hover: #2a2a2a;--selection-background: #111111;--selection-text: #ffffff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{min-width:320px;margin:0;background:var(--background);color:var(--text-primary)}body,button,input,textarea{font-family:inherit}button,a{color:inherit}a{text-decoration:none}button{font:inherit}img{display:block;max-width:100%}body,body *{transition:color .2s ease,background-color .25s ease,border-color .25s ease}::selection{color:var(--selection-text);background:var(--selection-background)}.container{width:min(1200px,calc(100% - 64px));margin-inline:auto}.skip-link{position:fixed;z-index:50;top:12px;left:12px;padding:11px 14px;transform:translateY(-160%);background:var(--text-soft);color:var(--background);font-size:12px}.skip-link:focus{transform:translateY(0)}.site-header{position:sticky;z-index:40;top:0;height:76px;border-bottom:1px solid var(--border-soft);background:var(--background)}.nav-shell{display:flex;height:100%;align-items:center;justify-content:space-between}.wordmark{display:inline-flex;width:48px;height:48px;align-items:center;justify-content:center;color:var(--text-primary)}.wordmark-logo{width:100%;height:100%;object-fit:contain;filter:invert(1);transition:opacity .2s ease}[data-theme=light] .wordmark-logo{filter:none}.wordmark:hover .wordmark-logo{opacity:.72}.nav-links{display:flex;align-items:center;gap:30px;margin-left:auto;margin-right:34px}.nav-links a,.nav-cta{color:var(--text-secondary);font-size:12px;transition:color .2s ease,border-color .2s ease,background .2s ease}.nav-links a{display:inline-block}.nav-links a:hover,.nav-cta:hover{color:var(--text-primary)}.nav-links a:hover{animation:nav-glitch .35s steps(2,end)}@keyframes nav-glitch{0%,to{transform:translate(0);text-shadow:none}20%{transform:translate(-1px,1px);text-shadow:2px 0 #00e5ff,-2px 0 #ff2a6d}40%{transform:translate(1px,-1px);text-shadow:-2px 0 #00e5ff,2px 0 #ff2a6d}60%{transform:translate(-1px);text-shadow:1px 0 #00e5ff,-1px 0 #ff2a6d}80%{transform:translate(1px);text-shadow:none}}.nav-cta{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid var(--border);color:var(--text-soft)}.nav-cta svg,.button svg,.text-link svg,.service-link svg,.quick-links a svg{transition:transform .2s ease}.nav-cta:hover svg,.button:hover svg,.text-link:hover svg,.service-link:hover svg,.quick-links a:hover svg{transform:translate(2px,-2px)}.theme-toggle,.menu-toggle{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--border);background:transparent;color:var(--text-soft);cursor:pointer}.theme-toggle{flex:none;margin-right:12px}.theme-toggle:hover,.menu-toggle:hover{border-color:var(--border-hover);background:var(--surface)}.theme-toggle:disabled{cursor:wait;opacity:.65}.theme-toggle-icon{display:grid;place-items:center;animation:theme-icon-in .25s ease}@keyframes theme-icon-in{0%{opacity:0;transform:scale(.82) rotate(-8deg)}to{opacity:1;transform:scale(1) rotate(0)}}.menu-toggle{display:none}.theme-transition{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;width:100%;height:100dvh;pointer-events:none;transform:scaleY(0);transform-origin:top}.theme-transition[data-transition-theme=light]{background:var(--transition-light-background)}.theme-transition[data-transition-theme=dark]{background:var(--transition-dark-background)}.theme-transition--idle{transition:none}.theme-transition--covering,.theme-transition--revealing{transition:transform .3s cubic-bezier(.76,0,.24,1)}.theme-transition--covering{transform:scaleY(1)}.theme-transition--revealing{transform:scaleY(0)}.hero{display:grid;min-height:0;grid-template-columns:minmax(0,1fr);justify-items:center;padding-block:64px 104px}.skill-marquee{width:100%;overflow:hidden;border-block:1px solid var(--border-soft);color:var(--muted)}.skill-marquee-track{display:flex;width:max-content;animation:skill-marquee 42s linear infinite}.skill-marquee-set{display:flex;flex:none}.skill-marquee-item{display:inline-flex;align-items:center;gap:17px;padding:11px 17px;color:var(--muted);font-size:10px;font-weight:500;letter-spacing:.07em;text-transform:uppercase}.skill-marquee-item i{color:var(--quiet);font-style:normal}@keyframes skill-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.hero-copy{width:100%;max-width:760px;text-align:center}.eyebrow{display:flex;align-items:center;justify-content:center;gap:9px;margin:0 0 20px;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.14em;line-height:1.5;text-transform:uppercase}.eyebrow>span:first-child{width:18px;height:1px;background:var(--muted)}.hero h1{max-width:680px;margin:0 auto 17px;color:var(--text);font-size:clamp(48px,6vw,70px);font-weight:700;letter-spacing:-.07em;line-height:1.02}.hero-role{margin:0 0 25px;color:var(--soft);font-size:14px;font-weight:500;letter-spacing:.01em}.hero-description{max-width:545px;margin:0 auto 31px;color:var(--muted);font-size:15px;line-height:1.8}.hero-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.hero-social-links{display:flex;justify-content:center;gap:8px;margin-top:28px}.hero-social-link{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--border);color:var(--muted);transition:color .2s ease,border-color .2s ease,background .2s ease,transform .2s ease}.hero-social-link:hover{border-color:var(--border-hover);background:var(--component);color:var(--soft);transform:translateY(-2px)}.button{display:inline-flex;min-height:45px;align-items:center;justify-content:center;gap:10px;padding:0 16px;border:1px solid transparent;border-radius:2px;font-size:11px;font-weight:600;transition:color .2s ease,background .2s ease,border-color .2s ease}.button-primary{background:var(--button-primary-background);color:var(--button-primary-text)}.button-primary:hover{background:var(--button-primary-hover)}.button-secondary{border-color:var(--border);color:var(--soft)}.button-secondary:hover{border-color:var(--border-hover);background:var(--component)}.portrait{overflow:hidden;border:1px solid var(--border);background:var(--soft)}.portrait--about{width:100%;aspect-ratio:.8}.portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:grayscale(1);transition:transform .45s ease}.portrait:hover img{transform:scale(1.02)}.quick-links{border-block:1px solid var(--border-soft);background:var(--secondary)}.quick-links-inner{display:flex;min-height:80px;align-items:center;justify-content:space-between;gap:28px}.quick-links-label,.footer-label{color:var(--quiet);font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.quick-links-services{display:flex;align-items:center;gap:0}.quick-link-service{padding:0 22px;color:var(--soft);font-size:12px}.quick-link-service+.quick-link-service{border-left:1px solid var(--border-strong)}.quick-links a{display:inline-flex;align-items:center;gap:8px;margin-left:20px;color:var(--soft);font-size:11px;font-weight:600}.quick-links a:hover{color:var(--muted)}.section{padding-block:108px}.section-heading{max-width:680px;margin-bottom:42px}.section-heading .eyebrow{margin-bottom:17px}.section-heading h2{max-width:710px;margin:0;color:var(--text);font-size:clamp(32px,4.1vw,48px);font-weight:600;letter-spacing:-.06em;line-height:1.1}.section-copy{max-width:520px;margin:15px 0 0;color:var(--muted);font-size:13px;line-height:1.75}.experience-section,.experience-list{border-top:1px solid var(--border-soft)}.experience-item{display:grid;grid-template-columns:220px minmax(0,1fr);gap:46px;padding:26px 0 30px;border-bottom:1px solid var(--border-soft)}.experience-meta p{margin:0}.experience-period{color:var(--soft);font-size:11px;font-weight:600;line-height:1.5}.experience-company{margin-top:9px!important;color:var(--muted);font-size:12px;line-height:1.6}.experience-location{margin-top:2px!important;color:var(--quiet);font-size:11px;line-height:1.6}.experience-details h3{margin:0 0 15px;color:var(--soft);font-size:20px;font-weight:600;letter-spacing:-.04em;line-height:1.25}.experience-details ul{display:grid;gap:9px;margin:0;padding:0;list-style:none}.experience-details li{position:relative;padding-left:18px;color:var(--muted);font-size:12px;line-height:1.75}.experience-details li:before{position:absolute;top:.78em;left:0;width:5px;height:5px;border-radius:50%;background:var(--quiet);content:""}.about-section{display:grid;grid-template-columns:250px minmax(0,1fr);align-items:start;gap:82px}.about-image{width:250px;padding-top:10px}.about-copy>.section-heading{margin-bottom:27px}.about-paragraphs{max-width:680px}.about-paragraphs p,.contact-copy>p{margin:0 0 16px;color:var(--muted);font-size:14px;line-height:1.85}.skills-section,.skill-groups{border-top:1px solid var(--border-soft)}.skill-group{display:grid;grid-template-columns:145px minmax(0,1fr);gap:25px;padding:17px 0;border-bottom:1px solid var(--border-soft)}.skill-group h3{margin:0;color:var(--soft);font-size:12px;font-weight:600}.skill-list{display:flex;flex-wrap:wrap;gap:7px}.skill-chip,.tag{display:inline-flex;align-items:center;padding:7px 9px;border:1px solid var(--border);color:var(--muted);font-size:10px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.service-card{display:flex;min-height:248px;flex-direction:column;justify-content:space-between;padding:24px;border:1px solid var(--border);background:var(--component);transition:border-color .2s ease,background .2s ease}.service-card:hover{border-color:var(--border-hover);background:var(--surface-hover)}.service-card-top{display:flex;align-items:center;justify-content:space-between}.service-number{color:var(--quiet);font-size:10px;letter-spacing:.1em}.service-icon{color:var(--soft)}.service-card h3{margin:0 0 11px;color:var(--soft);font-size:20px;font-weight:600;letter-spacing:-.04em}.service-card p{max-width:430px;margin:0;color:var(--muted);font-size:12px;line-height:1.75}.service-link,.text-link{display:inline-flex;width:fit-content;align-items:center;gap:8px;color:var(--soft);font-size:11px;font-weight:600}.service-link{margin-top:22px}.service-link:hover,.text-link:hover{color:var(--muted)}.projects-section{border-top:1px solid var(--border-soft)}.projects-section .eyebrow{font-size:11px}.projects-section .section-heading h2{font-size:clamp(33px,calc(4.1vw + 1px),49px)}.projects-section .section-copy{font-size:14px}.projects-section .project-preview-open,.projects-section .project-highlights h4,.projects-section .project-stack h4{font-size:11px}.projects-section .project-card h3{font-size:21px}.projects-section .project-card p,.projects-section .empty-state p{font-size:13px}.projects-section .project-highlights li{font-size:12px}.projects-section .project-card .tag{font-size:11px}.projects-section .project-actions .text-link{font-size:12px}.projects-section .empty-state h3{font-size:20px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.project-card{overflow:hidden;border:1px solid var(--border);background:var(--component)}.project-image{width:100%;aspect-ratio:16 / 9;object-fit:cover;filter:grayscale(1)}.project-body{padding:24px}.project-card--featured{display:grid;width:min(100%,920px);grid-column:1 / -1;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);margin-inline:auto}.project-preview-frame{position:relative;overflow:hidden;aspect-ratio:16 / 9;background:var(--secondary)}.project-preview-frame .project-image{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;filter:none}.project-card--featured .project-preview{display:flex;min-height:100%;flex-direction:column;border-right:1px solid var(--border);background:var(--secondary)}.project-card--featured .project-preview-frame{flex:1;min-height:0;aspect-ratio:auto}.project-preview-controls{display:flex;min-height:44px;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-top:1px solid var(--border)}.project-preview-open{display:inline-flex;align-items:center;gap:7px;color:var(--soft);font-size:10px;font-weight:600}.project-preview-open:hover{color:var(--muted)}.project-carousel-dots{display:flex;align-items:center;gap:5px}.project-carousel-dot{width:7px;height:7px;padding:0;border:1px solid var(--border-strong);border-radius:50%;background:transparent;cursor:pointer}.project-carousel-dot.is-active{border-color:var(--soft);background:var(--soft)}.project-carousel-button{position:absolute;z-index:1;top:50%;display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--border);background:var(--component);color:var(--soft);cursor:pointer;transform:translateY(-50%)}.project-carousel-button--previous{left:10px}.project-carousel-button--next{right:10px}.project-carousel-button:hover{border-color:var(--border-hover)}.project-card--featured .project-body{padding:24px}.project-card--featured .project-body h3{font-size:24px}.project-category{margin:0 0 8px;color:var(--quiet);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.project-card h3{margin:0 0 11px;color:var(--soft);font-size:20px;font-weight:600;letter-spacing:-.04em}.project-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.75}.project-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:20px}.project-highlights{margin-top:20px;padding-top:16px;border-top:1px solid var(--border-soft)}.project-highlights h4,.project-stack h4{margin:0 0 12px;color:var(--quiet);font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase}.project-highlights ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 15px;margin:0;padding:0;list-style:none}.project-highlights li{position:relative;padding-left:13px;color:var(--muted);font-size:11px;line-height:1.55}.project-highlights li:before{position:absolute;top:.7em;left:0;width:5px;height:5px;border-radius:50%;background:var(--quiet);content:""}.project-stack{margin-top:18px}.project-stack .project-tags{margin-top:0}.project-card--featured .tag{padding:5px 7px;font-size:9px}.project-actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:23px}.empty-state{display:grid;min-height:270px;place-items:center;align-content:center;padding:42px 24px;border:1px dashed var(--border-strong);background:var(--secondary);text-align:center}.empty-state-icon{margin-bottom:16px;color:var(--muted)}.empty-state h3{margin:0 0 9px;color:var(--soft);font-size:19px;font-weight:600;letter-spacing:-.03em}.empty-state p{max-width:470px;margin:0;color:var(--muted);font-size:12px;line-height:1.75}.contact-section{border-top:1px solid var(--border-soft);background:var(--secondary)}.contact-layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:80px;align-items:start}.contact-copy .section-heading{margin-bottom:26px}.contact-copy>p{max-width:460px}.contact-detail{display:inline-flex;align-items:center;gap:9px;margin-top:8px;color:var(--soft);font-size:12px}.content-placeholder{color:var(--quiet)!important;font-size:12px!important}.contact-form{padding:26px;border:1px solid var(--border);background:var(--component)}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:grid;gap:8px;margin-bottom:16px}.field label{color:var(--soft);font-size:11px;font-weight:600}.field input,.field textarea{width:100%;border:1px solid var(--border-strong);border-radius:0;outline:0;background:var(--input-background);color:var(--soft);font:inherit;font-size:13px;transition:border-color .2s ease,background .2s ease}.field input{height:43px;padding:0 12px}.field textarea{min-height:140px;resize:vertical;padding:12px}.field input:focus,.field textarea:focus{border-color:var(--input-focus-border);background:var(--input-background)}.form-submit{cursor:pointer}.form-note{margin:14px 0 0;color:var(--quiet);font-size:10px;line-height:1.6}.site-footer{border-top:1px solid var(--border);background:var(--bg)}.footer-main{position:relative;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:38px;padding-block:52px 42px}.footer-name{color:var(--soft);font-size:16px;font-weight:600;letter-spacing:-.03em}.footer-brand p{margin:13px 0 0;color:var(--muted);font-size:11px}.footer-nav,.footer-social{display:grid;align-content:start;gap:10px}.footer-nav a,.footer-social a{display:inline-flex;width:fit-content;align-items:center;gap:7px;color:var(--muted);font-size:11px}.footer-nav a:hover,.footer-social a:hover{color:var(--soft)}.back-top{position:absolute;right:0;bottom:42px;display:grid;width:35px;height:35px;place-items:center;border:1px solid var(--border);color:var(--muted);transform:rotate(-45deg);transition:color .2s ease,border-color .2s ease}.back-top svg{transform:rotate(45deg)}.back-top:hover{border-color:var(--border-hover);color:var(--soft)}.footer-bottom{padding-block:15px 22px;border-top:1px solid var(--border-soft);color:var(--quiet);font-size:10px}:focus-visible{outline:2px solid var(--soft);outline-offset:4px}@media(max-width:900px){.container{width:min(100% - 48px,1200px)}.hero{grid-template-columns:minmax(0,1fr);gap:34px}.about-section{grid-template-columns:205px minmax(0,1fr);gap:48px}.about-image{width:205px}.contact-layout{gap:44px}.quick-links-inner{align-items:flex-start;flex-direction:column;justify-content:center;padding-block:19px}.quick-links-services{flex-wrap:wrap;row-gap:11px}.quick-links a{margin-left:0;padding-left:20px}}@media(max-width:700px){html{scroll-padding-top:70px}.container{width:calc(100% - 40px)}.site-header{height:66px}.wordmark{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-cta{margin-left:0;margin-right:12px;padding:9px 10px;font-size:10px}.theme-toggle{margin-left:auto;margin-right:8px}.nav-links{position:absolute;z-index:50;top:65px;right:0;left:0;display:none;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:8px 20px 14px;border-bottom:1px solid var(--border);background:var(--background)}.nav-links.is-open{display:flex}.nav-links a{padding:13px 0;border-bottom:1px solid var(--border-soft);font-size:13px}.nav-links a:last-child{border-bottom:0}.menu-toggle{display:flex}.hero{display:flex;min-height:0;flex-direction:column;align-items:stretch;padding-block:64px 55px}.hero h1{font-size:clamp(44px,13vw,64px)}.hero-role{font-size:12px;line-height:1.6}.hero-description{font-size:13px}.section{padding-block:78px}.section-heading{margin-bottom:30px}.section-heading h2{font-size:clamp(31px,9vw,43px)}.section-copy{font-size:12px}.projects-section .section-heading h2{font-size:clamp(32px,calc(9vw + 1px),44px)}.projects-section .section-copy{font-size:13px}.about-section,.contact-layout{display:flex;flex-direction:column;gap:40px}.about-image{width:min(100%,235px);padding-top:0}.about-copy{width:100%}.about-paragraphs p,.contact-copy>p{font-size:13px}.experience-item{grid-template-columns:1fr;gap:18px}.skill-group{grid-template-columns:1fr;gap:11px}.service-grid,.project-grid{grid-template-columns:1fr;gap:10px}.project-card--featured{display:block}.project-card--featured .project-preview{display:block;border-right:0;border-bottom:1px solid var(--border)}.project-card--featured .project-preview-frame{aspect-ratio:4 / 3}.project-card--featured .project-body{padding:20px}.project-highlights ul{grid-template-columns:1fr}.service-card{min-height:225px;padding:20px}.contact-form{width:100%;padding:20px}.footer-main{grid-template-columns:1fr 1fr;gap:32px 20px;padding-block:38px 34px}.footer-brand{grid-column:1 / -1}.back-top{right:0;bottom:auto;top:38px}}.hero{padding-block:56px 68px}.hero h1{margin-bottom:13px}.hero-role{margin-bottom:18px}.hero-description{margin-bottom:24px}.hero-social-links{margin-top:20px}.section{padding-block:72px}.section-heading{margin-bottom:28px}.section-heading .eyebrow{margin-bottom:12px}.quick-links-inner{min-height:64px;gap:20px}.experience-item{gap:32px;padding-block:18px 22px}.about-section{gap:56px}.skill-group{gap:18px;padding-block:13px}.service-grid,.project-grid{gap:14px}.service-card{min-height:220px;padding:20px}.project-card--featured .project-body{padding:20px}.project-highlights{margin-top:16px;padding-top:12px}.project-tags,.project-stack{margin-top:14px}.contact-layout{gap:48px}.contact-form{padding:20px}.field{margin-bottom:12px}.footer-main{padding-block:40px 32px}@media(max-width:700px){.hero{padding-block:48px 52px}.section{padding-block:60px}.about-section,.contact-layout{gap:30px}.project-card--featured .project-body,.contact-form{padding:18px}.footer-main{padding-block:32px 28px}}.featured-project{padding-block:34px 42px;border-bottom:var(--border-width) solid var(--border);background:var(--secondary)}.featured-project-label{display:flex;width:min(100%,1000px);align-items:center;gap:9px;margin:0 auto 14px;color:var(--foreground-secondary);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.featured-project-label>span:first-child{padding:5px 7px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--foreground)}@media(max-width:700px){.featured-project{padding-block:26px 32px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}.nav-links a:hover{animation:none}.skill-marquee-track{animation:none;transform:translate(0)}.theme-transition{transition:none!important}}:root{--foreground: #ffffff;--foreground-secondary: #a3a3a3;--border: #ffffff;--shadow: #ffffff;--border-soft: #383838;--border-strong: var(--border);--border-hover: var(--foreground-secondary);--text-primary: var(--foreground);--text-secondary: var(--foreground-secondary);--text-muted: #737373;--text-soft: var(--foreground);--surface-hover: #1f1f1f;--input-background: var(--surface);--input-focus-border: var(--border);--button-primary-background: var(--foreground);--button-primary-text: var(--background);--button-primary-hover: var(--foreground-secondary);--selection-background: var(--foreground);--selection-text: var(--background);--border-width: 2px;--border-width-lg: 3px;--shadow-sm: 3px 3px 0 var(--shadow);--shadow-md: 5px 5px 0 var(--shadow);--shadow-lg: 6px 6px 0 var(--shadow);--radius-sm: 2px;--radius-md: 4px;--transition-fast: .15s ease}[data-theme=light]{--background: #f5f5f5;--background-secondary: #ffffff;--surface: #ffffff;--foreground: #111111;--foreground-secondary: #525252;--border: #111111;--shadow: #111111;--border-soft: #d3d3d3;--border-strong: var(--border);--border-hover: var(--foreground-secondary);--text-primary: var(--foreground);--text-secondary: var(--foreground-secondary);--text-muted: #737373;--text-soft: var(--foreground);--surface-hover: #ededed;--input-background: var(--surface);--input-focus-border: var(--border);--button-primary-background: var(--foreground);--button-primary-text: var(--background);--button-primary-hover: var(--foreground-secondary);--selection-background: var(--foreground);--selection-text: var(--background)}.container{width:min(1240px,calc(100% - 64px))}.skip-link{border:var(--border-width) solid var(--border);background:var(--foreground);color:var(--background);box-shadow:var(--shadow-sm)}.site-header{height:76px;border-bottom:var(--border-width) solid var(--border);background:var(--background)}.wordmark{border:var(--border-width) solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.wordmark:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--shadow)}.nav-links{gap:26px;margin-right:28px}.nav-links a,.nav-cta{color:var(--foreground-secondary);font-weight:600;transition:color .2s ease,border-color .2s ease,background .2s ease,transform var(--transition-fast),box-shadow var(--transition-fast)}.nav-links a:hover,.nav-cta:hover{color:var(--foreground)}.nav-cta{border:var(--border-width) solid var(--border);background:var(--surface);color:var(--foreground);box-shadow:var(--shadow-sm)}.nav-cta:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--shadow)}.theme-toggle,.menu-toggle{width:38px;height:38px;border:var(--border-width) solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--foreground);transition:transform var(--transition-fast),box-shadow var(--transition-fast),color .2s ease,background .2s ease}.theme-toggle:hover,.menu-toggle:hover{border-color:var(--border);background:var(--surface-hover);transform:translate(2px,2px);box-shadow:1px 1px 0 var(--shadow)}.theme-toggle:active,.menu-toggle:active{transform:translate(3px,3px);box-shadow:none}@keyframes nav-glitch{0%,to{transform:translate(0);text-shadow:none}20%{transform:translate(-1px,1px);text-shadow:2px 0 var(--foreground-secondary),-2px 0 var(--foreground)}40%{transform:translate(1px,-1px);text-shadow:-2px 0 var(--foreground-secondary),2px 0 var(--foreground)}60%{transform:translate(-1px);text-shadow:1px 0 var(--foreground-secondary),-1px 0 var(--foreground)}80%{transform:translate(1px);text-shadow:none}}.skill-marquee{border-block:var(--border-width) solid var(--border);background:var(--secondary)}.skill-marquee-item{font-weight:600;letter-spacing:.08em}.hero{padding-block:80px 136px;border-bottom:var(--border-width) solid var(--border)}.eyebrow{width:fit-content;margin-bottom:20px;padding:7px 10px;border:var(--border-width) solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--foreground-secondary)}.eyebrow>span:first-child{width:7px;height:7px;flex:none;background:var(--foreground)}.hero .eyebrow{margin-inline:auto}.hero h1{color:var(--foreground);font-size:clamp(44px,5.8vw,68px);font-weight:700;letter-spacing:-.04em}.hero-role{padding-bottom:7px;border-bottom:var(--border-width) solid var(--border);color:var(--foreground);font-weight:600}.hero-description{color:var(--foreground-secondary)}.hero-social-link{width:38px;height:38px;border:var(--border-width) solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--foreground);transition:transform var(--transition-fast),box-shadow var(--transition-fast),color .2s ease,background .2s ease}.hero-social-link:hover{background:var(--foreground);color:var(--background);transform:translate(2px,2px);box-shadow:1px 1px 0 var(--shadow)}.button{border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);font-weight:700;transition:transform var(--transition-fast),box-shadow var(--transition-fast),color .2s ease,background .2s ease}.button-primary{background:var(--foreground);color:var(--background);box-shadow:4px 4px 0 var(--shadow)}.button-primary:hover{background:var(--button-primary-hover);color:var(--button-primary-text);transform:translate(2px,2px);box-shadow:2px 2px 0 var(--shadow)}.button-primary:active{transform:translate(4px,4px);box-shadow:none}.button-secondary{background:var(--surface);color:var(--foreground);box-shadow:var(--shadow-sm)}.button-secondary:hover{background:var(--foreground);color:var(--background);transform:translate(2px,2px);box-shadow:1px 1px 0 var(--shadow)}.button-secondary:active{transform:translate(3px,3px);box-shadow:none}.portrait{border:var(--border-width-lg) solid var(--border);border-radius:0;background:var(--surface);box-shadow:7px 7px 0 var(--shadow)}.quick-links{border-block:var(--border-width) solid var(--border);background:var(--secondary)}.quick-links-label,.footer-label{border:1px solid var(--border);color:var(--foreground)}.quick-link-service{color:var(--foreground);font-weight:600}.quick-link-service+.quick-link-service{border-left:var(--border-width) solid var(--border)}.quick-links a{color:var(--foreground);font-weight:700}.section{padding-block:96px;border-bottom:var(--border-width) solid var(--border)}.experience-section,.skills-section,.projects-section,.contact-section{border-top:0}.projects-section{padding-bottom:144px}.section-heading h2{color:var(--foreground);font-weight:700;letter-spacing:-.025em}.section-copy{color:var(--foreground-secondary)}.experience-list,.skill-groups{border-top:var(--border-width) solid var(--border)}.experience-item,.skill-group{border-bottom:var(--border-width) solid var(--border)}.experience-period,.experience-details h3,.skill-group h3{color:var(--foreground);font-weight:700}.experience-company,.experience-details li,.about-paragraphs p{color:var(--foreground-secondary)}.experience-details li:before{width:6px;height:6px;background:var(--foreground)}.skill-group h3{letter-spacing:.04em;text-transform:uppercase}.skill-chip,.tag{border:1px solid var(--border);border-radius:0;color:var(--foreground-secondary);font-weight:600}.service-grid{gap:18px}.service-card{min-height:248px;border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-md);transition:transform var(--transition-fast),box-shadow var(--transition-fast),background .2s ease}.service-card:hover{background:var(--surface-hover);transform:translate(2px,2px);box-shadow:3px 3px 0 var(--shadow)}.service-number{color:var(--foreground-secondary);font-weight:700}.service-icon{display:grid;width:44px;height:44px;padding:10px;place-items:center;border:var(--border-width) solid var(--border);box-shadow:var(--shadow-sm);color:var(--foreground)}.service-card h3{color:var(--foreground);font-weight:700;letter-spacing:-.025em;text-transform:uppercase}.service-card p{color:var(--foreground-secondary)}.service-link,.text-link{color:var(--foreground);font-weight:700}.service-card--featured{grid-column:1 / -1;min-height:340px}.service-card--featured h3{max-width:780px;font-size:clamp(48px,7vw,88px);line-height:.9}.project-grid{gap:18px}.project-card{border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-lg);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.project-card:hover{transform:translate(2px,2px);box-shadow:4px 4px 0 var(--shadow)}.project-image{filter:none}.project-card--featured{width:min(100%,1000px)}.project-preview-frame{border-bottom:var(--border-width) solid var(--border);background:var(--secondary)}.project-preview-frame .project-image{object-fit:contain}.project-card--featured .project-preview{border-right:var(--border-width) solid var(--border);background:var(--secondary)}.project-card--featured .project-preview-frame .project-image{object-fit:contain}.project-preview-controls{border-bottom:var(--border-width) solid var(--border)}.project-preview-open,.project-card h3,.project-highlights h4,.project-stack h4{color:var(--foreground)}.project-carousel-dot{border:1px solid var(--border);border-radius:0}.project-carousel-dot.is-active{background:var(--foreground)}.project-carousel-button{border:var(--border-width) solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--foreground)}.project-carousel-button:hover{background:var(--foreground);color:var(--background);box-shadow:1px 1px 0 var(--shadow)}.project-category{color:var(--foreground-secondary);font-weight:700}.project-card p,.project-highlights li{color:var(--foreground-secondary)}.project-highlights{border-top:var(--border-width) solid var(--border)}.project-highlights li:before{background:var(--foreground)}.empty-state{border:var(--border-width) dashed var(--border);background:var(--secondary)}.empty-state-icon,.empty-state h3{color:var(--foreground)}.empty-state p{color:var(--foreground-secondary)}.contact-section{background:var(--secondary)}.contact-detail{color:var(--foreground);font-weight:600}.contact-form{border:var(--border-width) solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow-md)}.field label{color:var(--foreground);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.field input,.field textarea{border:var(--border-width) solid var(--border);border-radius:0;background:var(--input-background);color:var(--foreground);transition:border-color .2s ease,background .2s ease,box-shadow var(--transition-fast)}.field input:focus,.field textarea:focus{border-color:var(--border);background:var(--input-background);box-shadow:var(--shadow-sm);outline:2px solid var(--foreground);outline-offset:3px}.form-note,.content-placeholder{color:var(--text-muted)!important}.site-footer{border-top:var(--border-width) solid var(--border);background:var(--background)}.footer-name{color:var(--foreground);font-weight:700}.footer-brand p,.footer-nav a,.footer-social a{color:var(--foreground-secondary)}.footer-nav a:hover,.footer-social a:hover{color:var(--foreground)}.back-top{border:var(--border-width) solid var(--border);background:var(--surface);box-shadow:var(--shadow-sm);color:var(--foreground);transform:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast),color .2s ease}.back-top svg{transform:none}.back-top:hover{border-color:var(--border);color:var(--foreground);transform:translate(2px,2px);box-shadow:1px 1px 0 var(--shadow)}.footer-bottom{border-top:var(--border-width) solid var(--border);color:var(--text-muted)}:focus-visible{outline:2px solid var(--foreground);outline-offset:4px}.project-preview-open{border:0;padding:0;background:transparent;cursor:pointer;font:inherit}.preview-modal-backdrop{position:fixed;z-index:1000;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:24px;background:#000000d1}.preview-modal{display:flex;width:min(800px,100%);height:min(640px,calc(100dvh - 48px));min-height:0;flex-direction:column;overflow:hidden;background:var(--surface)}.preview-modal-header{display:flex;min-height:50px;align-items:center;justify-content:space-between;gap:16px;padding:8px 12px 8px 16px;border-bottom:var(--border-width) solid var(--border)}.preview-modal-header p{margin:0;color:var(--foreground);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.preview-modal-close{display:grid;width:34px;height:34px;place-items:center;border:var(--border-width) solid var(--border);background:var(--surface);color:var(--foreground);cursor:pointer}.preview-modal-close:hover{background:var(--foreground);color:var(--background)}.preview-modal-image-wrap{display:grid;min-height:0;flex:1;place-items:center;padding:20px;background:var(--secondary)}.preview-modal-image{display:block;width:100%;height:100%;object-fit:contain}.featured-project-tooltip{position:relative;display:inline-flex;margin-left:2px}.featured-project-tooltip-trigger{display:grid;width:23px;height:23px;place-items:center;border:1px solid var(--border);background:var(--surface);color:var(--foreground);cursor:help}.featured-project-tooltip-text{position:absolute;z-index:2;bottom:calc(100% + 8px);left:50%;width:max-content;max-width:180px;padding:7px 9px;border:var(--border-width) solid var(--border);background:var(--foreground);box-shadow:var(--shadow-sm);color:var(--background);font-size:10px;font-weight:700;letter-spacing:normal;text-transform:none;opacity:0;pointer-events:none;transform:translate(-50%,4px);transition:opacity var(--transition-fast),transform var(--transition-fast)}.featured-project-tooltip:hover .featured-project-tooltip-text,.featured-project-tooltip-trigger:focus-visible+.featured-project-tooltip-text{opacity:1;transform:translate(-50%)}@media(max-width:900px){.container{width:min(100% - 48px,1240px)}}@media(max-width:700px){.nav-links{border:var(--border-width) solid var(--border);border-top:0;background:var(--background);box-shadow:var(--shadow-sm)}.project-card--featured .project-preview{border-right:0;border-bottom:var(--border-width) solid var(--border)}}@media(max-width:700px){html{scroll-padding-top:70px}.container{width:calc(100% - 40px)}.site-header{height:66px}.nav-cta{margin-left:0;margin-right:12px;padding:9px 10px;font-size:10px}.theme-toggle{margin-left:auto;margin-right:8px}.nav-links{top:65px;right:0;left:0;display:none;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:8px 20px 14px}.nav-links.is-open{display:flex}.nav-links a{padding:13px 0;border-bottom:1px solid var(--border-soft);font-size:13px}.nav-links a:last-child{border-bottom:0}.menu-toggle{display:grid}.hero{display:flex;min-height:0;flex-direction:column;align-items:stretch;padding-block:64px 55px}.hero h1{font-size:clamp(44px,13vw,64px)}.hero-role{font-size:12px;line-height:1.6}.hero-description{font-size:13px}.section{padding-block:78px}.section-heading{margin-bottom:30px}.section-heading h2{font-size:clamp(31px,9vw,43px)}.section-copy{font-size:12px}.about-section,.contact-layout{display:flex;flex-direction:column;gap:40px}.about-image{width:min(100%,235px);padding-top:0}.about-copy{width:100%}.about-paragraphs p,.contact-copy>p{font-size:13px}.experience-item{grid-template-columns:1fr;gap:18px}.skill-group{grid-template-columns:1fr;gap:11px}.service-grid,.project-grid{grid-template-columns:1fr;gap:18px}.project-card--featured{display:block}.project-card--featured .project-preview{display:block;border-right:0;border-bottom:var(--border-width) solid var(--border)}.project-card--featured .project-preview-frame{aspect-ratio:4 / 3}.project-card--featured .project-body{padding:20px}.project-highlights ul{grid-template-columns:1fr}.service-card{min-height:225px;padding:20px}.service-card--featured{min-height:280px}.service-card--featured h3{font-size:clamp(35px,10vw,54px)}.contact-form{width:100%;padding:20px}.footer-main{grid-template-columns:1fr 1fr;gap:32px 20px;padding-block:38px 34px}.footer-brand{grid-column:1 / -1}.back-top{right:0;bottom:auto;top:38px}}@media(max-width:430px){.container{width:calc(100% - 32px)}.nav-cta{display:none}.hero-actions{align-items:stretch;flex-direction:column}.button{width:100%}.quick-link-service{padding-inline:10px;font-size:10px}.quick-link-service:first-child{padding-left:0}.quick-links a{padding-left:10px;font-size:10px}.field-row{grid-template-columns:1fr;gap:0}.footer-bottom{font-size:9px}}@media(max-width:700px){.preview-modal-image-wrap{padding:12px}}.contact-whatsapp{width:min(100%,280px);margin-top:22px;padding:16px;border:var(--border-width) solid var(--border);background:var(--surface);box-shadow:var(--shadow-md)}.contact-whatsapp-heading{display:flex;align-items:center;gap:10px}.contact-whatsapp-icon{display:grid;width:36px;height:36px;place-items:center;border:1px solid var(--border);color:var(--foreground)}.contact-whatsapp-title,.contact-whatsapp-note{margin:0!important}.contact-whatsapp-title{color:var(--foreground)!important;font-size:11px!important;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.contact-whatsapp-note{margin-top:3px!important;color:var(--foreground-secondary)!important;font-size:10px!important;line-height:1.4!important}.contact-whatsapp-qr{display:grid;place-items:center;margin-top:16px;padding:10px;border:var(--border-width) solid var(--border);background:#fff}.contact-whatsapp-qr svg{display:block;width:min(100%,200px);height:auto;shape-rendering:crispEdges}.contact-whatsapp-link{display:inline-flex;align-items:center;gap:7px;margin-top:14px;color:var(--foreground);font-size:11px;font-weight:700}.contact-whatsapp-link:hover{color:var(--foreground-secondary)}.form-submit:disabled{cursor:wait;opacity:.65}.form-note--success{color:var(--foreground)!important}.form-note--error{color:var(--foreground-secondary)!important}.github-activity-profile{display:inline-flex;align-items:center;gap:8px;color:var(--foreground);font-size:12px;font-weight:700}.github-activity-profile svg:last-child{margin-left:auto}.github-activity-profile:hover{color:var(--foreground-secondary)}.github-calendar-card{overflow:hidden;border:var(--border-width) solid var(--border);background:var(--surface);box-shadow:var(--shadow-md)}.github-calendar-header{display:flex;align-items:center;flex-wrap:wrap;gap:16px 24px;padding:16px 18px;border-bottom:var(--border-width) solid var(--border)}.github-calendar-total{display:flex;align-items:baseline;gap:7px;margin-left:auto}.github-calendar-total strong{color:var(--foreground);font-size:24px;line-height:1}.github-calendar-total span,.github-calendar-private{color:var(--foreground-secondary);font-size:10px}.github-calendar-private{display:inline-flex;align-items:center;gap:5px}.github-activity-state{margin:0;padding:22px 16px;color:var(--foreground-secondary);font-size:12px}.github-calendar-scroll{overflow-x:auto;padding:20px 18px 14px}.github-calendar-grid{display:flex;width:max-content;min-width:100%;gap:8px}.github-calendar-weekdays,.github-calendar-week{display:grid;grid-template-rows:repeat(7,11px);gap:4px}.github-calendar-weekdays{width:28px;color:var(--foreground-secondary);font-size:8px;line-height:11px;text-align:right}.github-calendar-weeks-wrap{min-width:max-content}.github-calendar-months,.github-calendar-weeks{display:flex;gap:4px}.github-calendar-months{height:16px;color:var(--foreground-secondary);font-size:8px;line-height:11px}.github-calendar-months span{width:11px;flex:none;white-space:nowrap}.github-calendar-day{display:block;width:11px;height:11px;border:1px solid var(--border-soft);background:var(--background-secondary)}.github-calendar-day--none{background:var(--background-secondary)}.github-calendar-day--first{background:#404040}.github-calendar-day--second{background:#707070}.github-calendar-day--third{background:#a3a3a3}.github-calendar-day--fourth{background:var(--foreground)}.github-calendar-day--empty{visibility:hidden}[data-theme=light] .github-calendar-day--first{background:#d4d4d4}[data-theme=light] .github-calendar-day--second{background:#a3a3a3}[data-theme=light] .github-calendar-day--third{background:#525252}[data-theme=light] .github-calendar-day--fourth{background:#111}.github-calendar-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 18px 16px;color:var(--foreground-secondary);font-size:10px}.github-calendar-legend{display:inline-flex;align-items:center;gap:4px}.github-calendar-legend i{display:block;width:11px;height:11px;border:1px solid var(--border-soft)}@media(max-width:700px){.github-calendar-header{align-items:flex-start;flex-direction:column;gap:12px}.github-calendar-total{margin-left:0}.github-calendar-scroll{padding-inline:12px}.github-calendar-footer{align-items:flex-start;flex-direction:column;padding-inline:12px}}
