:root{color-scheme:light;--font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--bg:#f7f9fc;--surface:#ffffff;--surface-soft:#edf2fb;--text:#172033;--text-muted:#46566d;--text-soft:#65758a;--border:#dce4f1;--accent:#2858c7;--accent-hover:#1f49a8;--accent-soft:#e7eeff;--shadow:0 18px 48px rgba(27,55,110,.08)}html[data-theme=dark]{color-scheme:dark;--bg:#0b1220;--surface:#121b2d;--surface-soft:#18243a;--text:#eef3ff;--text-muted:#c0cbe0;--text-soft:#9aaac5;--border:#263550;--accent:#8ab4ff;--accent-hover:#b4ceff;--accent-soft:#1b2c4d;--shadow:0 18px 48px rgba(0,0,0,.24)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--text);font-family:Inter,Segoe UI,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}::selection{background:var(--accent-soft);color:var(--text)}.page-wrap{width:min(1160px,calc(100% - 48px));margin-inline:auto}.skip-link{position:fixed;top:8px;left:8px;z-index:100;padding:10px 14px;background:var(--text);color:var(--bg);transform:translateY(-150%);border-radius:8px}.skip-link:focus{transform:translateY(0)}.site-header{height:78px;position:sticky;top:0;z-index:40;border-bottom:1px solid color-mix(in srgb,var(--border) 75%,transparent);background:var(--bg)}.nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.wordmark{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:650;letter-spacing:-.025em;white-space:nowrap}.wordmark-mark{width:34px;height:34px;display:inline-grid;place-items:center;border-radius:11px;color:var(--bg);background:var(--accent);font-family:var(--font-mono),monospace;font-size:16px}.desktop-nav{display:flex;align-items:center;gap:clamp(16px,2.5vw,32px);color:var(--text-muted);font-size:12px}.about-links a,.desktop-nav a,.footer-links a{transition:color .18s ease}.about-links a:hover,.desktop-nav a:hover,.footer-links a:hover{color:var(--accent)}.nav-actions{display:flex;align-items:center;gap:15px}.nav-resume{color:var(--text-muted);font-size:12px}.nav-resume:hover{color:var(--accent)}.theme-toggle{width:36px;height:36px;display:inline-grid;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--text);cursor:pointer;font-size:18px;transition:border-color .12s ease}.theme-toggle:active{transform:scale(.96)}.hero-section{padding-top:110px;padding-bottom:90px;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:56px;align-items:center}.hero-copy{position:relative;z-index:1}.eyebrow{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:0 0 22px;color:var(--text-soft);font-family:var(--font-mono),monospace;font-size:10px;letter-spacing:.12em;line-height:1.7}.availability-dot,.status-dot:before{width:7px;height:7px;display:inline-block;flex:0 0 auto;border-radius:50%;background:var(--accent)}.eyebrow-divider{color:var(--accent)}.hero-copy h1{max-width:760px;margin:0;font-size:clamp(42px,6vw,76px);line-height:1.06;letter-spacing:-.075em;font-weight:560}.hero-description{max-width:610px;margin:25px 0 0;color:var(--text-muted);line-height:1.9}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:30px}.button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:0 17px;border:1px solid transparent;border-radius:7px;font-size:12px;font-weight:550;transition:transform .18s ease,background .18s ease,border-color .18s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--accent);color:var(--bg)}.button-primary:hover{background:var(--accent-hover)}.button-secondary{border-color:var(--border);color:var(--text);background:var(--surface)}.button-secondary:hover{border-color:var(--accent)}.hero-aside{min-height:360px;position:relative;display:grid;place-items:center;isolation:isolate}.hero-aside:before{content:"";width:240px;height:240px;background:var(--accent-soft);opacity:.75;z-index:-1}.orbit{position:absolute;width:285px;height:285px;border:1px solid var(--border);border-radius:50%}.orbit-two{width:345px;height:345px;border-style:dashed;opacity:.65}.hero-monogram{font-size:clamp(100px,13vw,170px);font-weight:570;letter-spacing:-.12em;padding-right:.12em;color:var(--text);line-height:1}.hero-monogram span{color:var(--accent)}.aside-caption{position:absolute;left:0;bottom:8px;display:flex;gap:13px;align-items:flex-start;color:var(--text-muted);font-size:11px;line-height:1.6}.aside-index{font-size:10px}.aside-index,.aside-stamp{color:var(--accent);font-family:var(--font-mono),monospace}.aside-stamp{position:absolute;top:10px;right:2px;padding:11px 13px;border:1px solid var(--border);border-radius:50%;font-size:8px;line-height:1.5;text-align:center;transform:rotate(12deg)}.section{padding-top:92px;padding-bottom:92px}.section-heading{display:flex;justify-content:space-between;gap:40px;margin-bottom:36px}.section-heading .eyebrow{margin-bottom:15px}.about-grid h2,.contact-copy h2,.section-heading h2{margin:0;font-size:clamp(30px,4vw,47px);line-height:1.15;font-weight:540}.section-intro{max-width:390px;margin:0 0 3px;color:var(--text-muted);font-size:12px;line-height:1.85}.project-card{min-width:0;border:1px solid var(--border);transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.project-card:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:var(--shadow)}.project-visual{display:block;position:relative;overflow:hidden;background:var(--surface-soft);border-bottom:1px solid var(--border)}.visual-arrow{width:28px;height:28px;display:grid;place-items:center;border:1px solid var(--border);color:var(--text);font-size:14px}.warehouse-preview{position:absolute;left:12%;right:10%;top:65px;bottom:-30px;display:flex;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));border-radius:10px 10px 0 0;background:var(--surface);box-shadow:0 15px 45px rgba(27,55,110,.12);transform:rotate(-2deg)}.preview-sidebar{width:15%;padding:25px 8px;display:flex;flex-direction:column;gap:14px;background:var(--accent-soft)}.preview-sidebar i{height:5px;border-radius:8px;background:color-mix(in srgb,var(--accent) 28%,transparent)}.preview-sidebar i:first-child{height:18px;margin-bottom:10px;background:var(--accent)}.preview-main{flex:1 1;padding:18px 16px}.preview-heading{display:flex;justify-content:space-between;color:var(--text);font-size:10px;font-weight:600}.preview-heading b{color:var(--text-soft)}.preview-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.preview-metrics i{height:43px;border:1px solid var(--border);border-radius:5px;background:linear-gradient(145deg,var(--surface),var(--accent-soft))}.preview-table{display:flex;flex-direction:column;gap:7px}.preview-table i{height:8px;border-radius:3px;background:var(--surface-soft)}.preview-table i:nth-child(odd){width:85%}.social-preview{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at 70% 15%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 55%)}.social-window{width:67%;min-height:185px;border:1px solid var(--border);border-radius:9px;background:var(--surface);box-shadow:0 16px 45px rgba(27,55,110,.1);overflow:hidden;transform:rotate(2deg)}.social-window-bar{display:flex;gap:4px;padding:10px 12px;border-bottom:1px solid var(--border)}.social-window-bar i{width:5px;height:5px;border-radius:50%;background:var(--text-soft);opacity:.55}.social-post{margin:13px;padding:12px;border:1px solid var(--border);border-radius:6px;display:flex;flex-direction:column;gap:7px}.social-post b{font-size:9px;font-weight:600}.social-post small,.social-post span{color:var(--text-muted);font-size:7px}.social-lines{display:flex;flex-direction:column;gap:4px;margin:3px 0}.social-lines i{height:4px;width:90%;border-radius:4px;background:var(--surface-soft)}.social-lines i:nth-child(2){width:70%}.social-lines i:nth-child(3){width:82%}.social-post-short{margin-top:7px}.quote-preview{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.quote-mark{color:var(--accent);font-family:Georgia,serif;font-size:78px;line-height:.8}.quote-preview p{margin:8px 0;font-size:clamp(25px,3vw,38px);letter-spacing:-.06em;line-height:1.05}.quote-attribution{color:var(--text-soft);font-family:var(--font-mono),monospace;font-size:8px}.quote-controls{display:flex;gap:7px;margin-top:18px}.quote-controls i{padding:7px 9px;border:1px solid var(--border);border-radius:5px;color:var(--text-muted);font-size:8px;font-style:normal}.project-card-content{padding:23px 23px 22px}.project-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--font-mono),monospace;letter-spacing:.06em}.status-dot{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.status-dot:before{content:"";width:5px;height:5px}.project-card h3{margin:15px 0 9px;font-size:22px;font-weight:550;letter-spacing:-.05em}.project-card h3 a span{color:var(--accent);font-size:15px}.project-card-content>p{min-height:60px;margin:0;color:var(--text-muted);font-size:12px;line-height:1.8}.tag-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:18px}.tag-list span{display:inline-flex;align-items:center;padding:6px 8px;border:1px solid var(--border);border-radius:5px;color:var(--text-muted);font-family:var(--font-mono),monospace}.project-links{display:flex;flex-wrap:wrap;gap:16px;padding-top:17px;border-top:1px solid var(--border);color:var(--text-muted);font-size:10px}.project-links a:first-child{color:var(--accent);font-weight:600}.project-links a:hover{color:var(--text)}.experience-section{border-block:1px solid var(--border)}.experience-card{display:grid;grid-template-columns:190px 1fr;gap:35px;padding:28px}.experience-date{padding-top:7px;color:var(--text-soft);font-family:var(--font-mono),monospace;letter-spacing:.07em}.experience-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.experience-main h3{margin:0;font-size:21px;font-weight:550;letter-spacing:-.04em}.company-name{margin:5px 0 0;color:var(--accent);font-size:12px}.experience-mark{font-family:var(--font-mono),monospace}.experience-description{max-width:670px;margin:20px 0 14px;color:var(--text-muted);font-size:12px;line-height:1.8}.experience-points{display:grid;gap:9px;margin:0;padding-left:18px;color:var(--text-muted);font-size:11px;line-height:1.8}.experience-points li::marker{color:var(--accent)}.experience-main .tag-list{margin-top:22px}.skills-grid{display:grid;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface)}.skill-group{padding:22px 20px;border-right:1px solid var(--border)}.skill-group:last-child{border-right:0}.skill-group h3{margin:28px 0 0;font-size:16px;font-weight:550;letter-spacing:-.03em}.skill-group .tag-list{margin-top:15px}.skill-group .tag-list span{font-size:9px}.skills-note{margin:15px 0 0;color:var(--text-soft);font-size:10px;line-height:1.7}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}.about-grid h2{font-size:clamp(34px,4vw,48px)}.about-copy p{margin:0 0 17px;color:var(--text-muted);font-size:13px}.about-links{display:flex;gap:20px;margin-top:25px;color:var(--accent);font-size:11px;font-weight:550}.contact-section{display:flex;justify-content:space-between;gap:35px;padding-top:100px;padding-bottom:100px}.contact-copy{max-width:610px}.contact-copy h2{font-size:clamp(34px,4.5vw,54px)}.contact-copy>p:last-child{margin:17px 0 0;color:var(--text-muted);font-size:13px;line-height:1.8}.contact-actions{display:flex;flex-direction:column;align-items:flex-start;gap:15px}.contact-secondary{color:var(--text-muted);font-size:11px}.contact-secondary:hover{color:var(--accent)}.footer-inner{min-height:96px;display:flex;justify-content:space-between;gap:20px}.footer-inner>p{color:var(--text-soft);font-size:10px}.footer-links{gap:15px;color:var(--text-muted);font-size:10px}.footer-year{color:var(--text-soft);font-family:var(--font-mono),monospace;font-size:10px}.project-detail{padding-top:38px;padding-bottom:90px}.back-link{display:inline-block;color:var(--text-muted);font-size:11px}.back-link:hover{color:var(--accent)}.detail-hero{max-width:800px;padding-top:75px;padding-bottom:52px}.detail-hero .eyebrow{margin-bottom:17px}.detail-hero h1{margin:0;font-size:clamp(42px,7vw,76px);font-weight:550;letter-spacing:-.075em;line-height:1.04}.detail-intro{max-width:660px;margin:23px 0 0;color:var(--text-muted);line-height:1.9}.detail-hero .tag-list{margin-top:22px}.detail-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.detail-art{min-height:330px;display:grid;place-items:center;overflow:hidden;position:relative;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.detail-warehouse{width:min(720px,82%);min-height:270px;display:flex;overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow);transform:rotate(-1deg)}.dw-sidebar{width:15%;padding:35px 12px;display:flex;flex-direction:column;gap:20px;background:var(--accent-soft)}.dw-sidebar i{height:7px;border-radius:5px;background:color-mix(in srgb,var(--accent) 30%,transparent)}.dw-sidebar i:first-child{height:22px;background:var(--accent);margin-bottom:8px}.dw-content{flex:1 1;padding:25px}.dw-title{font-size:13px;font-weight:600}.dw-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:23px 0}.dw-stats i{height:64px;border:1px solid var(--border);border-radius:6px;background:linear-gradient(140deg,var(--surface),var(--accent-soft))}.dw-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.dw-grid i{height:18px;border-radius:4px;background:var(--surface-soft)}.detail-social{width:min(480px,78%);padding:35px;display:flex;flex-direction:column;gap:18px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow);transform:rotate(1.5deg)}.detail-social span{color:var(--accent);font-family:var(--font-mono),monospace;font-size:9px;letter-spacing:.1em}.detail-social strong{font-size:clamp(26px,4vw,44px);font-weight:550;letter-spacing:-.06em;line-height:1.1}.detail-social i{height:10px;width:90%;border-radius:4px;background:var(--surface-soft)}.detail-social i:last-child{width:60%}.detail-quote{text-align:center;display:flex;flex-direction:column;align-items:center}.detail-quote span{color:var(--accent);font-family:Georgia,serif;font-size:100px;line-height:.8}.detail-quote strong{margin-top:15px;font-size:clamp(30px,5vw,54px);font-weight:500;line-height:1.03;letter-spacing:-.07em}.detail-quote small{margin-top:20px;color:var(--text-muted);font-family:var(--font-mono),monospace;font-size:10px}.detail-content-grid{display:grid;grid-template-columns:190px minmax(0,700px);justify-content:space-between;gap:70px;padding-top:65px}.detail-sidebar{position:sticky;top:110px;align-self:start;display:flex;flex-direction:column;gap:15px;color:var(--text-muted);font-size:11px}.detail-sidebar span{margin-bottom:4px;color:var(--text-soft);font-family:var(--font-mono),monospace;font-size:9px;letter-spacing:.1em}.detail-sidebar a:hover{color:var(--accent)}.detail-body section{padding-bottom:38px;margin-bottom:36px;border-bottom:1px solid var(--border);scroll-margin-top:100px}.detail-body .eyebrow{margin-bottom:13px}.detail-body h2{margin:0 0 15px;font-size:28px;font-weight:550;letter-spacing:-.05em}.detail-body p:not(.eyebrow){margin:0;color:var(--text-muted);font-size:13px;line-height:1.95}.detail-list{display:grid;gap:12px;margin:0;padding-left:20px;color:var(--text-muted);font-size:12px;line-height:1.8}.detail-list li::marker{color:var(--accent)}.detail-body .status-note{padding:18px;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft)}.detail-next{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:50px;padding-top:24px;border-top:1px solid var(--border)}.detail-next span{color:var(--text-soft);font-family:var(--font-mono),monospace;font-size:9px;letter-spacing:.1em}.detail-next a{color:var(--accent);font-size:12px}@media (max-width:900px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-warehouse{grid-column:1/-1}.hero-section{grid-template-columns:minmax(0,1fr) 260px;gap:25px;padding-top:85px}.hero-aside{transform:scale(.85)}.section-heading{align-items:flex-start;flex-direction:column;gap:15px}.section-intro{max-width:560px}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-group:nth-child(2){border-right:0}.skill-group:nth-child(-n+2){border-bottom:1px solid var(--border)}.about-grid{gap:45px}.detail-content-grid{grid-template-columns:145px minmax(0,1fr);gap:35px}}@media (max-width:640px){.page-wrap{width:min(100% - 34px,520px)}.site-header{height:68px}.wordmark{font-size:11px;gap:7px}.wordmark-mark{width:30px;height:30px;border-radius:9px}.desktop-nav{display:none}.nav-actions{gap:10px}.nav-resume{font-size:10px}.theme-toggle{width:33px;height:33px}.hero-section{min-height:unset;grid-template-columns:1fr;padding-top:73px;padding-bottom:55px;gap:10px}.hero-copy h1{font-size:clamp(42px,12vw,62px)}.hero-description{margin-top:20px;font-size:13px}.hero-aside{min-height:215px;margin-top:10px;transform:scale(.72);transform-origin:center top;margin-bottom:-45px}.section{padding-top:62px;padding-bottom:62px}.about-grid h2,.section-heading h2{font-size:34px}.projects-grid{grid-template-columns:1fr;gap:15px}.project-warehouse{grid-column:auto}.project-visual{min-height:225px}.project-card-content{padding:20px}.project-card h3{font-size:20px}.project-card-content>p{min-height:0}.experience-card{grid-template-columns:1fr;gap:16px;padding:20px}.experience-date{padding-top:0}.experience-main h3{font-size:19px}.skills-grid{grid-template-columns:1fr 1fr}.skill-group{min-height:175px;padding:17px 14px}.skill-group h3{margin-top:23px;font-size:14px}.skill-group .tag-list span{font-size:8px;padding:5px 6px}.about-grid{grid-template-columns:1fr;gap:25px}.contact-section{align-items:flex-start;flex-direction:column;padding-top:65px;padding-bottom:65px;gap:26px}.contact-copy h2{font-size:39px}.contact-actions{flex-direction:row;flex-wrap:wrap;align-items:center}.footer-inner{min-height:125px;padding-block:22px;flex-wrap:wrap;justify-content:space-between}.footer-inner>p{order:3;flex-basis:100%;margin:0}.footer-links{gap:10px}.project-detail{padding-top:25px;padding-bottom:65px}.detail-hero{padding-top:55px;padding-bottom:35px}.detail-hero h1{font-size:43px}.detail-intro{font-size:13px}.detail-art{min-height:240px}.detail-warehouse{min-height:200px;width:88%}.dw-content{padding:16px}.dw-stats{gap:7px;margin:15px 0}.dw-stats i{height:45px}.detail-social{padding:23px}.detail-content-grid{grid-template-columns:1fr;gap:32px;padding-top:40px}.detail-sidebar{position:static;flex-direction:row;flex-wrap:wrap;gap:12px 17px}.detail-sidebar span{flex-basis:100%}.detail-body h2{font-size:24px}.detail-next{align-items:flex-start;flex-direction:column}}.site-footer .footer-signoff,.site-footer .footer-year{margin:0;color:var(--text-muted);font-family:var(--font-mono),monospace;font-size:9px;letter-spacing:.08em}.site-footer .footer-links{display:flex;align-items:center;justify-content:center;gap:8px}.site-footer .footer-links a{width:38px;height:38px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--border) 80%,var(--accent));border-radius:11px;background:color-mix(in srgb,var(--surface) 82%,transparent);color:var(--text-muted);transition:color .2s ease,border-color .2s ease,background-color .2s ease,box-shadow .2s ease,transform .2s ease}.site-footer .footer-links a svg{width:17px;height:17px;fill:currentColor}.site-footer .footer-links a:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface));box-shadow:0 0 18px color-mix(in srgb,var(--accent) 26%,transparent)}.site-footer .footer-links a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.site-footer .footer-signoff{justify-self:end;text-align:right}@media (max-width:640px){.site-footer{margin-top:48px}.footer-bottom-bar{grid-template-columns:1fr auto;gap:10px;padding:12px}.site-footer .footer-links{grid-column:1/-1;grid-row:1;margin-bottom:3px}.site-footer .footer-year{grid-column:1;grid-row:2;font-size:8px}.site-footer .footer-signoff{grid-column:2;grid-row:2;font-size:7px;letter-spacing:.04em}}.site-footer{margin-top:72px;border-top:1px solid var(--border)}.footer-bottom-bar{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;min-height:66px;padding:12px 20px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 22%,var(--border));border-radius:18px;background-color:color-mix(in srgb,var(--surface-soft) 54%,var(--surface));background-image:radial-gradient(color-mix(in srgb,var(--accent) 20%,transparent) .8px,transparent .9px);background-size:9px 9px}.footer-signoff,.footer-year{margin:0;color:var(--text-muted);font-family:var(--font-mono),monospace;font-size:9px;letter-spacing:.08em}.footer-links{display:flex;align-items:center;justify-content:center;gap:8px}.footer-links a{width:38px;height:38px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--border) 80%,var(--accent));border-radius:11px;background:color-mix(in srgb,var(--surface) 82%,transparent);color:var(--text-muted);transition:color .2s ease,border-color .2s ease,background-color .2s ease,box-shadow .2s ease,transform .2s ease}.footer-links a svg{width:17px;height:17px;fill:currentColor}.footer-links a:hover{transform:translateY(-2px);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,var(--surface));color:var(--accent);box-shadow:0 0 18px color-mix(in srgb,var(--accent) 26%,transparent)}.footer-links a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.footer-signoff{justify-self:end;text-align:right}@media (max-width:640px){.site-footer{margin-top:48px}.footer-bottom-bar{grid-template-columns:1fr auto;gap:10px;padding:12px}.footer-links{grid-column:1/-1;grid-row:1;margin-bottom:3px}.footer-year{grid-column:1;grid-row:2;font-size:8px}.footer-signoff{grid-column:2;grid-row:2;font-size:7px;letter-spacing:.04em}}#skills .skill-items>li{border-radius:999px}.skill-group:nth-child(2):before{background:linear-gradient(90deg,#3973c6,color-mix(in srgb,#3973c6 12%,transparent))}.skill-group:nth-child(3):before{background:linear-gradient(90deg,#5686d2,color-mix(in srgb,#5686d2 12%,transparent))}.skill-group:nth-child(4):before{background:linear-gradient(90deg,#789bd8,color-mix(in srgb,#789bd8 12%,transparent))}.skill-group:nth-child(2) .skill-mark{background:color-mix(in srgb,#3973c6 12%,var(--surface));color:#3973c6}.skill-group:nth-child(3) .skill-mark{background:color-mix(in srgb,#5686d2 12%,var(--surface));color:#4d7dc7}.skill-group:nth-child(4) .skill-mark{background:color-mix(in srgb,#789bd8 15%,var(--surface));color:#6588c5}.skill-items li.skill-item-core{border-color:color-mix(in srgb,var(--accent) 28%,var(--border));background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent);font-weight:550}.skill-items li{transition:transform .16s ease,background-color .16s ease,border-color .16s ease,color .16s ease}.skill-items li:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 42%,var(--border))}.skill-items li.skill-item-core:hover{background:color-mix(in srgb,var(--accent) 18%,var(--surface))}.skills-heading{max-width:760px;margin:0 auto 38px;text-align:center}.skills-heading .eyebrow{justify-content:center}.skills-heading h2{margin:0;font-size:clamp(38px,5vw,60px);line-height:1.08;letter-spacing:-.055em;font-weight:500}.skills-heading h2 span{color:var(--accent)}.skills-heading>p:last-child{max-width:700px;margin:14px auto 0;color:var(--text-muted);font-size:15px;line-height:1.7}.skills-grid{gap:16px;align-items:stretch}.skill-group{min-height:360px;display:flex;flex-direction:column;padding:28px}.skill-mark{width:56px;height:56px;border-radius:50%;font-size:20px}.skill-heading-row{gap:16px}.skill-heading-row h3{font-size:24px}.skill-description{min-height:54px;margin:15px 0 20px;color:var(--text-muted);font-size:13px;line-height:1.65}.skill-items{margin-top:auto;gap:9px}.skill-items li,.skill-items li:last-child{border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:999px;background:transparent;color:var(--text-muted);padding:8px 12px;font-size:11px}.skill-items li:hover{background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.skill-group:nth-child(2) .skill-items li{border-color:color-mix(in srgb,#3973c6 35%,var(--border))}.skill-group:nth-child(3) .skill-items li{border-color:color-mix(in srgb,#5686d2 35%,var(--border))}.skill-group:nth-child(4) .skill-items li{border-color:color-mix(in srgb,#789bd8 40%,var(--border))}@media (max-width:640px){.skills-heading{margin-bottom:28px}.skills-heading h2{font-size:clamp(34px,9vw,46px)}.skills-heading>p:last-child{font-size:13px}.skills-grid{grid-template-columns:1fr}.skill-group{min-height:0;padding:23px}.skill-description{min-height:0}}.skill-group{transition:border-color .2s ease,box-shadow .2s ease}.skill-group:hover{transform:none!important;border-color:color-mix(in srgb,var(--accent) 48%,var(--border))!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 14%,transparent),0 8px 24px color-mix(in srgb,var(--accent) 10%,transparent)!important}.hero-section{min-height:610px;padding-top:76px;padding-bottom:72px;grid-template-columns:minmax(0,1.08fr) minmax(330px,.82fr)}.hero-description{margin-top:22px}.hero-actions{margin-top:25px}.hero-aside{max-width:480px;min-height:380px}.hero-glow{inset:4% -5% 5%;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 12%,transparent),transparent 67%)}.hero-orbit-label{left:14px}.hero-aside-note{left:2px}@media (max-width:900px){.hero-section{min-height:unset;grid-template-columns:minmax(0,1fr) 300px;gap:24px;padding-top:68px;padding-bottom:60px}.hero-copy h1{font-size:clamp(45px,6vw,62px)}.hero-aside{min-height:365px}}@media (max-width:640px){.hero-section{grid-template-columns:1fr;gap:24px;padding-top:55px;padding-bottom:50px}.hero-copy h1{max-width:560px;font-size:clamp(45px,11.5vw,60px)}.hero-description{margin-top:18px}.hero-aside{width:min(100%,390px);min-height:345px;margin:2px auto 0}.hero-aside-note{bottom:0;left:4px}}.quotation-preview{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at 60% 20%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 62%)}.quotation-sheet{width:64%;min-height:205px;padding:18px 17px;background:#fffefa;color:#292e29;border:1px solid #dce4f1;border-radius:3px;box-shadow:0 16px 45px rgba(27,55,110,.13);transform:rotate(-2deg)}.quotation-brand{display:flex;align-items:center;gap:7px;color:#233d78;font-size:7px;letter-spacing:.09em;font-family:var(--font-mono),monospace}.quotation-brand b{display:grid;place-items:center;width:20px;height:20px;background:#2858c7;color:white;border-radius:4px;font-size:8px}.quotation-title{margin-top:15px;padding-bottom:8px;border-bottom:1px solid #dce4f1;text-align:center;font-size:10px;font-weight:700;letter-spacing:.18em}.quotation-lines{display:flex;justify-content:space-between;gap:8px;margin:11px 0}.quotation-lines i{width:27%;height:4px;background:#edf2fb;border-radius:2px}.quotation-table{display:grid;grid-template-columns:1.5fr .5fr .7fr;gap:4px}.quotation-table i{height:7px;background:#edf2fb;border-radius:1px}.quotation-table i:nth-child(-n+3){background:#dbe6ff}.quotation-total{display:flex;justify-content:flex-end;align-items:center;gap:9px;margin-top:13px;font-size:6px;color:#566176}.quotation-total b{color:#233d78;font-size:9px}.detail-quotation{width:100%;display:grid;place-items:center;padding:28px;background:radial-gradient(ellipse at 60% 15%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 65%)}.detail-quotation-sheet{width:min(520px,90%);min-height:280px;padding:27px;border:1px solid #dce4f1;border-radius:4px;background:#fffefa;color:#252a26;box-shadow:0 18px 50px rgba(27,55,110,.13);transform:rotate(-1deg)}.detail-quotation-sheet .quotation-brand{font-size:10px}.detail-quotation-sheet .quotation-brand b{width:28px;height:28px;font-size:11px}.detail-quotation-heading{margin-top:25px;padding-bottom:13px;border-bottom:1px solid #dce4f1;text-align:center;font-size:17px;font-weight:700;letter-spacing:.2em}.detail-quotation-meta{display:flex;justify-content:space-between;gap:12px;margin:15px 0;color:#77839a;font-family:var(--font-mono),monospace;font-size:8px}.detail-quotation-table{display:grid;grid-template-columns:1.5fr .5fr .7fr .7fr;gap:6px}.detail-quotation-table i{height:13px;border-radius:2px;background:#edf2fb}.detail-quotation-table i:nth-child(-n+4){background:#dbe6ff}.detail-quotation-total{display:flex;justify-content:space-between;margin-top:25px;padding-top:12px;border-top:1px solid #dce4f1;color:#566176;font-family:var(--font-mono),monospace;font-size:9px}.detail-quotation-total b{color:#233d78;font-family:Inter,Segoe UI,Arial,sans-serif;font-size:15px}.hero-section{position:relative;overflow:hidden;min-height:650px;padding-top:100px}.hero-section:before{inset:0 -8vw;z-index:-2;background-image:linear-gradient(color-mix(in srgb,var(--border) 42%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--border) 42%,transparent) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 18%,#000 78%,transparent);mask-image:linear-gradient(90deg,transparent,#000 18%,#000 78%,transparent);opacity:.35}.hero-section:after,.hero-section:before{content:"";position:absolute;pointer-events:none}.hero-section:after{width:470px;height:470px;right:-115px;top:65px;z-index:-1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 20%,transparent),transparent 68%)}.hero-copy h1{max-width:790px;font-size:clamp(48px,6.5vw,82px);letter-spacing:-.085em;font-weight:650}.hero-copy h1 span{color:var(--accent)}.hero-copy .eyebrow{width:fit-content;padding:7px 12px;margin-bottom:25px;border:1px solid var(--border);border-radius:999px;background:color-mix(in srgb,var(--surface) 82%,transparent)}.availability-dot{box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent)}.hero-description{max-width:570px;line-height:1.85}.hero-actions{margin-top:34px}.button{min-height:48px;border-radius:8px}.button-primary{box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 23%,transparent)}.hero-aside{min-height:410px;transform:rotate(1deg)}.hero-glow{position:absolute;inset:10% 0 6%;border-radius:45%;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 16%,transparent),transparent 67%)}.code-window{position:absolute;top:48px;left:0;z-index:2;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));border-radius:14px;background:var(--surface);box-shadow:0 28px 80px color-mix(in srgb,#07152d 22%,transparent);transform:rotate(-3deg)}.code-window-bottom,.code-window-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;color:var(--text-soft);font-family:var(--font-mono),monospace;font-size:9px}.code-window-top{border-bottom:1px solid var(--border);background:var(--surface-soft)}.window-dots{display:flex;gap:5px}.window-dots i{width:7px;height:7px;border-radius:50%;background:var(--text-soft);opacity:.65}.window-language{color:var(--accent)}.code-body{display:grid;gap:14px;padding:24px 15px 25px;font-family:var(--font-mono),monospace;font-size:clamp(8px,.85vw,11px);white-space:nowrap}.code-body div{display:flex;gap:16px;align-items:center}.code-body b{width:13px;color:var(--text-soft);opacity:.6;font-weight:400}.code-body em{color:var(--accent);font-style:normal}.code-body strong{color:var(--text);font-weight:650}.code-body .code-indent{padding-left:17px}.code-body .code-indent-2{padding-left:34px;color:var(--text-muted)}.code-window-bottom{border-top:1px solid var(--border);background:var(--surface-soft);font-size:7px;letter-spacing:.04em}.code-window-bottom span:first-child{display:flex;align-items:center;gap:7px}.code-window-bottom i{width:6px;height:6px;border-radius:50%;background:#3dbb8a}.floating-chip{position:absolute;z-index:3;display:flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-size:10px;font-weight:600}.floating-chip span{color:var(--accent);font-family:var(--font-mono),monospace;font-size:9px}.chip-backend{top:15px;right:-4px;transform:rotate(5deg)}.chip-fullstack{right:4px;bottom:98px;transform:rotate(3deg)}.hero-aside-note{position:absolute;bottom:5px;left:5px;display:flex;flex-direction:column;gap:8px}.hero-aside-note .aside-index{color:var(--accent);font-family:var(--font-mono),monospace;font-size:8px;letter-spacing:.1em}.hero-aside-note strong{color:var(--text);font-size:16px;line-height:1.25;letter-spacing:-.04em}.section{padding-top:105px;padding-bottom:105px}.about-grid h2,.contact-copy h2,.section-heading h2{font-weight:650;letter-spacing:-.075em}.about-grid h2 span,.contact-copy h2 span,.section-heading h2 span{text-shadow:0 8px 30px color-mix(in srgb,var(--accent) 14%,transparent)}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{border-radius:15px;box-shadow:0 4px 18px color-mix(in srgb,var(--text) 3%,transparent)}.project-card:hover{transform:translateY(-6px);box-shadow:0 24px 55px color-mix(in srgb,var(--accent) 12%,transparent)}.project-warehouse{grid-template-columns:1.08fr 1fr}.project-warehouse .project-visual{min-height:360px}.project-warehouse .warehouse-preview{left:10%;right:8%;top:76px;bottom:-25px}.project-warehouse .project-card-content{display:flex;flex-direction:column;padding:clamp(25px,4vw,48px)}.project-warehouse .project-card h3{font-size:clamp(24px,3vw,35px)}.project-warehouse .project-card-content>p{min-height:0;max-width:430px;font-size:13px;line-height:1.9}.project-card-content{padding:26px}.project-card h3{margin:17px 0 13px;font-size:23px;letter-spacing:-.06em}.project-card-content>p{font-size:13px;line-height:1.85}.project-visual{min-height:270px}.project-meta{gap:14px;font-size:9px}.tag-list{gap:7px}.tag-list span{padding:6px 9px;border-radius:6px;background:var(--surface-soft);font-size:9px}.project-links{padding-top:18px;margin-top:23px}.experience-section{position:relative;overflow:hidden}.experience-section:before{content:"EXPERIENCE";position:absolute;top:48px;right:max(24px,calc((100vw - 1160px) / 2));color:color-mix(in srgb,var(--accent) 8%,transparent);font-size:clamp(45px,8vw,105px);line-height:1;letter-spacing:-.09em;font-weight:800;pointer-events:none}.experience-card{position:relative;z-index:1;border-radius:15px;padding:34px;box-shadow:var(--shadow)}.experience-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:var(--accent);font-size:22px;font-weight:750}.skills-grid{border-radius:0}.skill-group{min-height:210px;padding:23px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.skill-group:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 60%,var(--border))!important;box-shadow:var(--shadow)}.skill-index{display:inline-grid;place-items:center;width:31px;height:31px;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-family:var(--font-mono),monospace;font-size:10px}.skill-group h3{margin-top:22px;font-size:18px}.skill-group .tag-list span{font-size:10px}.skills-note{margin-top:20px}.about-band{overflow:hidden}.about-band:after{content:"{}";right:6vw;bottom:-110px;color:color-mix(in srgb,var(--accent) 7%,transparent);font-family:var(--font-mono),monospace;font-size:330px;font-weight:700;line-height:1}.about-grid{position:relative}.about-copy p{line-height:2}.about-links a{display:inline-flex;align-items:center;gap:8px;padding-bottom:5px;border-bottom:1px solid var(--accent)}.contact-section{margin-top:70px;margin-bottom:70px;padding:60px;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));background:linear-gradient(125deg,var(--surface),var(--accent-soft))}.contact-section:after{content:"↗";position:absolute;right:28%;bottom:-95px;color:color-mix(in srgb,var(--accent) 10%,transparent);font-size:300px;font-weight:700;line-height:1;pointer-events:none}.contact-copy h2{max-width:570px;font-size:clamp(36px,4.5vw,58px)}.contact-actions{min-width:205px}@media (max-width:900px){.hero-section{grid-template-columns:minmax(0,1fr) 260px;gap:25px}.hero-aside{transform:scale(.9) rotate(1deg);transform-origin:center}.project-warehouse{grid-template-columns:1fr 1fr}.project-warehouse .project-visual{min-height:320px}.contact-section{padding:38px}}@media (max-width:640px){.hero-section{grid-template-columns:1fr;padding-top:70px;padding-bottom:58px;gap:20px}.hero-copy h1{font-size:clamp(43px,12vw,64px)}.hero-aside{width:min(100%,360px);min-height:350px;margin:0 auto;transform:none}.code-window{top:35px;left:8px;right:8px}.code-body{font-size:9px;gap:12px;padding:19px 12px}.chip-backend{right:0;top:5px}.chip-fullstack{right:0;bottom:83px}.hero-aside-note{bottom:0;left:8px}.section{padding-top:72px;padding-bottom:72px}.projects-grid{grid-template-columns:1fr;gap:17px}.project-warehouse{grid-column:auto;display:flex;flex-direction:column}.project-warehouse .project-visual{min-height:260px;border-right:0;border-bottom:1px solid var(--border)}.project-card-content,.project-warehouse .project-card-content{padding:22px}.project-visual{min-height:245px}.experience-section:before{top:20px;right:17px;font-size:45px}.experience-card{padding:22px}.skills-grid{grid-template-columns:1fr 1fr}.skill-group{min-height:185px;padding:16px}.skill-group h3{margin-top:19px;font-size:15px}.skill-group .tag-list span{font-size:9px}.about-band:after{right:-15px;bottom:-55px;font-size:180px}.contact-section{margin-top:40px;margin-bottom:40px;padding:28px 22px;border-radius:15px}.contact-section:after{right:-30px;bottom:-80px;font-size:200px}.contact-copy h2{font-size:40px}}.section{padding-top:clamp(76px,9vw,112px);padding-bottom:clamp(76px,9vw,112px)}.section-heading{margin-bottom:38px;padding-bottom:24px;border-bottom:1px solid var(--border)}.section-heading .eyebrow{margin-bottom:13px}.about-grid h2,.contact-copy h2,.section-heading h2{font-weight:580;letter-spacing:-.065em}.about-grid h2 span,.contact-copy h2 span,.section-heading h2 span{text-shadow:none}.section-intro{max-width:360px}.projects-grid{gap:18px}.project-card{border-radius:12px;box-shadow:none}.project-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px color-mix(in srgb,var(--text) 7%,transparent)}.project-visual{min-height:250px}.project-card-content{padding:24px}.project-card h3{font-weight:580}.experience-section{background:color-mix(in srgb,var(--surface-soft) 52%,var(--bg));border-color:transparent}.experience-section:before{content:none}.experience-card{border-radius:12px;padding:clamp(24px,4vw,36px);box-shadow:none}.experience-mark{width:44px;height:44px;border-radius:12px;background:var(--accent-soft);color:var(--accent);font-size:18px}.skill-group{min-height:190px;border-radius:12px;box-shadow:none}.skill-group:hover{transform:translateY(-2px);box-shadow:0 12px 28px color-mix(in srgb,var(--text) 6%,transparent)}.about-band{background:var(--surface);border-block:1px solid var(--border)}.about-band:after{color:color-mix(in srgb,var(--accent) 4%,transparent)}.contact-section{margin-top:clamp(36px,6vw,68px);margin-bottom:clamp(36px,6vw,68px);padding:clamp(28px,5vw,56px);border-radius:14px;background:var(--surface-soft)}.contact-section:after{color:color-mix(in srgb,var(--accent) 5%,transparent)}.button-primary{box-shadow:none}.button-primary:hover{box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 18%,transparent)}@media (max-width:640px){.section-heading{align-items:flex-start;gap:18px;margin-bottom:28px;padding-bottom:20px}.section-intro{font-size:12px}.project-visual{min-height:225px}.skill-group{min-height:175px}}:root{--bg:#f3f6f9;--surface:#fcfdff;--surface-soft:#e8eef4;--text:#202b38;--text-muted:#566575;--text-soft:#83909d;--border:#d5dfe8;--accent:#315f8e;--accent-hover:#254b73;--accent-soft:#e0eaf4;--shadow:0 22px 60px rgba(32,61,91,.1)}html[data-theme=dark]{--bg:#101722;--surface:#182332;--surface-soft:#1f2e40;--text:#edf3f8;--text-muted:#b9c7d5;--text-soft:#899bad;--border:#2d4055;--accent:#85b6eb;--accent-hover:#acd0f5;--accent-soft:#22384f;--shadow:0 22px 60px rgba(0,0,0,.28)}body{background:var(--bg)}.site-header{background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.wordmark-mark{border-radius:50%}.desktop-nav{font-size:13px}.hero-section{min-height:690px;padding-top:112px;padding-bottom:100px}.hero-section:before{background-size:64px 64px;opacity:.2;-webkit-mask-image:linear-gradient(90deg,transparent,#000 28%,#000 82%,transparent);mask-image:linear-gradient(90deg,transparent,#000 28%,#000 82%,transparent)}.hero-section:after{background:radial-gradient(circle,color-mix(in srgb,var(--accent) 15%,transparent),transparent 70%)}.hero-copy .eyebrow{padding:0;border:0;border-radius:0;background:transparent;font-size:10px}.about-grid h2,.contact-copy h2,.detail-hero h1,.hero-copy h1,.section-heading h2{font-family:Georgia,Times New Roman,serif;font-weight:400;letter-spacing:-.055em}.hero-copy h1{max-width:800px;font-size:clamp(52px,7vw,88px);line-height:.99}.about-grid h2 span,.contact-copy h2 span,.detail-hero h1 span,.hero-copy h1 span,.section-heading h2 span{color:var(--accent)}.hero-description{max-width:540px}.code-window{transform:rotate(-2deg);border-color:color-mix(in srgb,var(--text) 18%,var(--border));box-shadow:0 24px 55px color-mix(in srgb,var(--text) 12%,transparent)}.floating-chip{border-radius:999px;box-shadow:0 8px 24px color-mix(in srgb,var(--text) 8%,transparent)}.button{border-radius:999px;padding-inline:20px}.button-primary,.button-primary:hover{color:#f8fbff}.button-secondary{background:transparent}.section{padding-top:clamp(82px,9vw,120px);padding-bottom:clamp(82px,9vw,120px)}.section-heading{margin-bottom:40px;padding-bottom:25px;border-color:color-mix(in srgb,var(--border) 75%,transparent)}.about-grid h2,.section-heading h2{font-size:clamp(38px,5vw,58px);line-height:1.02}.eyebrow,.section-heading .eyebrow{color:var(--accent);letter-spacing:.16em}.section-intro{max-width:355px;font-size:13px;line-height:1.9}.projects-grid{gap:20px}.project-card{border-color:color-mix(in srgb,var(--border) 76%,transparent);border-radius:16px;background:var(--surface)}.project-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--accent) 44%,var(--border));box-shadow:0 20px 45px color-mix(in srgb,var(--text) 9%,transparent)}.project-visual{background-color:var(--surface-soft);border-color:var(--border)}.project-warehouse .project-visual{background:#e6edf3}.social-preview{background:radial-gradient(ellipse at 70% 15%,color-mix(in srgb,var(--accent) 15%,transparent),transparent 58%)}.quote-preview{background:radial-gradient(ellipse at 50% 50%,var(--surface),var(--surface-soft))}.project-card-content{padding:25px}.project-card h3{font-family:Georgia,Times New Roman,serif;font-size:27px;font-weight:400;letter-spacing:-.035em}.project-card h3 a span{font-family:Inter,Segoe UI,Arial,sans-serif}.project-card-content>p{line-height:1.9}.project-meta{color:var(--text-soft)}.tag-list span{border-color:color-mix(in srgb,var(--border) 85%,transparent);border-radius:999px;background:transparent}.experience-section{border:0}.experience-card{border-radius:16px;border-color:color-mix(in srgb,var(--border) 78%,transparent)}.experience-main h3{font-family:Georgia,Times New Roman,serif;font-size:29px;font-weight:400}.experience-mark{border-radius:50%}.skill-group{border-radius:15px}.skill-group h3{font-family:Georgia,Times New Roman,serif;font-size:21px;font-weight:400}.skill-index{border-radius:50%}.about-band{background:var(--bg)}.about-copy p{font-size:14px;line-height:1.95}.about-links a{border-bottom-color:color-mix(in srgb,var(--accent) 50%,var(--border))}.contact-section{border:1px solid var(--border);border-radius:18px;background:var(--surface)}.contact-section:after{right:23%;bottom:-100px;color:color-mix(in srgb,var(--accent) 7%,transparent)}.contact-copy h2{font-size:clamp(42px,5vw,64px)}.site-footer{border-color:var(--border)}.theme-toggle{background:var(--surface)}@media (max-width:900px){.hero-section{min-height:unset;padding-top:90px;padding-bottom:80px}.experience-title-row{align-items:center}}@media (max-width:640px){.hero-section{padding-top:68px;padding-bottom:55px}.hero-copy h1{font-size:clamp(48px,13vw,68px)}.about-grid h2,.section-heading h2{font-size:42px}.experience-main h3{font-size:24px}.contact-copy h2{font-size:44px}}.page-wrap{width:min(1240px,calc(100% - 64px))}.site-header{height:76px;border-bottom:0;background:transparent}.nav-inner{width:min(1240px,calc(100% - 64px));height:54px;margin-top:12px;padding-inline:18px;border:1px solid color-mix(in srgb,var(--border) 75%,transparent);border-radius:999px;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:0 8px 30px color-mix(in srgb,var(--text) 4%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.wordmark{font-size:12px}.wordmark-mark{width:31px;height:31px}.desktop-nav{gap:clamp(20px,3vw,38px)}.nav-actions{gap:12px}.hero-section{min-height:730px;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:clamp(35px,6vw,90px);padding-top:88px;padding-bottom:110px}.hero-section:before{inset:0 -5vw;background-size:72px 72px;-webkit-mask-image:linear-gradient(90deg,transparent 2%,#000 35%,#000 82%,transparent);mask-image:linear-gradient(90deg,transparent 2%,#000 35%,#000 82%,transparent);opacity:.12}.hero-section:after{width:620px;height:620px;right:-185px;top:20px;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 14%,transparent),transparent 70%)}.hero-copy{padding-bottom:10px}.hero-copy .eyebrow{gap:11px;margin-bottom:30px}.hero-copy h1{font-size:clamp(56px,7.3vw,96px);line-height:.94}.hero-copy h1 span{display:block;max-width:670px;margin-top:.12em}.hero-description{margin-top:28px;max-width:500px;font-size:15px}.hero-actions{margin-top:32px}.hero-aside{min-height:450px;align-self:center}.hero-glow{inset:4% -5% 2%;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 16%,transparent),transparent 66%)}.code-window{top:60px;left:2%;right:0;border-radius:18px;transform:rotate(-4deg)}.code-window-bottom,.code-window-top{padding:15px 20px}.code-body{gap:17px;padding:30px 22px 32px;font-size:clamp(9px,.9vw,12px)}.chip-backend{top:18px;right:-14px}.chip-fullstack{right:-7px;bottom:82px}.hero-aside-note{padding:14px 17px;border-left:2px solid var(--accent);background:color-mix(in srgb,var(--surface) 78%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.section{padding-top:clamp(90px,10vw,138px);padding-bottom:clamp(90px,10vw,138px)}.section-heading{align-items:flex-end;margin-bottom:44px;padding-bottom:0;border:0}.section-heading>div{position:relative}.section-heading h2{max-width:620px;font-size:clamp(42px,5vw,66px)}.section-heading .eyebrow{margin-bottom:17px}.section-intro{max-width:365px;margin-bottom:4px}#work{position:relative}#work:before{content:"01";position:absolute;top:39px;right:max(32px,calc((100vw - 1240px) / 2));color:color-mix(in srgb,var(--accent) 18%,transparent);font-family:Georgia,serif;font-size:24px}.projects-grid{grid-template-columns:repeat(12,minmax(0,1fr))}.project-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid color-mix(in srgb,var(--border) 80%,transparent);border-radius:18px}.project-warehouse{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(340px,.88fr);min-height:390px}.project-warehouse .project-visual{min-height:390px;height:100%;border-right:1px solid var(--border);border-bottom:0}.project-warehouse .project-card-content{justify-content:center;padding:clamp(30px,5vw,64px)}.project-card:not(.project-warehouse){grid-column:span 6}.project-card:not(.project-warehouse) .project-visual{min-height:300px}.project-visual{flex:0 0 auto}.project-card-content{display:flex;flex:1 1;flex-direction:column;padding:28px}.project-card h3{margin:18px 0 12px;font-size:30px}.project-card-content>p{min-height:unset;max-width:500px}.project-links{margin-top:auto;padding-top:20px}.project-meta{text-transform:uppercase;letter-spacing:.1em}.visual-arrow{position:absolute;z-index:2;top:20px;right:22px;width:34px;height:34px;border-radius:50%;background:var(--surface)}.project-card:hover .visual-arrow{background:var(--accent);color:var(--bg);border-color:var(--accent)}.warehouse-preview{transform:rotate(-1deg)}.quotation-sheet,.social-window{transform:rotate(0)}.experience-section{padding-block:clamp(90px,10vw,138px);background:var(--surface-soft)}.experience-section .page-wrap{position:relative}.experience-card{grid-template-columns:205px 1fr;gap:42px;padding:36px 0 0;border:0;border-radius:0;background:transparent}.experience-date{position:relative;padding:7px 0 0 20px;color:var(--accent);font-size:10px}.experience-date:before{content:"";position:absolute;top:8px;left:0;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--accent-soft)}.experience-title-row{max-width:760px}.experience-main h3{font-size:34px}.experience-description{max-width:680px;font-size:13px}.experience-points{gap:12px;font-size:12px}.experience-mark{width:54px;height:54px;background:var(--text);color:var(--bg)}#skills{position:relative}#skills .section-heading{align-items:flex-end}.skills-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.skill-group{min-height:245px;padding:25px;border-radius:16px}.skill-group:after{content:"";position:absolute;top:-38px;right:-38px;width:105px;height:105px;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:50%;box-shadow:0 0 0 14px color-mix(in srgb,var(--accent) 4%,transparent),0 0 0 30px color-mix(in srgb,var(--accent) 3%,transparent)}.skill-index{position:relative;z-index:1;width:35px;height:35px;background:var(--accent);color:var(--bg)}.skill-group h3{margin-top:42px;font-size:23px}.skill-group .tag-list{align-content:start}.skill-group .tag-list span{padding:5px 0;border:0;color:var(--text-muted);font-family:Inter,Segoe UI,Arial,sans-serif;font-size:11px}.skill-group .tag-list span:not(:last-child):after{content:"·";margin-left:8px;color:var(--accent)}.skills-note{max-width:620px;font-size:11px}.about-band{padding-block:clamp(90px,10vw,138px);border:0;background:#24364a}.about-grid{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:clamp(45px,8vw,120px)}.about-grid .eyebrow{color:#b9d3ed}.about-grid h2{color:#f5f8fb}.about-grid h2 span{color:#b9d3ed}.about-copy p{color:#c7d3df}.about-links a{color:#c4d9ef;border-color:#607d9c}.about-links a:hover{color:#fff}.about-band:after{right:3vw;bottom:-125px;color:rgba(255,255,255,.025)}.contact-section{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:45px;align-items:center;min-height:360px;margin-top:100px;margin-bottom:100px;padding:clamp(36px,6vw,78px);border:0;border-radius:20px;background:var(--accent)}.contact-copy .eyebrow{color:color-mix(in srgb,var(--bg) 72%,transparent)}.contact-copy h2{max-width:690px;color:var(--bg);font-size:clamp(48px,6vw,76px)}.contact-copy h2 span{color:color-mix(in srgb,var(--bg) 76%,var(--accent))}.contact-copy>p:last-child{max-width:460px;color:color-mix(in srgb,var(--bg) 82%,transparent)}.contact-actions{min-width:0}.contact-actions .button-primary{background:var(--bg);color:var(--text)}.contact-actions .button-primary:hover{background:var(--surface)}.contact-secondary{color:color-mix(in srgb,var(--bg) 86%,transparent)}.contact-secondary:hover{color:var(--bg)}.contact-section:after{right:26%;bottom:-110px;color:color-mix(in srgb,var(--bg) 8%,transparent)}.site-footer .footer-inner{min-height:105px}@media (max-width:900px){.nav-inner,.page-wrap{width:min(100% - 40px,720px)}.hero-section{grid-template-columns:minmax(0,1fr) 290px;gap:25px}.hero-copy h1{font-size:clamp(54px,8vw,76px)}.project-warehouse{grid-template-columns:1fr 1fr}.project-warehouse .project-visual{min-height:350px}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-grid{gap:45px}}@media (max-width:640px){.nav-inner,.page-wrap{width:calc(100% - 36px)}.site-header{height:68px}.nav-inner{height:48px;margin-top:10px;padding-inline:11px;gap:8px}.wordmark{gap:7px;font-size:10px}.wordmark-mark{width:27px;height:27px;font-size:13px}.desktop-nav{gap:11px;font-size:10px}.nav-actions{gap:7px}.nav-resume{display:none}.theme-toggle{width:31px;height:31px}.hero-section{min-height:unset;grid-template-columns:1fr;gap:12px;padding-top:65px;padding-bottom:55px}.hero-copy h1{font-size:clamp(50px,14vw,70px)}.hero-copy h1 span{display:inline}.hero-aside{width:min(100%,390px);min-height:350px;margin:10px auto 0}.code-window{top:40px;left:5px;right:5px}.code-body{gap:12px;padding:20px 13px;font-size:9px}.chip-backend{right:0;top:4px}.chip-fullstack{right:0;bottom:65px}.hero-aside-note{bottom:-5px;left:4px}.section{padding-block:74px}.section-heading{display:block;margin-bottom:28px}.about-grid h2,.section-heading h2{font-size:43px}.section-intro{margin-top:17px;max-width:430px}#work:before{top:25px;right:19px}.projects-grid{gap:16px}.project-warehouse,.projects-grid{display:flex;flex-direction:column}.project-warehouse{min-height:unset}.project-warehouse .project-visual{min-height:255px;border-right:0;border-bottom:1px solid var(--border)}.project-card:not(.project-warehouse) .project-visual{min-height:230px}.project-card-content,.project-warehouse .project-card-content{padding:22px}.project-card h3{font-size:27px}.experience-card{grid-template-columns:1fr;gap:23px;padding-top:25px}.experience-date{padding-left:17px}.experience-title-row{align-items:center}.experience-main h3{font-size:28px}.experience-description{margin-top:16px}.experience-points{padding-left:17px}.skills-grid{grid-template-columns:1fr 1fr;gap:10px}.skill-group{min-height:205px;padding:17px}.skill-group h3{margin-top:32px;font-size:19px}.about-grid{grid-template-columns:1fr;gap:27px}.about-band:after{right:-18px;bottom:-60px;font-size:190px}.contact-section{grid-template-columns:1fr;gap:26px;min-height:0;margin-block:42px;padding:30px 24px;border-radius:17px}.contact-copy h2{font-size:48px}.contact-section:after{right:-35px;bottom:-62px;font-size:200px}.contact-actions{gap:12px}.footer-inner{flex-wrap:wrap;padding-block:23px}}.portfolio-home{overflow:clip}.hero-section{overflow:visible}.hero-section:before{z-index:0}.hero-aside,.hero-copy{z-index:1}.hero-orbit-label{position:absolute;top:4px;left:4%;gap:8px;font-family:var(--font-mono),monospace;font-size:8px;letter-spacing:.12em}.hero-orbit-label i{color:var(--accent);font-style:normal}.section-heading-title{max-width:700px}.section-heading h2 span{color:var(--accent)}.section-heading{width:100%;max-width:none}.section-intro{max-width:380px;color:var(--text);font-size:14px;line-height:1.75}.work-section{isolation:isolate}.project-card{display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr}.project-card-art{position:relative;min-width:0}.project-card-art .project-visual{width:100%}.project-featured{grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);grid-template-rows:1fr;min-height:410px}.project-featured .project-card-art{grid-column:1;grid-row:1;min-height:410px}.project-featured .project-card-art .project-visual{position:absolute;inset:0;height:100%;min-height:100%;border:0;border-right:1px solid var(--border)}.project-featured .project-card-content{grid-column:2;grid-row:1;padding:clamp(30px,4.4vw,58px)}.project-featured .project-card h3{max-width:430px;font-size:clamp(30px,3.2vw,42px);line-height:1.05}.featured-label{position:absolute;z-index:3;left:22px;bottom:20px;display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid color-mix(in srgb,var(--border) 75%,transparent);border-radius:999px;background:var(--surface);color:var(--text-muted);font-family:var(--font-mono),monospace;font-size:8px;letter-spacing:.08em}.featured-label i{width:6px;height:6px;border-radius:50%;background:var(--accent)}.project-card-heading h3{margin-top:16px}.experience-tools,.project-stack,.skill-items{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0 0;padding:0;list-style:none}.project-stack li{padding:6px 10px;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-family:var(--font-mono),monospace;font-size:9px}.project-card-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding-top:20px;border-top:1px solid var(--border)}.case-study-link{color:var(--accent);font-size:11px;font-weight:650}.case-study-link:hover{color:var(--text)}.project-card-footer .project-links{margin:0;padding:0;border:0}.project-card-footer .project-links a{white-space:nowrap}.experience-list{position:relative;margin:0;padding:0;list-style:none}.experience-list:before{content:"";position:absolute;top:0;bottom:0;left:4px;width:1px;background:color-mix(in srgb,var(--accent) 32%,var(--border))}.experience-entry{display:grid;grid-template-columns:205px 1fr;gap:42px}.experience-entry .experience-date{position:relative;padding-left:22px}.experience-entry .experience-date:before{content:none}.experience-marker{position:absolute;top:8px;left:0;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--accent-soft)}.experience-card{display:block;min-width:0}.experience-title-row{max-width:none}.experience-title-row .company-name{margin:0 0 8px;font-family:var(--font-mono),monospace;font-size:9px;letter-spacing:.13em}.experience-tools{margin-top:23px}.experience-tools li{padding:6px 10px;border:1px solid var(--border);border-radius:999px;color:var(--text-muted);font-size:10px}.experience-points{list-style:none;padding:0}.experience-points li{position:relative;padding-left:17px}.experience-points li:before{content:"↗";left:0;color:var(--accent)}.skill-card-header{display:flex;align-items:center;justify-content:space-between}.skill-card-arrow{color:var(--accent);font-size:18px}.skill-items{display:grid;gap:0;margin-top:13px}.skill-items li{padding:7px 0;border-bottom:1px solid color-mix(in srgb,var(--border) 60%,transparent);font-size:11px}.skill-items li:last-child{border-bottom:0}.skill-group .tag-list{display:none}.about-heading{align-self:start}.about-aside-note{max-width:230px;margin:32px 0 0;padding-left:15px;border-left:1px solid #6a86a4;color:#c7d3df;font-size:11px;line-height:1.7}.about-links{gap:24px}.about-links a{border:0}.contact-section{position:relative}.contact-section .contact-actions{justify-self:end}@media (max-width:900px){.project-featured{grid-template-columns:1fr 1fr}.project-featured .project-card-art{min-height:360px}.project-featured .project-card-content{padding:28px}.experience-entry{grid-template-columns:165px 1fr;gap:24px}}@media (max-width:640px){.hero-orbit-label{top:0;left:8px}.project-featured{display:flex;flex-direction:column;min-height:unset}.project-featured .project-card-art{min-height:255px}.project-featured .project-card-art .project-visual{position:absolute;border-right:0;border-bottom:1px solid var(--border)}.project-featured .project-card-content{padding:22px}.project-card-footer{align-items:flex-start}.experience-entry{grid-template-columns:1fr;gap:15px}.experience-list:before{display:none}.experience-marker{left:0;top:5px}.experience-entry .experience-date{padding-left:18px}.experience-entry .experience-card{padding-top:18px}.experience-tools{gap:6px}.skill-items li{font-size:10px}.about-aside-note{margin-top:21px}.contact-section .contact-actions{justify-self:start}}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:22px}.projects-grid>.project-card,.projects-grid>.project-card:not(.project-warehouse){grid-column:auto;grid-row:auto;width:100%}.project-card,.project-warehouse{display:flex;grid-column:auto;grid-template-columns:none;grid-template-rows:none;flex-direction:column;min-height:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 15%,var(--border));border-radius:20px;background:color-mix(in srgb,var(--surface) 82%,#dceaff);box-shadow:0 16px 42px rgba(52,92,151,.08),inset 0 1px rgba(255,255,255,.72);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}.project-card:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));box-shadow:0 23px 48px rgba(52,92,151,.15),inset 0 1px rgba(255,255,255,.8)}.project-card-art{min-height:0}.project-card-art .project-visual,.project-warehouse .project-visual{position:relative;inset:auto;height:258px;min-height:258px;border:0;border-bottom:1px solid color-mix(in srgb,var(--accent) 12%,var(--border))}.projects-grid>.project-card .project-card-art .project-visual{height:258px;min-height:258px}.project-card-content,.project-warehouse .project-card-content{display:flex;flex:1 1;flex-direction:column;justify-content:flex-start;padding:24px}.project-card h3,.project-featured .project-card h3{max-width:none;font-size:25px;line-height:1.15}.project-card-content>p{min-height:0}.project-stack{margin-top:17px}.project-card-footer{margin-top:auto}.project-visual-warehouse{background:radial-gradient(ellipse at 75% 24%,rgba(152,190,247,.28),transparent 52%),linear-gradient(145deg,#e9f2ff,#dce9fb 62%,#edf5ff)}.project-visual-sharespace{background:radial-gradient(ellipse at 18% 22%,rgba(172,210,255,.48),transparent 44%),linear-gradient(145deg,#e4efff,#edf5ff 58%,#dbeaff)}.project-visual-quotation{background:radial-gradient(ellipse at 80% 18%,rgba(179,203,246,.42),transparent 48%),linear-gradient(145deg,#eaf1ff,#dfeafb 58%,#f0f5ff)}html[data-theme=dark] .project-card,html[data-theme=dark] .project-warehouse{border-color:#263a59;background:linear-gradient(145deg,rgba(20,33,55,.98),rgba(12,21,37,.98));box-shadow:0 18px 45px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.035)}html[data-theme=dark] .project-card:hover{border-color:#42689b;box-shadow:0 24px 55px rgba(0,0,0,.34),0 0 30px rgba(73,132,211,.08)}html[data-theme=dark] .project-card-art .project-visual,html[data-theme=dark] .project-warehouse .project-visual{border-bottom-color:#263a59}html[data-theme=dark] .project-visual-warehouse{background:radial-gradient(ellipse at 70% 25%,rgba(49,96,163,.38),transparent 54%),linear-gradient(145deg,#132541,#0d192c 66%,#172944)}html[data-theme=dark] .project-visual-sharespace{background:radial-gradient(ellipse at 20% 25%,rgba(47,109,183,.35),transparent 48%),linear-gradient(145deg,#142846,#101c31 62%,#1a2c48)}html[data-theme=dark] .project-visual-quotation{background:radial-gradient(ellipse at 80% 20%,rgba(62,98,158,.4),transparent 48%),linear-gradient(145deg,#172945,#101c31 64%,#1b2b45)}html[data-theme=dark] .project-stack li{border-color:#304665;background:rgba(35,58,91,.35);color:#b7c9e3}html[data-theme=dark] .social-window,html[data-theme=dark] .warehouse-preview{border-color:#405779;background:#17263d;box-shadow:0 18px 42px rgba(0,0,0,.3)}html[data-theme=dark] .preview-sidebar{background:#213a5d}html[data-theme=dark] .preview-main{color:#e1ebfa}html[data-theme=dark] .preview-metrics i,html[data-theme=dark] .preview-table i,html[data-theme=dark] .social-lines i{background:#2b4262}html[data-theme=dark] .social-post{border-color:#334a6b;background:#1c2e49;color:#e2ebf8}html[data-theme=dark] .social-post small,html[data-theme=dark] .social-post span{color:#a9bad2}@media (max-width:900px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.projects-grid{display:grid;grid-template-columns:1fr;gap:17px}.project-card-art .project-visual,.project-warehouse .project-visual,.projects-grid>.project-card .project-card-art .project-visual{height:240px;min-height:240px}.project-card-content,.project-warehouse .project-card-content{padding:22px}}.wordmark-copy{display:grid;gap:2px}.wordmark-copy strong{font-size:inherit;font-weight:650}.wordmark-copy small{color:var(--text-soft);font-family:var(--font-mono),monospace;font-size:7px;font-weight:400;letter-spacing:.12em}.desktop-nav{gap:clamp(15px,2.4vw,30px)}.nav-link{display:inline-flex;align-items:center;gap:6px}.desktop-nav .nav-link{padding:9px 13px;border-radius:999px;color:var(--text);font-weight:500;transition:color .18s ease,background .18s ease}.desktop-nav .nav-link:hover{transform:none;background:var(--accent-soft);color:var(--accent)}.nav-resume{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid var(--border);border-radius:999px;color:var(--text);font-weight:500}.nav-resume:hover{border-color:var(--accent)}.footer-inner{display:grid;grid-template-columns:1fr auto auto;gap:35px;align-items:center;padding-block:28px}.footer-identity>p{margin:10px 0 0 42px;color:var(--text-soft);font-size:10px}.footer-links{gap:22px}.footer-year{margin:0}@media (max-width:640px){.wordmark-copy small{display:none}.desktop-nav{gap:10px}.nav-link{font-size:10px}.footer-inner{grid-template-columns:1fr auto;gap:18px}.footer-identity>p{margin-left:0}.footer-year{grid-column:1/-1}}html[data-theme=dark] .about-band{background:#172a3e}html[data-theme=dark] .about-copy p,html[data-theme=dark] .about-grid .eyebrow,html[data-theme=dark] .about-grid h2 span,html[data-theme=dark] .about-links a{color:#b5d3f1}html[data-theme=dark] .about-aside-note,html[data-theme=dark] .about-copy p{color:#c1cedb}html[data-theme=dark] .about-aside-note,html[data-theme=dark] .about-links a{border-color:#567b9f}.project-visual-warehouse{background:radial-gradient(ellipse at 60% 35%,color-mix(in srgb,var(--accent-soft) 82%,var(--surface)),var(--surface-soft))}.project-visual-sharespace{background:radial-gradient(ellipse at 72% 25%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 60%),var(--surface-soft)}.project-visual-quotation{background:linear-gradient(145deg,var(--surface-soft),color-mix(in srgb,var(--accent-soft) 55%,var(--surface)))}.experience-card,.project-card,.skill-group{transition:border-color .24s ease,box-shadow .24s ease,transform .24s ease,background-color .24s ease}.project-card:hover{transform:translateY(-5px);box-shadow:0 24px 54px color-mix(in srgb,var(--text) 10%,transparent)}.skill-group{border-color:color-mix(in srgb,var(--border) 82%,transparent)!important}.skill-group:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--border))!important;box-shadow:0 18px 38px color-mix(in srgb,var(--text) 8%,transparent)}.nav-link{transition:color .18s ease,background .18s ease}.contact-section{overflow:hidden;box-shadow:0 24px 70px color-mix(in srgb,var(--accent) 20%,transparent)}.contact-section:before{content:"";position:absolute;top:-220px;right:-80px;width:560px;height:560px;border:1px solid color-mix(in srgb,var(--bg) 13%,transparent);border-radius:50%;box-shadow:0 0 0 42px color-mix(in srgb,var(--bg) 4%,transparent),0 0 0 84px color-mix(in srgb,var(--bg) 3%,transparent);pointer-events:none}.contact-actions,.contact-copy{position:relative;z-index:1}.contact-copy h2 span{color:var(--bg);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--bg) 48%,transparent);text-decoration-thickness:1px;text-underline-offset:.12em}.footer-identity .wordmark-mark{background:var(--text);color:var(--bg)}.footer-links a{transition:color .2s ease}:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.hero-section{min-height:590px;padding-top:64px;padding-bottom:64px;grid-template-columns:minmax(0,1.08fr) minmax(320px,.82fr);gap:clamp(32px,5vw,72px)}.hero-copy h1{max-width:740px;font-size:clamp(49px,5.2vw,72px);line-height:1;letter-spacing:-.06em}.hero-copy h1 span{display:inline;max-width:none;margin-top:0}.hero-description{max-width:530px;margin-top:20px;font-size:14px;line-height:1.8}.hero-actions{margin-top:23px}.hero-aside{display:block;width:100%;max-width:460px;min-height:440px;justify-self:end;transform:none}.hero-glow{inset:1% -6% 8%;border-radius:50%;background:radial-gradient(ellipse,color-mix(in srgb,var(--accent) 12%,transparent),transparent 68%)}.hero-aside:before{position:absolute;top:15px;right:4px;width:min(100%,410px);height:auto;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--accent) 24%,transparent);border-radius:50%;background:transparent;opacity:1;z-index:1}.hero-orbit-label{top:0;left:17px}.hero-mascot-art{position:absolute;top:22px;right:0;width:min(100%,400px);aspect-ratio:1;margin:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));border-radius:50%;background:#080b18;box-shadow:0 28px 70px color-mix(in srgb,var(--text) 16%,transparent)}.hero-mascot-image{object-fit:cover}.hero-mascot-art:after{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.13);border-radius:50%;pointer-events:none}.hero-mascot-caption{position:absolute;z-index:2;right:-8px;bottom:35px;padding:9px 12px;border:1px solid var(--border);border-radius:999px;background:var(--surface);color:var(--text-muted);font-family:var(--font-mono),monospace;font-size:7px;letter-spacing:.1em}.hero-aside-note{z-index:3;bottom:0;left:0;padding:0 0 0 12px;border-left:1px solid var(--accent);background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.hero-aside-note strong{font-size:13px}@media (max-width:900px){.hero-section{min-height:unset;grid-template-columns:minmax(0,1fr) 290px;gap:24px;padding-top:60px;padding-bottom:55px}.hero-copy h1{font-size:clamp(45px,6vw,62px)}.hero-aside{min-height:365px}.hero-mascot-art{width:min(100%,330px)}.hero-aside:before{width:min(100%,340px)}}@media (max-width:640px){.hero-section{grid-template-columns:1fr;gap:20px;padding-top:50px;padding-bottom:48px}.hero-copy h1{max-width:560px;font-size:clamp(45px,11.5vw,60px)}.hero-description{margin-top:17px}.hero-aside{width:min(100%,390px);min-height:360px;margin:0 auto}.hero-mascot-art{top:20px;width:min(100%,335px)}.hero-aside:before{top:12px;width:min(100%,345px)}.hero-orbit-label{top:0;left:13px}.hero-mascot-caption{right:-2px;bottom:24px;font-size:6px}.hero-aside-note{bottom:0;left:0}}.skill-group{position:relative;overflow:hidden;padding-top:25px}.skill-group:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 12%,transparent))}.skill-heading-row{display:flex;align-items:center;gap:12px}.skill-heading-row h3{margin:0}.skill-mark{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-family:var(--font-mono),monospace;font-size:12px;font-weight:600}.skill-items{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.skill-items li{padding:7px 10px;border:1px solid var(--border);border-radius:7px;background:color-mix(in srgb,var(--surface-soft) 58%,var(--surface));color:var(--text-muted);font-size:10px;line-height:1.2}.skill-items li:last-child{border-bottom:1px solid var(--border)}.skill-group:after{content:none}.skill-group h3{margin-top:0}.skill-group:hover{transform:none;box-shadow:none;border-color:var(--border)!important}.site-footer .footer-inner{display:block;min-height:0;padding-block:24px}@media (max-width:640px){.site-footer .footer-inner{padding-block:16px}}.contact-section{grid-template-columns:minmax(0,1fr) minmax(300px,.72fr)}.contact-section .contact-actions{justify-self:stretch;min-width:0;gap:18px;padding:clamp(22px,3vw,30px);border:1px solid color-mix(in srgb,var(--bg) 22%,transparent);border-radius:14px;background:color-mix(in srgb,var(--bg) 7%,transparent)}.contact-card-label{margin:0;color:color-mix(in srgb,var(--bg) 68%,transparent);font-family:var(--font-mono),monospace;font-size:9px;letter-spacing:.14em;line-height:1.6}.contact-topics{display:grid;margin:0;padding:0;list-style:none}.contact-topics li{display:flex;align-items:center;gap:13px;min-height:43px;border-bottom:1px solid color-mix(in srgb,var(--bg) 18%,transparent);color:var(--bg);font-size:13px}.contact-topics li span{flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:color-mix(in srgb,var(--bg) 78%,transparent)}.contact-section .contact-actions .button-primary{align-self:flex-start;margin-top:1px}@media (max-width:760px){.contact-section{grid-template-columns:1fr}.contact-section .contact-actions{gap:14px}.contact-topics li{min-height:40px}}html[data-theme=dark] .contact-section{border:1px solid #2a3b55;background:linear-gradient(135deg,#172338,#1c2b42)}html[data-theme=dark] .contact-section:before{border-color:rgba(177,203,238,.12);box-shadow:0 0 0 42px rgba(177,203,238,.035),0 0 0 84px rgba(177,203,238,.025)}html[data-theme=dark] .contact-section:after{color:rgba(177,203,238,.045)}html[data-theme=dark] .contact-copy .eyebrow{color:#9bb4d4}html[data-theme=dark] .contact-copy h2{color:#edf3fc}html[data-theme=dark] .contact-copy h2 span{color:#a9c7ed;text-decoration-color:rgba(169,199,237,.55)}html[data-theme=dark] .contact-copy>p:last-child{color:#b2c0d4}html[data-theme=dark] .contact-section .contact-actions{border-color:rgba(174,198,229,.18);background:rgba(7,14,25,.24)}html[data-theme=dark] .contact-card-label{color:#9bb4d4}html[data-theme=dark] .contact-topics li{color:#e4ecf8;border-bottom-color:rgba(174,198,229,.16)}html[data-theme=dark] .contact-topics li span{background:#8ea9cc}html[data-theme=dark] .contact-actions .button-primary{background:#e5edf8;color:#14243a}html[data-theme=dark] .contact-actions .button-primary:hover{background:#fff;color:#102039}.contact-section{background:radial-gradient(ellipse 42% 82% at 76% 50%,rgba(166,204,242,.12),transparent 76%),linear-gradient(135deg,color-mix(in srgb,var(--accent) 88%,#203b5a),var(--accent));box-shadow:0 20px 56px rgba(27,55,86,.13)}.contact-section:after,.contact-section:before{content:none}html[data-theme=dark] .contact-section{background:radial-gradient(ellipse 42% 82% at 76% 50%,rgba(91,145,204,.12),transparent 76%),linear-gradient(135deg,#172338,#1c2b42);box-shadow:0 22px 64px rgba(0,0,0,.32)}.contact-section .contact-actions{transition:border-color .22s ease,background-color .22s ease,box-shadow .22s ease}.contact-section .contact-actions:hover{border-color:rgba(224,239,255,.34);background-color:rgba(224,239,255,.055);box-shadow:0 0 26px rgba(185,216,247,.12)}html[data-theme=dark] .contact-section .contact-actions:hover{border-color:rgba(151,190,232,.32);background-color:rgba(91,145,204,.075);box-shadow:0 0 28px rgba(91,145,204,.13)}@media (prefers-reduced-motion:reduce){.contact-section .contact-actions{transition:none}}.about-band{position:relative;isolation:isolate;background:var(--surface-soft);border-block:0}.about-grid{z-index:1}.about-grid .eyebrow{color:#637b96}.about-grid h2{color:#1a2738}.about-grid h2 span{color:#496f9b}.about-copy{max-width:650px;padding-left:clamp(24px,4vw,58px);border-left:1px solid #d9e2ec}.about-copy p{color:#40536b}.about-aside-note{max-width:310px;margin:30px 0 0;padding:15px 17px;border:1px solid #d8e2ee;border-left:2px solid #7fa5d0;border-radius:9px;background:rgba(255,255,255,.68);color:#53657a;font-size:12px;line-height:1.75}.about-band:after{content:"";position:absolute;z-index:0;right:0;bottom:0;width:min(260px,25vw);height:155px;background-image:radial-gradient(rgba(73,111,155,.2) .8px,transparent 0);background-size:12px 12px;-webkit-mask-image:linear-gradient(135deg,transparent 2%,#000);mask-image:linear-gradient(135deg,transparent 2%,#000);pointer-events:none}html[data-theme=dark] .about-band{background:#101b2a;border-color:#24364b}html[data-theme=dark] .about-grid .eyebrow{color:#9bb4d4}html[data-theme=dark] .about-grid h2{color:#edf3fc}html[data-theme=dark] .about-grid h2 span{color:#a9c7ed}html[data-theme=dark] .about-copy{border-left-color:#34475f}html[data-theme=dark] .about-copy p{color:#c8d3e4}html[data-theme=dark] .about-aside-note{border-color:#34475f #34475f #34475f #7398c2;background:rgba(23,35,53,.72);color:#cbd6e6}html[data-theme=dark] .about-band:after{background-image:radial-gradient(rgba(139,180,229,.22) .8px,transparent 0)}@media (max-width:760px){.about-copy{padding-top:24px;padding-left:0;border-top:1px solid #d9e2ec;border-left:0}html[data-theme=dark] .about-copy{border-top-color:#34475f}}.about-heading{text-align:center}.about-grid h2{max-width:560px;margin-inline:auto}.about-quote{grid-column:1/-1;width:100%;max-width:none;margin:0;padding:16px 22px;border:1px solid #d8e2ee;border-left:2px solid #7fa5d0;border-radius:9px;background:rgba(255,255,255,.62);color:#53657a;text-align:center;font-size:12px}html[data-theme=dark] .about-quote{border-color:#34475f #34475f #34475f #7398c2;background:rgba(23,35,53,.72);color:#c4d0e1}.about-quote{transition:border-color .22s ease,background-color .22s ease,box-shadow .22s ease}.about-quote:hover{border-color:#b5cbe3;background:rgba(255,255,255,.78);box-shadow:0 8px 24px rgba(46,83,126,.09),0 0 20px rgba(125,165,208,.11)}html[data-theme=dark] .about-quote:hover{border-color:#526b89;background:rgba(31,48,71,.88);box-shadow:0 8px 24px rgba(0,0,0,.2),0 0 22px rgba(103,153,210,.12)}@media (prefers-reduced-motion:reduce){.about-quote{transition:none}}.about-quote{transition:transform .24s ease,border-color .24s ease,background-color .24s ease,box-shadow .24s ease}.about-quote:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 50%,var(--border));box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 12%,transparent),0 0 34px color-mix(in srgb,var(--accent) 22%,transparent)}.footer-bottom-bar{isolation:isolate;transition:border-color .26s ease,box-shadow .26s ease,transform .26s ease}.footer-bottom-bar:before{position:absolute;z-index:0;inset:-45% 8%;content:"";pointer-events:none;opacity:0;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--accent) 19%,transparent),transparent 68%);transition:opacity .28s ease}.footer-bottom-bar>*{position:relative;z-index:1}.footer-bottom-bar:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--accent) 48%,var(--border));box-shadow:0 10px 28px color-mix(in srgb,var(--accent) 10%,transparent),0 0 34px color-mix(in srgb,var(--accent) 20%,transparent)}.footer-bottom-bar:hover:before{opacity:1}html[data-theme=dark] .about-quote:hover{box-shadow:0 10px 28px rgba(0,0,0,.24),0 0 34px color-mix(in srgb,var(--accent) 25%,transparent)}html[data-theme=dark] .footer-bottom-bar:hover{box-shadow:0 12px 32px rgba(0,0,0,.26),0 0 38px color-mix(in srgb,var(--accent) 23%,transparent)}@media (prefers-reduced-motion:reduce){.about-quote,.footer-bottom-bar,.footer-bottom-bar:before{transition:none}.about-quote:hover,.footer-bottom-bar:hover{transform:none}}.experience-card{padding:clamp(24px,3.2vw,38px);border-top:1px solid var(--border);border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:0 8px 28px color-mix(in srgb,var(--text) 4%,transparent);transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease,transform .22s ease}.experience-entry:hover .experience-card{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 42%,var(--border));box-shadow:0 16px 36px color-mix(in srgb,var(--accent) 11%,transparent)}.experience-points li{padding-left:16px}.experience-points li:before{content:"";position:absolute;top:.76em;left:1px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.skills-grid{gap:12px;border:0;background:transparent;overflow:visible}.skill-group{border:1px solid var(--border)!important;border-radius:13px;background:var(--surface);transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease,transform .22s ease}.skill-group:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 46%,var(--border))!important;background:color-mix(in srgb,var(--accent-soft) 28%,var(--surface));box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 11%,transparent)}html[data-theme=dark] .experience-card,html[data-theme=dark] .skill-group{box-shadow:0 8px 26px rgba(0,0,0,.16)}html[data-theme=dark] .experience-entry:hover .experience-card,html[data-theme=dark] .skill-group:hover{box-shadow:0 14px 34px rgba(0,0,0,.28),0 0 20px rgba(108,157,215,.12)}@media (prefers-reduced-motion:reduce){.experience-card,.skill-group{transition:none}.experience-entry:hover .experience-card,.skill-group:hover{transform:none}}.experience-tools li,.project-stack li,.skill-items li{transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.experience-tools li:hover,.project-stack li:hover,.skill-items li:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 62%,var(--border));background:color-mix(in srgb,var(--accent-soft) 72%,var(--surface));color:var(--accent);box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 14%,transparent)}html[data-theme=dark] .experience-tools li:hover,html[data-theme=dark] .project-stack li:hover,html[data-theme=dark] .skill-items li:hover{border-color:color-mix(in srgb,var(--accent) 68%,var(--border));background:color-mix(in srgb,var(--accent) 18%,var(--surface));color:var(--accent-hover);box-shadow:0 0 16px color-mix(in srgb,var(--accent) 18%,transparent)}@media (prefers-reduced-motion:reduce){.experience-tools li,.project-stack li,.skill-items li{transition:none}.experience-tools li:hover,.project-stack li:hover,.skill-items li:hover{transform:none}}html:not([data-theme=dark]) #skills .skill-items li:hover,html:not([data-theme=dark]) .experience-tools li:hover,html:not([data-theme=dark]) .project-stack li:hover{transform:translateY(-2px) scale(1.02);border-color:#2858c7;background:color-mix(in srgb,#e7eeff 92%,#ffffff);color:#1f49a8;box-shadow:0 5px 15px rgba(40,88,199,.22),inset 0 0 0 1px rgba(40,88,199,.08)}.hero-mascot-art:after{content:none}.hero-aside-note,.hero-aside:before,.hero-mascot-caption,.hero-orbit-label{display:none}@media (max-width:640px){.hero-mascot-art{top:50%;right:50%;transform:translate(50%,-50%)}}.hero-mascot-art{top:50%;right:50%;width:min(100%,520px);aspect-ratio:7/4;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none;transform:translate(50%,-50%)}.hero-mascot-image{object-fit:contain;object-position:center}.hero-orbit-label{display:flex;z-index:2;top:2px;left:0}.hero-aside:before,.hero-mascot-art:after{content:none;display:none}.hero-aside-note,.hero-mascot-caption{display:none}#work:before{content:none}@media (max-width:900px){.hero-mascot-art{width:min(100%,420px)}}@media (max-width:640px){.hero-mascot-art{top:50%;right:50%;width:min(100%,390px);transform:translate(50%,-50%)}.hero-orbit-label{top:0;left:0}}.hero-orbit-label{top:22px;width:max-content;gap:10px;color:var(--text-soft);font-size:10px;letter-spacing:.16em}@media (max-width:640px){.hero-orbit-label{top:10px;left:50%}}.hero-mascot-art{transition:transform .35s cubic-bezier(.2,.7,.2,1),filter .35s ease}.hero-orbit-label{top:-34px;transition:color .25s ease,text-shadow .25s ease,transform .25s ease;white-space:nowrap}.hero-aside:hover .hero-mascot-art{transform:translate(50%,calc(-50% - 4px)) scale(1.012);filter:drop-shadow(0 12px 20px color-mix(in srgb,var(--accent) 18%,transparent))}.hero-aside:hover .hero-orbit-label,.hero-orbit-label:hover{color:var(--accent);text-shadow:0 0 14px color-mix(in srgb,var(--accent) 38%,transparent)}.hero-orbit-label:hover{transform:translateX(-50%) translateY(-1px)}@media (prefers-reduced-motion:reduce){.hero-mascot-art,.hero-orbit-label{transition:none}.hero-aside:hover .hero-mascot-art{transform:translate(50%,-50%);filter:none}}.hero-orbit-label{top:-42px;left:50%;font-size:12px;letter-spacing:.17em;transform:translateX(-50%)}@media (max-width:640px){.hero-orbit-label{top:-42px;left:50%}}.availability-dot{position:relative;animation:availability-blink 1.8s ease-in-out infinite}.availability-dot:after{content:"";position:absolute;inset:-3px;border:1px solid color-mix(in srgb,var(--accent) 52%,transparent);border-radius:50%;animation:availability-pulse 1.8s ease-out infinite}@keyframes availability-blink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.82)}}@keyframes availability-pulse{0%{transform:scale(.75);opacity:.65}80%,to{transform:scale(2.2);opacity:0}}@media (prefers-reduced-motion:reduce){.availability-dot,.availability-dot:after{animation:none}}.availability-dot{animation:none}.availability-dot:after{animation:availability-soft-ring 2.1s ease-out infinite}@keyframes availability-soft-ring{0%{opacity:.48;transform:scale(.72)}to{opacity:0;transform:scale(1.8)}}.nav-resume{gap:0}@media (prefers-reduced-motion:reduce){.availability-dot:after{animation:none}}.mobile-nav{display:none}.mobile-nav-toggle{width:36px;height:36px;display:inline-grid;place-items:center;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--text);cursor:pointer}.mobile-nav-toggle svg{width:17px;height:17px}.mobile-nav-toggle svg path{stroke:currentColor;stroke-linecap:round;stroke-width:1.7}.mobile-nav-toggle:hover{border-color:var(--accent);color:var(--accent)}.mobile-nav-panel{position:absolute;top:calc(100% + 10px);right:0;z-index:50;width:min(260px,calc(100vw - 36px));display:grid;gap:3px;padding:8px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.mobile-nav-panel a{padding:12px 13px;border-radius:10px;color:var(--text);font-size:13px;font-weight:500}.mobile-nav-panel a:focus-visible,.mobile-nav-panel a:hover{background:var(--accent-soft);color:var(--accent);outline:none}.mobile-nav-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media (max-width:760px){.nav-inner{position:relative}.desktop-nav{display:none}.mobile-nav{display:block}}@media (max-width:360px){.wordmark-copy strong{max-width:102px;overflow:hidden;text-overflow:ellipsis}}.case-study-link,.project-card-footer .project-links a{display:inline-flex;align-items:center;gap:6px}.case-study-link svg,.project-card-footer .project-links svg{flex:0 0 auto}.project-detail{padding-top:28px;padding-bottom:96px}.detail-back-link{display:inline-flex;align-items:center;margin:3px 0 0;padding:8px 0;color:var(--text-muted);font-size:12px;transition:color .18s ease}.detail-back-link:hover{color:var(--accent)}.detail-hero{max-width:none;padding:45px 0 38px}.detail-hero>.eyebrow{margin-bottom:23px}.detail-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr);gap:clamp(36px,7vw,100px);align-items:center}.detail-hero-copy h1{max-width:760px;font-size:clamp(48px,6.5vw,82px);line-height:.99}.detail-intro{max-width:620px;margin-top:22px;font-size:15px;line-height:1.85}.detail-links{margin-top:28px}.detail-snapshot{padding:clamp(20px,3vw,30px);border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface) 90%,var(--accent-soft));box-shadow:0 10px 30px color-mix(in srgb,var(--text) 5%,transparent)}.detail-snapshot>.eyebrow{margin-bottom:16px;font-size:9px}.detail-snapshot dl{display:grid;gap:0;margin:0}.detail-snapshot dl>div{display:grid;grid-template-columns:minmax(84px,.7fr) 1.3fr;gap:14px;padding:12px 0;border-top:1px solid color-mix(in srgb,var(--border) 75%,transparent)}.detail-snapshot dt{color:var(--text-soft);font-family:var(--font-mono),monospace;font-size:9px;letter-spacing:.06em;text-transform:uppercase}.detail-snapshot dd{display:flex;align-items:flex-start;gap:8px;margin:0;color:var(--text);font-size:12px;line-height:1.5}.detail-status-dot{width:7px;height:7px;flex:0 0 auto;margin-top:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent)}.detail-stack-wrap{margin-top:13px;padding-top:16px;border-top:1px solid color-mix(in srgb,var(--border) 75%,transparent)}.detail-stack-label{color:var(--text-soft);font-family:var(--font-mono),monospace;font-size:9px;letter-spacing:.08em}.detail-stack{margin-top:12px}.detail-stack li{border-radius:999px;background:color-mix(in srgb,var(--surface-soft) 60%,var(--surface))}.detail-art{min-height:390px;border-radius:18px;border-color:color-mix(in srgb,var(--accent) 20%,var(--border));background:radial-gradient(ellipse at 50% 48%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 68%),var(--surface-soft);box-shadow:inset 0 1px 0 color-mix(in srgb,white 30%,transparent)}.detail-art:before{position:absolute;inset:0;content:"";pointer-events:none;opacity:.22;background-image:linear-gradient(color-mix(in srgb,var(--accent) 12%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--accent) 12%,transparent) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse at center,#000,transparent 76%);mask-image:radial-gradient(ellipse at center,#000,transparent 76%)}.detail-art-kicker{position:absolute;top:20px;left:22px;z-index:2;color:var(--text-soft);font-family:var(--font-mono),monospace;font-size:9px;letter-spacing:.14em}.detail-quotation-sheet,.detail-social,.detail-warehouse{transition:transform .3s ease,box-shadow .3s ease}.detail-art:hover .detail-warehouse{transform:translateY(-4px) rotate(-.4deg)}.detail-art:hover .detail-social,.detail-art:hover .detail-warehouse{box-shadow:0 24px 55px color-mix(in srgb,var(--accent) 14%,transparent)}.detail-art:hover .detail-social{transform:translateY(-4px) rotate(.5deg)}.detail-art:hover .detail-quotation-sheet{transform:translateY(-4px) rotate(-.4deg);box-shadow:0 24px 55px rgba(27,55,110,.2)}.detail-content-grid{grid-template-columns:175px minmax(0,780px);gap:clamp(38px,7vw,100px);padding-top:76px}.detail-sidebar{top:105px;gap:7px;padding-left:15px;border-left:1px solid var(--border)}.detail-sidebar>span{margin-bottom:8px}.detail-sidebar a{width:fit-content;padding:7px 9px;border-radius:7px;transition:color .18s ease,background-color .18s ease,transform .18s ease}.detail-sidebar a:focus-visible,.detail-sidebar a:hover{transform:translateX(2px);background:color-mix(in srgb,var(--accent-soft) 68%,var(--surface));color:var(--accent);outline:none}.detail-body section{padding-bottom:48px;margin-bottom:48px;scroll-margin-top:110px}.detail-body .eyebrow{margin-bottom:15px;font-size:9px}.detail-body h2{margin-bottom:17px;font-family:Georgia,Times New Roman,serif;font-size:clamp(30px,3vw,40px);font-weight:400;letter-spacing:-.045em;line-height:1.12}.detail-body p:not(.eyebrow){max-width:730px;font-size:14px;line-height:1.9}.detail-section-intro{margin-bottom:20px!important}.detail-build-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none}.detail-build-card,.detail-decision-card{min-width:0;border:1px solid var(--border);border-radius:13px;background:var(--surface);transition:transform .22s ease,border-color .22s ease,background-color .22s ease,box-shadow .22s ease}.detail-build-card{display:flex;align-items:flex-start;gap:12px;padding:17px;color:var(--text-muted);font-size:12px;line-height:1.65}.detail-bullet{width:7px;height:7px;flex:0 0 auto;margin-top:.55em;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 10%,transparent)}.detail-build-card:hover,.detail-decision-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 48%,var(--border));background:color-mix(in srgb,var(--accent-soft) 26%,var(--surface));box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 11%,transparent)}.detail-decision-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.detail-decision-card{display:flex;align-items:flex-start;gap:13px;padding:18px}.detail-decision-card h3{margin:0 0 8px;color:var(--text);font-size:13px;font-weight:600;letter-spacing:-.01em}.detail-decision-card p{margin:0!important;font-size:12px!important;line-height:1.75!important}.detail-outcome{padding:clamp(22px,4vw,36px)!important;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--border))!important;border-radius:16px;background:color-mix(in srgb,var(--accent-soft) 52%,var(--surface))}.detail-outcome .eyebrow{color:var(--accent)}.detail-outcome h2{margin-bottom:12px}.detail-outcome p:not(.eyebrow){max-width:650px}.detail-next-steps{border-bottom:0!important}.detail-next-list{display:grid;gap:13px;margin:20px 0 0;padding:0;list-style:none}.detail-next-list li{display:flex;align-items:flex-start;gap:12px;color:var(--text-muted);font-size:13px;line-height:1.75}.detail-next-project{display:grid;grid-template-columns:1fr minmax(250px,360px);gap:24px;align-items:stretch;margin-top:25px;padding-top:26px;border-top:1px solid var(--border)}.detail-all-projects{align-self:center;width:fit-content;color:var(--text-muted);font-size:12px;transition:color .18s ease}.detail-all-projects:hover{color:var(--accent)}.detail-next-card{display:grid;gap:7px;padding:19px 20px;border:1px solid var(--border);border-radius:14px;background:var(--surface);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.detail-next-card>span{color:var(--text-soft);font-family:var(--font-mono),monospace;font-size:9px;letter-spacing:.12em}.detail-next-card strong{color:var(--text);font-family:Georgia,Times New Roman,serif;font-size:20px;font-weight:400}.detail-next-card small{color:var(--text-muted);font-size:11px}.detail-next-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 48%,var(--border));box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 11%,transparent)}html[data-theme=dark] .detail-snapshot{box-shadow:0 10px 30px rgba(0,0,0,.17)}html[data-theme=dark] .detail-build-card:hover,html[data-theme=dark] .detail-decision-card:hover,html[data-theme=dark] .detail-next-card:hover{box-shadow:0 14px 34px rgba(0,0,0,.28),0 0 20px rgba(108,157,215,.12)}@media (max-width:900px){.detail-hero-grid{gap:32px}.detail-content-grid{grid-template-columns:145px minmax(0,1fr);gap:35px}}@media (max-width:760px){.detail-hero-grid{grid-template-columns:1fr;gap:28px}.detail-snapshot{max-width:none}.detail-content-grid{grid-template-columns:1fr;gap:28px;padding-top:52px}.detail-sidebar{position:static;display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;padding:0 0 18px;border:0;border-bottom:1px solid var(--border)}.detail-sidebar>span{flex-basis:100%}.detail-sidebar a{padding:7px 10px;border:1px solid var(--border);border-radius:999px}.detail-sidebar a:focus-visible,.detail-sidebar a:hover{transform:translateY(-1px)}}@media (max-width:640px){.project-detail{padding-top:20px;padding-bottom:65px}.detail-hero{padding-top:35px;padding-bottom:26px}.detail-hero>.eyebrow{margin-bottom:17px}.detail-hero-copy h1{font-size:clamp(42px,12vw,60px)}.detail-intro{margin-top:16px;font-size:13px}.detail-snapshot{padding:19px}.detail-snapshot dl>div{grid-template-columns:100px 1fr}.detail-art{min-height:245px;border-radius:14px}.detail-art-kicker{top:14px;left:15px}.detail-warehouse{width:90%;min-height:195px}.detail-social{width:84%;padding:22px}.detail-quotation{padding:18px}.detail-quotation-sheet{width:94%;min-height:220px;padding:19px}.detail-content-grid{padding-top:42px}.detail-body section{padding-bottom:34px;margin-bottom:34px}.detail-body h2{font-size:30px}.detail-body p:not(.eyebrow){font-size:13px}.detail-build-grid,.detail-decision-list{grid-template-columns:1fr}.detail-build-card,.detail-decision-card{padding:15px}.detail-next-project{grid-template-columns:1fr;gap:18px}.detail-all-projects{order:2}}@media (prefers-reduced-motion:reduce){.detail-back-link,.detail-build-card,.detail-decision-card,.detail-next-card,.detail-quotation-sheet,.detail-sidebar a,.detail-social,.detail-warehouse{transition:none}.detail-art:hover .detail-quotation-sheet,.detail-art:hover .detail-social,.detail-art:hover .detail-warehouse,.detail-build-card:hover,.detail-decision-card:hover,.detail-next-card:hover,.detail-sidebar a:hover{transform:none}}.detail-story-nav{max-width:850px;display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:38px auto 0;padding-bottom:16px;border-bottom:1px solid var(--border)}.detail-story-nav>span{margin-right:auto;padding:0 10px 0 0;color:var(--text-soft);font-family:var(--font-mono),monospace;font-size:9px;letter-spacing:.12em}.detail-story-nav a{padding:7px 10px;border:1px solid transparent;border-radius:999px;color:var(--text-muted);font-size:11px;transition:color .18s ease,border-color .18s ease,background-color .18s ease}.detail-story-nav a:focus-visible,.detail-story-nav a:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--border));background:color-mix(in srgb,var(--accent-soft) 42%,var(--surface));color:var(--accent);outline:none}.detail-body-compact{max-width:850px;margin:0 auto}.detail-build-list{display:grid;gap:12px;margin:20px 0 0;padding:0;list-style:none}.detail-build-list li{display:flex;align-items:flex-start;gap:12px;color:var(--text-muted);font-size:13px;line-height:1.75}@media (max-width:640px){.detail-story-nav{gap:4px;margin-top:28px;padding-bottom:13px}.detail-story-nav>span{flex-basis:100%;margin-bottom:3px}.detail-story-nav a{padding:7px 9px;font-size:10px}}@media (prefers-reduced-motion:reduce){.detail-story-nav a{transition:none}}.theme-toggle .theme-icon{position:absolute;width:17px;height:17px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transition:transform .24s ease,opacity .18s ease}.theme-toggle .theme-icon-sun{opacity:1;transform:rotate(0) scale(1)}.theme-toggle .theme-icon-moon{opacity:0;transform:rotate(-45deg) scale(.65)}html[data-theme=dark] .theme-toggle .theme-icon-sun{opacity:0;transform:rotate(45deg) scale(.65)}html[data-theme=dark] .theme-toggle .theme-icon-moon{opacity:1;transform:rotate(0) scale(1)}.theme-toggle{position:relative;overflow:hidden;transition:color .2s ease,background-color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.theme-toggle:hover{transform:translateY(-1px);border-color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 78%,var(--surface));color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 12%,transparent),0 5px 14px color-mix(in srgb,var(--accent) 14%,transparent)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.theme-toggle:active{transform:scale(.94);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 18%,transparent)}.theme-toggle:hover .theme-icon{transform:rotate(-12deg) scale(1.1)}html.theme-transition body,html.theme-transition body *{transition-property:color,background-color,border-color,box-shadow,fill,stroke,opacity,transform;transition-duration:.46s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-delay:20ms}.nav-resume{position:relative;isolation:isolate;overflow:hidden;transition:color .18s ease,border-color .18s ease,background-color .18s ease}.nav-resume span{position:relative;z-index:1}.nav-resume:after{position:absolute;inset-block:-35%;left:-45%;width:45%;content:"";pointer-events:none;background:linear-gradient(110deg,transparent,color-mix(in srgb,var(--surface) 72%,var(--accent)),transparent);transform:translateX(-160%) skewX(-20deg);opacity:.9}.nav-resume:active,.nav-resume:focus,.nav-resume:hover{border-color:var(--accent);background-color:color-mix(in srgb,var(--accent-soft) 86%,var(--surface));color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent),0 5px 16px color-mix(in srgb,var(--accent) 13%,transparent)}.nav-resume:focus:after,.nav-resume:hover:after{animation:resume-shimmer .68s ease-out}.nav-resume:active:after{animation:resume-shimmer-press .42s ease-out}.nav-resume:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.button-shimmer{position:relative;isolation:isolate;overflow:hidden;box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 23%,transparent);transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.button-shimmer>span{position:relative;z-index:1}.button-shimmer:after{position:absolute;inset-block:-40%;left:-45%;width:42%;content:"";pointer-events:none;background:linear-gradient(110deg,transparent,color-mix(in srgb,#fff 84%,var(--accent)),transparent);opacity:.9;transform:translateX(-160%) skewX(-20deg)}.button-shimmer:focus,.button-shimmer:hover{box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 32%,transparent)}.button-shimmer:focus:after,.button-shimmer:hover:after{animation:button-shimmer .76s ease-out}.button-shimmer:active:after{animation:button-shimmer-press .42s ease-out}.button-shimmer:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@keyframes resume-shimmer{to{transform:translateX(430%) skewX(-20deg)}}@keyframes resume-shimmer-press{to{transform:translateX(430%) skewX(-20deg)}}@keyframes button-shimmer{to{transform:translateX(430%) skewX(-20deg)}}@keyframes button-shimmer-press{to{transform:translateX(430%) skewX(-20deg)}}.hero-actions .button-primary{background:#315f91;color:#fff}.hero-actions .button-primary:hover{background:#244b75;color:#fff}html[data-theme=dark] .hero-actions .button-primary{background:#254466;color:#eef3ff;box-shadow:0 8px 22px rgba(0,0,0,.3),inset 0 0 0 1px rgba(138,180,255,.4)}html[data-theme=dark] .hero-actions .button-primary:hover{background:#315982;color:#fff;box-shadow:0 12px 28px rgba(0,0,0,.36),inset 0 0 0 1px rgba(138,180,255,.42)}html[data-theme=light] .about-links a{color:#2858a0}.about-quote{position:relative;isolation:isolate;overflow:hidden;border-color:color-mix(in srgb,var(--accent) 30%,var(--border));border-left-width:3px;background:color-mix(in srgb,var(--surface) 94%,var(--accent-soft));color:var(--text);font-size:14px;font-weight:600;line-height:1.7}.about-quote:after{position:absolute;z-index:-1;inset-block:-40%;left:-45%;width:38%;content:"";pointer-events:none;background:linear-gradient(110deg,transparent,color-mix(in srgb,var(--accent) 24%,white),transparent);opacity:0;transform:translateX(-160%) skewX(-20deg)}.about-quote:focus-visible:after,.about-quote:hover:after{animation:about-quote-shimmer 1.8s cubic-bezier(.22,.61,.36,1)}.about-quote:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@keyframes about-quote-shimmer{0%{opacity:0;transform:translateX(-160%) skewX(-20deg)}18%{opacity:.36}78%{opacity:.24}to{opacity:0;transform:translateX(430%) skewX(-20deg)}}html[data-theme=dark] .about-quote{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));border-left-color:var(--accent);background:color-mix(in srgb,var(--surface) 82%,var(--accent-soft));color:var(--text);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}@media (prefers-reduced-motion:reduce){.about-quote:focus-visible:after,.about-quote:hover:after{animation:none}}@media (prefers-reduced-motion:reduce){html.theme-transition body,html.theme-transition body *{transition-duration:0s;transition-delay:0s}.theme-toggle,.theme-toggle .theme-icon{transition:none}.nav-resume:active:after,.nav-resume:focus:after,.nav-resume:hover:after{animation:none}.button-shimmer,.button-shimmer:focus,.button-shimmer:hover{transition:none}.button-shimmer:active:after,.button-shimmer:focus:after,.button-shimmer:hover:after{animation:none}}.contact-section{isolation:isolate;border:1px solid color-mix(in srgb,var(--bg) 18%,transparent);transition:border-color .4s ease,box-shadow .4s ease}.contact-section:before{content:none}.contact-section:hover{border-color:color-mix(in srgb,var(--bg) 30%,var(--accent));box-shadow:0 20px 56px rgba(27,55,86,.16),0 0 22px rgba(138,180,255,.07)}.contact-section .contact-actions:hover{background-color:color-mix(in srgb,var(--bg) 7%,transparent)}.contact-section .contact-actions .button-primary{transition:transform .4s ease,background-color .4s ease,box-shadow .4s ease}.contact-section .contact-actions .button-primary svg{transition:transform .4s ease}.contact-section .contact-actions .button-primary:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(7,14,25,.16)}.contact-section .contact-actions .button-primary:hover svg{transform:translateX(3px)}.contact-topics li{position:relative;width:fit-content;min-width:min(100%,120px)}.contact-topics li:after{position:absolute;right:0;bottom:-1px;left:0;height:1px;content:"";background:color-mix(in srgb,var(--bg) 72%,transparent);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.contact-topics li:hover:after{transform:scaleX(1)}html[data-theme=dark] .contact-section:hover{border-color:rgba(138,180,255,.3);box-shadow:0 22px 64px rgba(0,0,0,.34),0 0 24px rgba(91,145,204,.08)}html[data-theme=dark] .contact-section .contact-actions:hover{border-color:rgba(151,190,232,.24);background-color:rgba(7,14,25,.24);box-shadow:0 0 20px rgba(91,145,204,.08)}html[data-theme=dark] .contact-topics li:after{background:rgba(190,214,246,.76)}@media (prefers-reduced-motion:reduce){.contact-section,.contact-section .contact-actions .button-primary,.contact-section .contact-actions .button-primary svg,.contact-section:before,.contact-topics li:after{transition:none}.contact-section .contact-actions .button-primary:hover{transform:none}}.footer-bottom-bar{transition:border-color .32s cubic-bezier(.22,.61,.36,1),box-shadow .32s cubic-bezier(.22,.61,.36,1)}.footer-bottom-bar:before{content:none}.footer-bottom-bar:hover{transform:none;border-color:color-mix(in srgb,var(--accent) 38%,var(--border));box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 8%,transparent)}.site-footer .footer-links a{transition:color .32s cubic-bezier(.22,.61,.36,1),border-color .32s cubic-bezier(.22,.61,.36,1),background-color .32s cubic-bezier(.22,.61,.36,1),box-shadow .32s cubic-bezier(.22,.61,.36,1),transform .32s cubic-bezier(.22,.61,.36,1)}.site-footer .footer-links a:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 58%,var(--border));background:color-mix(in srgb,var(--accent-soft) 72%,var(--surface));color:var(--accent);box-shadow:0 5px 14px color-mix(in srgb,var(--accent) 14%,transparent)}.site-footer .footer-signoff,.site-footer .footer-year{color:var(--text);font-weight:600}.site-footer .footer-signoff{transition:color .32s cubic-bezier(.22,.61,.36,1)}.site-footer .footer-signoff:hover{color:var(--accent)}html[data-theme=dark] .footer-bottom-bar:hover{border-color:color-mix(in srgb,var(--accent) 34%,var(--border));box-shadow:0 8px 24px rgba(80,131,193,.12)}html[data-theme=dark] .site-footer .footer-links a:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:color-mix(in srgb,var(--accent-soft) 78%,var(--surface));color:var(--accent-hover);box-shadow:0 5px 16px rgba(80,131,193,.16)}html[data-theme=dark] .site-footer .footer-signoff:hover{color:var(--accent-hover)}@media (prefers-reduced-motion:reduce){.footer-bottom-bar,.site-footer .footer-links a,.site-footer .footer-signoff{transition:none}.site-footer .footer-links a:hover{transform:none}}#skills .skill-group{background-color:var(--surface);transition:transform .24s ease,background-color .24s ease,border-color .24s ease,box-shadow .24s ease}#skills .skills-grid .skill-group:hover:not(:has(.skill-items li:hover)){transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 38%,var(--border))!important;background-color:color-mix(in srgb,var(--accent-soft) 18%,var(--surface));box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 9%,transparent)}#skills .skill-mark{transition:color .24s ease,background-color .24s ease,transform .24s ease}#skills .skills-grid .skill-group:hover:not(:has(.skill-items li:hover)) .skill-mark{color:var(--accent);background-color:color-mix(in srgb,var(--accent-soft) 82%,var(--surface));transform:translateY(-1px)}#skills .skill-items li{transition:transform .18s ease,color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}#skills .skill-items li:hover,html:not([data-theme=dark]) #skills .skill-items li:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 56%,var(--border));background-color:color-mix(in srgb,var(--accent-soft) 72%,var(--surface));color:var(--accent-hover);box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 12%,transparent)}html[data-theme=dark] #skills .skill-items li:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background-color:color-mix(in srgb,var(--accent-soft) 78%,var(--surface));color:var(--accent-hover);box-shadow:0 3px 12px rgba(91,145,204,.12)}html[data-theme=dark] #skills .skills-grid .skill-group:hover:not(:has(.skill-items li:hover)){background-color:color-mix(in srgb,var(--accent-soft) 30%,var(--surface));border-color:color-mix(in srgb,var(--accent) 32%,var(--border))!important;box-shadow:0 10px 24px rgba(0,0,0,.22),0 4px 14px rgba(91,145,204,.09)}@media (prefers-reduced-motion:reduce){#skills .skill-group,#skills .skill-items li,#skills .skill-mark{transition:none!important}#skills .skill-items li:hover,#skills .skills-grid .skill-group:hover:not(:has(.skill-items li:hover)),#skills .skills-grid .skill-group:hover:not(:has(.skill-items li:hover)) .skill-mark,html:not([data-theme=dark]) #skills .skill-items li:hover,html[data-theme=dark] #skills .skill-items li:hover{transform:none!important}}