:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--sans:"Inter Tight", system-ui, "Segoe UI", Roboto, sans-serif;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}*{box-sizing:border-box}body{margin:0}#root{min-height:100svh}p{margin:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important}}.site-nav{z-index:2;flex-direction:column;align-items:flex-end;gap:17px;display:flex;position:fixed;top:64px;left:calc(12.5% + 11px)}.nav-link{color:#000;white-space:nowrap;flex-direction:column;align-items:flex-end;font-size:16px;font-weight:400;line-height:1.2;text-decoration:none;display:inline-flex}.nav-link:after{content:attr(data-label);visibility:hidden;-webkit-user-select:none;user-select:none;pointer-events:none;height:0;font-weight:600;overflow:hidden}.nav-link--active{font-weight:600}.nav-link--disabled{cursor:default}.nav-link-text{background:linear-gradient(currentColor,currentColor) 100% 100%/0 1px no-repeat;transition:background-size .3s}@media (hover:hover){.nav-link:hover .nav-link-text{background-size:100% 1px}}.nav-link:focus-visible{outline-offset:2px;outline:2px solid #1500ff}.site-divider{z-index:1;background:#e1e1e1;width:1px;height:100vh;position:fixed;top:0;left:calc(12.5% + 91px)}.site-divider-tick{will-change:transform;background:#2f2f2f;width:1px;height:23px;position:absolute;top:0;left:0}.site-divider-tick--animated{transition:transform .45s cubic-bezier(.65,0,.35,1)}@media (prefers-reduced-motion:reduce){.site-divider-tick--animated{transition:none}}@media (width<=900px){.site-nav{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;background:#ffffffeb;border-bottom:1px solid #e1e1e1;flex-direction:row;align-items:center;gap:20px;height:56px;padding:0 20px;top:0;left:0;right:0}.site-divider{display:none}}.hero-position{width:min(997px,69.24%);position:absolute;bottom:59px;left:calc(25% - 15px)}.hero{visibility:hidden;flex-direction:column;align-items:flex-start;gap:26px;display:flex}.hero-title{flex-direction:column;align-items:flex-start;gap:26px;margin:0;font-weight:500;line-height:1;display:flex}.hero-title-line{color:#1500ff;white-space:nowrap;text-box-trim:trim-both;text-box-edge:cap alphabetic;background:#c8c3ff;display:inline-block}.hero-title-line--sm{font-size:clamp(40px,6.67vw,96px)}.hero-title-line--lg{font-size:clamp(52px,8.89vw,128px)}.hero-subtitle{color:#000;font-size:24px;font-weight:400}.read-more{color:#8e8e8e;align-items:center;gap:4px;font-size:16px;text-decoration:none;display:inline-flex}@media (hover:hover){.read-more:hover{color:#000}.read-more:hover .read-more-icon{translate:3px 3px}}.read-more:focus-visible{outline-offset:2px;outline:2px solid #1500ff}.read-more-icon{transition:translate .25s;display:block}@media (width<=900px){.hero-position{width:auto;bottom:48px;left:20px;right:20px}.hero,.hero-title{gap:16px}.hero-title-line--lg{font-size:min(12.6582vw - 5.06329px,128px)}.hero-title-line--sm{font-size:min(9.49367vw - 3.79747px,96px)}.hero-subtitle{font-size:20px}}.about-section{--s:1;overflow:visible}.about-content{width:min(933px,64.79%);padding-top:calc(64px * var(--s));padding-bottom:calc(42px * var(--s));margin-left:calc(25% - 15px);position:relative}.about-arrow{top:calc(82px * var(--s));left:calc(-52px * var(--s));width:calc(85px * var(--s));height:calc(246px * var(--s));pointer-events:none;z-index:1;display:block;position:absolute}.about-bio{font-size:calc(24px * var(--s));color:#000;text-align:justify;margin-top:0;margin-bottom:0;margin-right:0;font-weight:400;line-height:1.2}.about-bio-highlight{color:#1500ff;font-style:italic;font-weight:500}.about-photos{--photo-gap:38px;margin-top:calc(20px * var(--s));gap:var(--photo-gap);grid-template-columns:repeat(3,1fr);display:grid;container-type:inline-size}.about-photo{height:calc((100cqw - 2 * var(--photo-gap)) / 3 * 259 / 285 * var(--s));background:#eee;border:1px solid #000;position:relative;overflow:hidden;container-type:inline-size}.about-photo img{max-width:none;width:max(100%, calc(135.44% * var(--s)));height:auto;display:block;position:absolute;left:50%;translate:-50%}.about-photo-img--1,.about-photo-img--3{top:calc(-2.33cqw * var(--s))}.about-photo-img--2{top:calc(-.13cqw * var(--s))}.about-photo--blur-1 img,.about-photo--blur-2 img{transition:filter .5s}.about-photo--blur-1 img{filter:blur(1.45px)}.about-photo--blur-2 img{filter:blur(3.5px)}.about-heading{font-size:calc(40px * var(--s));color:#1500ff;text-box-trim:trim-both;text-box-edge:cap alphabetic;margin-top:0;margin-bottom:0;margin-right:0;font-weight:500;line-height:1}.about-heading--skills{margin-top:calc(49px * var(--s))}.skills-ledger{margin:calc(38px * var(--s)) 0 0;padding:0;list-style:none}.skills-ledger-row{padding-block:calc(28px * var(--s));border-top:1px solid #e1e1e1;grid-template-columns:27.8% 1fr;align-items:baseline;display:grid}.skills-ledger-verb{font-size:calc(32px * var(--s));color:#1500ff;white-space:nowrap;margin:0;font-weight:500;line-height:1.2}.skills-ledger-items{gap:calc(14px * var(--s)) calc(24px * var(--s));font-size:calc(24px * var(--s));color:#000;flex-wrap:wrap;margin:0;padding:0;font-weight:400;line-height:1.2;list-style:none;display:flex}.skills-ledger-items li{transition:color .2s}@media (hover:hover){.about-photo:hover img{filter:none}.skills-ledger-items li:hover{color:#1500ff}}@media (width<=900px){.about-content{width:auto;margin:0 20px;padding-top:88px;padding-bottom:48px}.about-arrow{display:none}.about-bio{text-align:left;font-size:18px;line-height:1.35}.about-photos{--photo-gap:10px;margin-top:24px}.about-heading{font-size:28px}.about-heading--skills{margin-top:40px}.skills-ledger{margin-top:20px}.skills-ledger-row{padding-block:20px}.skills-ledger-verb{font-size:26px}.skills-ledger-items{gap:8px 18px;font-size:19px}}@media (width<=640px){.skills-ledger-row{grid-template-columns:1fr;row-gap:10px;padding-block:18px}.skills-ledger-verb{font-size:22px}.skills-ledger-items{gap:6px 16px;font-size:17px}}.projects-section{overflow:visible}.projects-content{flex-direction:column;gap:41px;width:min(913px,63.4%);margin-left:calc(25% - 7px);padding-top:45px;padding-bottom:45px;display:flex}.project-card{box-sizing:border-box;background:#f4f4f4;border:1px solid #e3e3e3;align-items:flex-start;gap:20px;min-height:284px;padding:43px 24px;transition:border-color .3s;display:flex;position:relative}.project-device{object-fit:contain;flex-shrink:0;width:300px;height:198px;transition:scale .4s;display:block}.project-info{flex-direction:column;flex:1;align-items:flex-start;gap:6px;min-width:0;display:flex}.project-index{color:#1500ff;text-box-trim:trim-both;text-box-edge:cap alphabetic;background:#c8c3ff;font-size:20px;font-weight:400;line-height:1}.project-title-row{align-items:center;gap:12px;width:100%;display:flex}.project-title{color:#1b1b1b;flex:1;min-width:0;margin:0;font-size:24px;font-weight:500;line-height:1.4}.project-year{color:#9c9c9c;flex-shrink:0;font-size:14px;font-weight:400;line-height:1.4}.project-description{color:#6a6a6a;text-align:justify;margin:0;font-size:16px;font-weight:400;line-height:1.4}.project-links{align-items:center;gap:8px;display:flex}.project-link--primary{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .3s}.project-link{color:#1e1e1e;align-items:center;gap:8px;font-size:14px;line-height:1.4;text-decoration:none;display:inline-flex}@media (hover:hover){.project-card:hover{border-color:#c8c3ff}.project-card:hover .project-device{scale:1.03}.project-link--primary:hover{background-size:calc(100% - 29px) 1px}.project-link--primary:hover .project-icon{translate:2px -2px}.project-link:not(.project-link--primary):hover .project-icon{translate:0 -2px}}.project-link:focus-visible{outline-offset:2px;outline:2px solid #1500ff}.project-icon{transition:translate .25s;display:block}@media (width<=900px){.projects-content{gap:24px;width:auto;margin:0 20px;padding-top:88px;padding-bottom:48px}}@media (width<=640px){.project-card{flex-direction:column;gap:16px;min-height:0;padding:20px}.project-device{aspect-ratio:300/198;width:100%;height:auto}.project-info{flex:none;width:100%}.project-title{font-size:22px}.project-description{text-align:left;font-size:15px}}.contact-section{--s:1;letter-spacing:0;overflow:visible}.contact-content{width:min(893px,62%);padding-top:calc(115px * var(--s));padding-bottom:calc(117px * var(--s));margin-left:calc(25% + 5px)}.contact-intro{align-items:flex-end;gap:calc(30px * var(--s));flex-direction:column;display:flex}.contact-heading{color:#1500ff;font-size:min(6.67vw, calc(96px * var(--s)));white-space:nowrap;text-box-trim:trim-both;text-box-edge:cap alphabetic;background:#c8c3ff;margin:0;font-weight:500;line-height:1}.contact-subtitle{max-width:calc(660px * var(--s));font-size:calc(24px * var(--s));color:#000;text-align:right;font-weight:400;line-height:1.2}.contact-list{margin:calc(168px * var(--s)) 0 0;padding:0;list-style:none}.contact-row{min-height:calc(117px * var(--s));padding-block:calc(29px * var(--s));border-top:1px solid #e1e1e1;justify-content:space-between;align-items:center;gap:24px;display:flex}.contact-label{margin-bottom:calc(4px * var(--s));font-size:calc(20px * var(--s));color:#000;white-space:nowrap;align-self:flex-end;font-weight:400;line-height:1.2}.contact-value{min-width:0;font-size:min(3.33vw, calc(48px * var(--s)));color:#1500ff;text-align:right;overflow-wrap:anywhere;background:linear-gradient(#c8c3ff,#c8c3ff) 100%/0 100% no-repeat;font-weight:600;line-height:1.2;text-decoration:none;transition:background-size .35s cubic-bezier(.65,0,.35,1)}@media (hover:hover){.contact-value:hover{background-size:100% 100%}}.contact-value:focus-visible{outline-offset:2px;outline:2px solid #1500ff}.contact-label{transition:color .3s}@media (hover:hover){.contact-row:hover .contact-label{color:#1500ff}}@media (width<=900px){.contact-content{width:auto;margin:0 20px;padding-top:88px;padding-bottom:48px}.contact-intro{gap:20px}.contact-heading{font-size:min(11.3636vw - 4.54545px,96px)}.contact-subtitle{font-size:18px}.contact-list{margin-top:48px}}@media (width<=640px){.contact-intro{align-items:flex-start}.contact-subtitle{text-align:left;max-width:none}.contact-row{flex-direction:column;align-items:flex-start;gap:6px;min-height:0;padding-block:20px}.contact-label{align-self:auto;margin-bottom:0;font-size:15px}.contact-value{text-align:left;font-size:clamp(22px,6.4vw,36px)}}.scroll-container{scroll-behavior:smooth;height:100svh;overflow-y:auto}@media (prefers-reduced-motion:reduce){.scroll-container{scroll-behavior:auto}}.page-section{background:#fff;min-height:100%;position:relative;overflow:hidden}
