@font-face{font-family:Portfolio;src:url(/fonts/InterVariable.woff2)format("woff2");font-weight:100 900;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#080808;--surface:#101010;--surface-raised:#171717;--text:#f5f5f5;--muted:#b0b0b0;--subtle:#939393;--border:#303030;--line:#252525;--button:#f4f4f4;--button-text:#111;--glow:#fff1;--header:#080808e0;--max:1120px}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f7f5;--surface:#fff;--surface-raised:#efefec;--text:#161616;--muted:#505050;--subtle:#606060;--border:#d0d0cb;--line:#ddddd8;--button:#181818;--button-text:#fff;--glow:#0000000b;--header:#f7f7f5e6}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Portfolio,Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.65}img{max-width:100%;height:auto;display:block}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.035em;font-weight:700;line-height:1.17}h1{font-size:clamp(2.7rem,4.6vw,4rem)}h2{font-size:clamp(2rem,3.4vw,2.8rem)}h3{letter-spacing:-.02em;font-size:1.25rem}p{color:var(--muted)}svg{flex-shrink:0}::selection{background:var(--text);color:var(--bg)}:focus-visible{outline:2px solid var(--text);outline-offset:5px;border-radius:4px}.container{width:min(var(--max),calc(100% - 64px));margin-inline:auto}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;background:var(--text);color:var(--bg);padding:10px 18px;position:fixed;top:10px;left:15px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:50;background:var(--header);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);position:sticky;top:0}.nav-shell{justify-content:space-between;align-items:center;gap:28px;max-width:1220px;height:78px;margin:auto;padding:0 34px;display:flex}.monogram{border:1px solid var(--muted);letter-spacing:-1px;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:17px;font-weight:700;transition:background .2s,color .2s;display:inline-flex}.monogram:hover{background:var(--text);color:var(--bg)}.primary-nav{align-items:center;gap:34px;margin-left:55px;display:flex}.primary-nav a{color:var(--muted);padding:10px 0;font-size:14px;transition:color .2s;position:relative}.primary-nav a:after{content:"";background:var(--text);transform-origin:0;width:100%;height:1px;transition:transform .2s;position:absolute;bottom:3px;left:0;transform:scaleX(0)}.primary-nav a:hover,.primary-nav a.active{color:var(--text)}.primary-nav a.active:after{transform:scaleX(1)}.nav-controls{align-items:center;gap:16px;display:flex}.theme-toggle{background:0 0;border:0;align-items:center;gap:7px;padding:10px 0;display:flex}.theme-track{border:1px solid var(--border);background:var(--surface-raised);border-radius:20px;width:32px;height:19px;padding:2px;display:block}.theme-track span{background:var(--text);border-radius:50%;width:13px;height:13px;transition:transform .2s;display:block;transform:translate(0)}:root[data-theme=light] .theme-track span{transform:translate(12px)}.menu-toggle{background:0 0;border:0;padding:8px;display:none}.hero{isolation:isolate;text-align:center;flex-direction:column;align-items:center;min-height:710px;padding-top:68px;padding-bottom:36px;display:flex;position:relative}.hero-glow{z-index:-1;background:radial-gradient(ellipse,var(--glow),transparent 67%);pointer-events:none;width:min(650px,100%);height:440px;position:absolute;top:-50px}.avatar-wrap{background:linear-gradient(140deg,#262626,#111);border:2px solid #d7d7d7;border-radius:50%;width:154px;height:154px;margin-bottom:27px;padding:5px;overflow:hidden;box-shadow:0 0 50px #ffffff09}.avatar-wrap img{object-fit:cover;border-radius:50%;width:100%;height:100%}.eyebrow{text-transform:uppercase;letter-spacing:.23em;color:var(--muted);font-size:10px;font-weight:400;line-height:1.6}.hero .eyebrow{margin-bottom:15px}.hero h1{letter-spacing:-.045em;font-weight:700}.hero-role{margin-top:9px;font-size:clamp(1.4rem,2.8vw,2.15rem);font-weight:300;line-height:1.3}.hero-summary{margin-top:16px;font-size:17px}.hero-actions{justify-content:center;gap:16px;margin-top:28px;display:flex}.button{border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:12px;min-height:46px;padding:10px 24px;font-size:14px;font-weight:600;line-height:1.5;transition:transform .2s,background .2s,box-shadow .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--button);color:var(--button-text);box-shadow:0 3px 20px var(--glow)}.button-primary:hover{box-shadow:0 5px 27px var(--glow)}.button-secondary{border-color:var(--muted);color:var(--text);background:0 0}.button-secondary:hover{background:var(--surface-raised);border-color:var(--text)}.social-links{align-items:center;gap:24px;display:flex}.social-links a{color:var(--text);justify-content:center;align-items:center;gap:13px;min-width:28px;min-height:36px;transition:opacity .2s,transform .2s;display:inline-flex}.social-links a:hover{opacity:.7;transform:translateY(-2px)}.hero .social-links{margin-top:21px}.scroll-cue{width:44px;height:44px;color:var(--muted);justify-content:center;align-items:center;margin-top:25px;display:flex}.scroll-cue:hover{color:var(--text)}.section{padding-block:35px;scroll-margin-top:10px}.section-heading{text-align:center;margin-bottom:30px}.section-heading .eyebrow{margin-bottom:12px}.section-heading>p:not(.eyebrow){margin-top:10px;font-size:16px}.panel{background:linear-gradient(145deg,var(--surface-raised),var(--surface) 47%,var(--bg));border:1px solid var(--border);border-radius:20px;box-shadow:0 12px 32px #00000009}.about-panel{grid-template-columns:1.15fr 1fr;align-items:center;gap:46px;padding:36px 40px;display:grid}.about-copy{border-right:1px solid var(--border);padding-right:32px}.about-copy p{font-size:17px;line-height:1.8}.about-copy p+p{margin-top:18px}.text-link{color:var(--text);align-items:center;gap:9px;font-size:14px;font-weight:600;display:inline-flex}.text-link svg{transition:transform .2s}.text-link:hover svg{transform:translate(4px)}.about-copy .text-link{margin-top:20px}.interest-grid{grid-template-columns:1fr 1fr;gap:14px;margin:0;padding:0;list-style:none;display:grid}.interest-grid li{border:1px solid var(--border);background:linear-gradient(145deg,var(--surface-raised),var(--surface));border-radius:12px;justify-content:center;align-items:center;gap:15px;min-height:75px;padding:15px 10px;font-size:14px;display:flex}.skills-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.skill-card{padding:28px 26px;transition:transform .25s,border-color .25s}.skill-card:hover{border-color:var(--subtle);transform:translateY(-4px)}.skill-card h3{margin-bottom:25px;font-size:21px}.skill-card ul{grid-template-columns:1fr 1fr;gap:23px 10px;margin:0;padding:0;list-style:none;display:grid}.skill-card li{white-space:nowrap;align-items:center;gap:11px;font-size:13px;display:flex}.skill-card li img{object-fit:contain;width:31px;height:31px}.projects-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.project-card{flex-direction:column;padding:8px;transition:transform .25s,border-color .25s;display:flex;overflow:hidden}.project-card:hover{border-color:var(--subtle);transform:translateY(-5px)}.project-image-link{background:var(--surface-raised);border-radius:13px;display:block;overflow:hidden}.project-image-link img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform .35s}.project-image-link:hover img{transform:scale(1.035)}.project-info{flex-direction:column;flex:1;align-items:flex-start;padding:18px 14px 16px;display:flex}.project-info h3{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:19px}.project-info>p{margin-top:7px;margin-bottom:22px;font-size:13px}.project-info>.text-link{margin-top:auto}.project-info small{color:var(--subtle);margin-top:9px;font-size:11px}.section-action{justify-content:center;margin-top:30px;display:flex}.contact-section{padding-top:45px;padding-bottom:75px}.contact-panel{grid-template-columns:.9fr 1.1fr;gap:44px;padding:38px 40px;display:grid}.contact-copy{border-right:1px solid var(--border);padding-right:35px}.contact-copy h2{margin-top:14px;font-size:clamp(1.7rem,2.8vw,2.2rem);line-height:1.25}.contact-copy>p:not(.eyebrow){max-width:350px;margin-top:18px;font-size:15px}.social-links-labeled{flex-direction:column;align-items:flex-start;gap:5px;margin-top:23px}.social-links-labeled a{min-height:38px;font-size:14px}.contact-email{color:var(--muted);overflow-wrap:anywhere;margin-top:20px;font-size:12px;display:inline-block}.contact-email:hover{text-decoration:underline}.contact-form{flex-direction:column;gap:15px;display:flex;position:relative}.form-row{grid-template-columns:1fr 1fr;gap:18px;display:grid}.contact-form label{flex-direction:column;gap:7px;font-size:12px;display:flex}.contact-form input,.contact-form textarea{background:var(--bg);border:1px solid var(--border);width:100%;min-width:0;color:var(--text);border-radius:8px;padding:10px 13px;font-size:14px;line-height:1.5;transition:border-color .2s}.contact-form textarea{resize:vertical;min-height:110px;max-height:400px}.contact-form input:hover,.contact-form textarea:hover{border-color:var(--subtle)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--subtle);opacity:1}.submit-button{border-radius:8px;width:100%;min-height:43px;margin-top:2px}.form-trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-note{color:var(--subtle);font-size:11px;line-height:1.4}.form-status{font-size:13px;line-height:1.6}.form-status:empty{display:none}.form-status.error{color:#f0b4b4}.form-status.success{color:#b7dfba}:root[data-theme=light] .form-status.error{color:#9b2727}:root[data-theme=light] .form-status.success{color:#256336}.form-status a{overflow-wrap:anywhere;align-items:center;gap:5px;margin-top:6px;text-decoration:underline;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.site-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:25px;padding-block:30px;display:flex}.footer-brand{align-items:center;gap:18px;display:flex}.footer-brand p{font-size:11px}.footer-brand p span{color:var(--subtle);margin-top:2px;font-size:10px;display:block}.site-footer .monogram{width:38px;height:38px;font-size:14px}.footer-links{color:var(--muted);gap:19px;font-size:12px;display:flex}.footer-links a:hover{color:var(--text)}.back-top{color:var(--muted);align-items:center;gap:10px;font-size:11px;display:flex}.back-top svg{box-sizing:content-box;border:1px solid var(--border);border-radius:50%;padding:6px}.inner-page{min-height:calc(100vh - 210px);padding-top:45px}.inner-page .section-heading h1{font-size:clamp(2.5rem,4.8vw,3.6rem)}.archive-page{padding-top:75px;padding-bottom:80px}.archive-page>.section-heading{margin-bottom:42px}.archive-controls{justify-content:space-between;align-items:center;gap:22px;margin-bottom:23px;display:flex}.filter-group{flex-wrap:wrap;gap:9px;display:flex}.filter-group button{border:1px solid var(--border);background:0 0;border-radius:50px;min-height:42px;padding:10px 16px;font-size:12px}.filter-group button[aria-pressed=true]{background:var(--button);color:var(--button-text);border-color:var(--button)}.search-field{border:1px solid var(--border);color:var(--muted);border-radius:10px;align-items:center;gap:9px;min-width:220px;padding:0 12px;display:flex}.search-field input{color:var(--text);background:0 0;border:0;width:100%;min-width:0;padding:11px 0;font-size:13px}.search-field:focus-within{outline:2px solid var(--text);outline-offset:3px}.search-field input:focus-visible{outline:none}.archive-meta{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px;display:flex}.archive-meta p{font-size:12px}.archive-meta p:last-child{text-align:right;color:var(--subtle)}.archive-grid{row-gap:27px}.empty-state{text-align:center;padding:60px 20px}.empty-state>svg{margin:auto}.empty-state h2{margin:20px 0 12px;font-size:24px}.empty-state .button{margin-top:25px}.not-found{text-align:center;min-height:70vh;padding-block:130px}.not-found h1{margin:15px 0}.not-found .button{margin-top:30px}@media (min-width:1600px){.hero{min-height:760px;padding-top:85px}.section{padding-block:42px}.contact-section{padding-bottom:85px}}@media (max-width:1000px){.primary-nav{gap:25px;margin-left:0}.container{width:calc(100% - 48px)}.about-panel{gap:28px;padding:28px}.about-copy{padding-right:25px}.skill-card{padding:24px 19px}.skill-card li{gap:8px;font-size:12px}.skill-card h3{font-size:18px}.contact-panel{gap:30px;padding:30px}.contact-copy{padding-right:25px}.contact-email{font-size:11px}.archive-controls{flex-direction:column;align-items:stretch}.search-field{max-width:100%}}@media (max-width:760px){.container{width:calc(100% - 36px)}.nav-shell{height:68px;padding-inline:20px}.monogram{width:38px;height:38px;font-size:15px}.menu-toggle{display:flex}.primary-nav{background:var(--bg);border-bottom:1px solid var(--border);padding:20px 25px 28px;display:none;position:absolute;top:67px;left:0;right:0;box-shadow:0 15px 20px #00000026}.primary-nav.is-open{flex-direction:column;align-items:stretch;gap:6px;display:flex}.primary-nav a{padding:10px}.primary-nav a.active:after{width:25px;left:10px}.nav-controls{gap:22px}.hero{min-height:660px;padding-top:48px;padding-bottom:20px}.avatar-wrap{width:137px;height:137px;margin-bottom:24px}.hero h1{max-width:540px;font-size:clamp(2.25rem,7vw,3.5rem)}.hero-role{margin-top:14px;font-size:23px}.hero-summary{max-width:310px;font-size:15px}.hero-actions{gap:12px;margin-top:25px}.button{padding-inline:20px;font-size:13px}.section{padding-block:29px}.section-heading{margin-bottom:24px}.section-heading .eyebrow{font-size:9px}.section-heading>p:not(.eyebrow){font-size:14px}.about-panel{grid-template-columns:1fr;gap:24px;padding:26px}.about-copy{border-right:0;border-bottom:1px solid var(--border);padding-bottom:24px;padding-right:0}.about-copy p{font-size:16px}.interest-grid{gap:12px}.interest-grid li{min-height:65px}.skills-grid{grid-template-columns:1fr;gap:15px}.skill-card{padding:23px 24px}.skill-card h3{margin-bottom:20px;font-size:20px}.skill-card ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 12px}.skill-card li{font-size:13px}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.project-info{padding:15px 10px}.project-info h3{font-size:18px}.project-info>p{font-size:12px}.contact-panel{grid-template-columns:1fr;gap:28px;padding:26px}.contact-copy{border-right:0;border-bottom:1px solid var(--border);padding-bottom:26px;padding-right:0}.contact-copy h2{max-width:350px;font-size:30px}.contact-copy .social-links-labeled{flex-flow:wrap;gap:8px 20px}.contact-email{margin-top:12px;font-size:13px}.contact-section{padding-bottom:50px}.footer-brand{gap:12px}.footer-links{display:none}.site-footer{gap:15px;padding-block:24px}.back-top span{display:none}.archive-page{padding-top:50px}.archive-meta{flex-direction:column;gap:8px}.archive-meta p:last-child{text-align:left}.inner-page{padding-top:25px}}@media (max-width:480px){.hero h1{max-width:330px;font-size:36px;line-height:1.1}.hero-role{font-size:20px}.hero .eyebrow{font-size:9px}.hero-actions .button{gap:8px;padding-inline:18px}.projects-grid{grid-template-columns:1fr;gap:21px}.project-info{padding:18px 15px}.project-info h3{font-size:21px}.project-info>p{font-size:14px}.project-card{border-radius:18px}.skill-card ul{grid-template-columns:1fr 1fr}.contact-panel{padding:24px 20px}.form-row{gap:12px}.about-panel{padding:25px 22px}.interest-grid li{gap:10px;font-size:13px}.filter-group{gap:7px}.filter-group button{padding:9px 12px;font-size:11px}.footer-brand p{font-size:10px}.footer-brand p span{font-size:9px}.contact-copy .social-links-labeled{gap:8px 18px}.section-heading h2{font-size:31px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}.button:hover,.project-card:hover,.skill-card:hover,.social-links a:hover,.project-image-link:hover img{transform:none}}.brand-icon{background:currentColor;flex-shrink:0;display:inline-block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}:root[data-theme=dark] .skill-card img[src$=wordpress\.svg]{filter:invert()}
