@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&display=swap";@layer theme{:root,:host{--font-sans:"Inter", "Segoe UI", sans-serif;--font-serif:"Fraunces", "Georgia", serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.start{inset-inline-start:var(--spacing)}}:root{--background:oklch(14.5% 0 0);--foreground:oklch(94.2% .002 80);--primary:oklch(68% .13 39);--primary-foreground:oklch(14.5% 0 0);--muted-foreground:oklch(70% .01 80);--paper:oklch(94.5% .008 88);--paper-foreground:oklch(18% .008 70);--ink-soft:oklch(19% .008 70);--line-light:oklch(40% .01 70/.42);--line-dark:oklch(75% .01 80/.18)}html{scroll-behavior:smooth}body{background-color:var(--background);min-width:320px;color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--primary);color:var(--primary-foreground)}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--background)}::-webkit-scrollbar-thumb{background:var(--line-dark);border-radius:999px}:focus-visible{outline:1px solid var(--primary);outline-offset:3px}.reveal{opacity:0;transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);transform:translateY(16px)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.hero-shell{background:var(--background);border-bottom:1px solid var(--line-dark);min-height:100svh;position:relative;overflow:hidden}.grain{opacity:.3;pointer-events:none;background-image:radial-gradient(circle, var(--primary) .7px, transparent .8px);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.grain{background-image:radial-gradient(circle, color-mix(in oklab, var(--primary) 55%, transparent) .7px, transparent .8px)}}.grain{background-size:34px 34px;-webkit-mask-image:linear-gradient(90deg,#000,#0000 66%);mask-image:linear-gradient(90deg,#000,#0000 66%)}.site-header{z-index:10;border-bottom:1px solid var(--line-dark);text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;height:74px;padding:0 2.5vw;display:grid;position:relative}.brand-mark{font-family:var(--font-serif);color:var(--foreground);font-size:24px;font-weight:600;text-decoration:none}.brand-mark span{color:var(--primary)}.main-nav{gap:38px;display:flex}.main-nav a,.availability{color:var(--foreground);font-size:10px;font-weight:600;text-decoration:none}.main-nav a{transition:color .25s}.main-nav a:hover{color:var(--primary)}.availability{color:var(--muted-foreground);justify-self:end;align-items:center;display:flex}.availability span{background:var(--primary);width:9px;height:9px;box-shadow:0 0 14px var(--primary);border-radius:999px;margin-right:8px;display:inline-block}@supports (color:color-mix(in lab, red, red)){.availability span{box-shadow:0 0 14px color-mix(in oklab, var(--primary) 70%, transparent)}}.hero-content{min-height:calc(100svh - 74px);position:relative}.hero-copy{z-index:3;width:69vw;padding:clamp(100px,14vh,160px) 0 0 6.7vw;position:relative}.eyebrow,.section-kicker{color:var(--primary);text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:600}.hero-copy h1{font-family:var(--font-serif);letter-spacing:0;text-shadow:0 2px 30px oklch(10% 0 0/.45);margin:12px 0 0;font-size:clamp(82px,12.2vw,188px);font-weight:400;line-height:.72}.hero-copy h1 span,.hero-copy h1 em{display:block}.hero-copy h1 span{color:var(--foreground)}.hero-copy h1 em{color:var(--primary);white-space:nowrap;margin-left:7vw;font-style:italic}.hero-bottom{align-items:center;gap:76px;margin:58px 0 0 6.6vw;display:flex}.hero-bottom p{color:var(--muted-foreground);max-width:290px;font-size:13px;line-height:1.55}.primary-cta{background:var(--primary);min-width:124px;height:48px;color:var(--primary-foreground);text-transform:uppercase;justify-content:center;align-items:center;gap:12px;padding:0 22px;font-size:10px;font-weight:600;text-decoration:none;transition:transform .25s;display:inline-flex}.primary-cta:hover{transform:translateY(-3px)}.portrait-wrap{z-index:2;justify-content:center;align-items:stretch;width:min(74vw,1150px);height:calc(100svh - 74px);display:flex;position:absolute;bottom:0;right:-8vw}.portrait-wrap:before{content:"";background:radial-gradient(ellipse at 65% 55%, var(--foreground), transparent 64%);position:absolute;inset:4% -2% 0 -24%}@supports (color:color-mix(in lab, red, red)){.portrait-wrap:before{background:radial-gradient(ellipse at 65% 55%, color-mix(in oklab, var(--foreground) 12%, transparent), transparent 64%)}}.portrait-wrap img{z-index:1;object-fit:cover;object-position:56% top;filter:contrast(1.06)brightness(.88)blur(.6px);width:100%;height:100%;position:relative;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 14% 92%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 14% 92%,#0000 100%)}.portrait-wrap .portrait-blur{z-index:0;object-fit:cover;object-position:56% top;filter:blur(44px)brightness(.85)saturate(1.15);opacity:.4;width:116%;height:112%;animation:14s ease-in-out infinite alternate portrait-drift;position:absolute;top:-6%;left:-8%;-webkit-mask-image:linear-gradient(90deg,#0000 0%,#000 18% 90%,#0000 100%);mask-image:linear-gradient(90deg,#0000 0%,#000 18% 90%,#0000 100%)}@keyframes portrait-drift{0%{transform:scale(1)translate(0)}to{transform:scale(1.07)translate(-2%)}}@media (prefers-reduced-motion:reduce){.portrait-blur{animation:none}}@media (width>=801px){.portrait-wrap img,.portrait-wrap .portrait-blur{object-position:56% 28%}}.side-note{z-index:4;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.12em;font-size:9px;position:absolute;right:2.7vw}.side-note-top{color:var(--primary);top:43%}.side-note-bottom{color:var(--muted-foreground);bottom:6%}.scroll-cue{z-index:5;color:var(--muted-foreground);text-transform:uppercase;align-items:center;gap:12px;font-size:9px;text-decoration:none;display:flex;position:absolute;bottom:28px;left:2.5vw}.section{z-index:0;padding:120px 6.5vw;position:relative;overflow:hidden}.section-paper{background:var(--paper);color:var(--paper-foreground)}.section-ink{background:var(--ink-soft);color:var(--foreground)}.ghost-title{z-index:-1;font-family:var(--font-serif);letter-spacing:.01em;white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;margin:0;font-size:clamp(110px,16vw,260px);font-weight:600;line-height:1;position:absolute;top:92px;left:6.5vw}.section-paper .ghost-title{color:var(--paper-foreground)}@supports (color:color-mix(in lab, red, red)){.section-paper .ghost-title{color:color-mix(in oklab, var(--paper-foreground) 6%, transparent)}}.section-ink .ghost-title{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.section-ink .ghost-title{color:color-mix(in oklab, var(--foreground) 5%, transparent)}}.contact-section .ghost-title{color:var(--primary-foreground);top:132px}@supports (color:color-mix(in lab, red, red)){.contact-section .ghost-title{color:color-mix(in oklab, var(--primary-foreground) 10%, transparent)}}.section-heading{z-index:1;grid-template-columns:1fr auto;align-items:end;gap:8vw;margin-bottom:68px;display:grid;position:relative}.section-heading h2,.about-grid h2{font-family:var(--font-serif);letter-spacing:0;margin:12px 0 0;font-size:clamp(30px,3.2vw,46px);font-weight:400;line-height:1.08}.section-heading h2 .slash,.about-grid h2 .slash{color:var(--primary);margin-right:.08em;font-style:italic}.section-heading h2 em,.about-grid h2 em,.contact-section h2 em{color:var(--primary);font-style:italic}.section-note{text-align:right;color:var(--paper-foreground);font-size:13px;line-height:1.75}@supports (color:color-mix(in lab, red, red)){.section-note{color:color-mix(in oklab, var(--paper-foreground) 55%, transparent)}}.section-note{padding-bottom:8px}.project-list{border-top:1px solid var(--line-light)}.project-feature{background:var(--ink-soft);color:var(--foreground);border-radius:6px;grid-template-columns:1fr 40px;align-items:center;gap:4vw;margin:34px 0 44px;padding:52px 56px;display:grid;position:relative;box-shadow:0 30px 60px -30px oklch(10% 0 0/.55)}.feature-copy .row-number{color:var(--foreground);padding:0 0 6px;display:block}@supports (color:color-mix(in lab, red, red)){.feature-copy .row-number{color:color-mix(in oklab, var(--foreground) 45%, transparent)}}.project-feature h3{font-family:var(--font-serif);margin:0 0 18px;font-size:clamp(30px,3vw,44px);font-weight:400}.project-feature p{color:var(--muted-foreground);max-width:460px;margin:0 0 26px;font-size:13px;line-height:1.7}.project-feature .tag-list span{border-color:var(--line-dark);color:var(--muted-foreground)}.feature-card{z-index:5;background:var(--background);width:280px;height:190px;color:var(--foreground);opacity:0;pointer-events:none;border-radius:6px;transition:opacity .3s,transform .3s;position:absolute;top:50%;right:6%;overflow:hidden;transform:translateY(-50%)rotate(-4deg)scale(.94);box-shadow:0 24px 55px -20px oklch(10% 0 0/.65)}.project-feature:hover .feature-card{opacity:1;transform:translateY(-50%)rotate(-4deg)scale(1)}.feature-card img,.row-preview img{object-fit:cover;width:100%;height:100%}.project-feature .row-arrow{color:var(--foreground);align-self:start}.screenshot-placeholder{border:1px dashed var(--line-dark);width:100%;height:100%;color:var(--foreground);flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}@supports (color:color-mix(in lab, red, red)){.screenshot-placeholder{color:color-mix(in oklab, var(--foreground) 45%, transparent)}}.screenshot-placeholder svg{color:var(--primary);opacity:.7}.screenshot-placeholder span{text-transform:uppercase;letter-spacing:.1em;text-align:center;padding:0 14px;font-size:8px}.section-footnote{border-top:1px solid var(--line-light);justify-content:space-between;align-items:center;margin-top:54px;padding-top:22px;font-size:11px;display:flex}.section-footnote p{color:var(--paper-foreground)}@supports (color:color-mix(in lab, red, red)){.section-footnote p{color:color-mix(in oklab, var(--paper-foreground) 55%, transparent)}}.section-footnote p{margin:0}.section-footnote a{color:var(--paper-foreground);align-items:center;gap:8px;font-weight:600;text-decoration:none;display:inline-flex}.section-footnote a:hover{color:var(--primary)}.tag-list{flex-wrap:wrap;gap:7px;display:flex}.tag-list span{border:1px solid var(--line-light);text-transform:uppercase;padding:6px 9px;font-size:9px}.about-grid{z-index:1;grid-template-columns:1.25fr .75fr;align-items:end;gap:10vw;display:grid;position:relative}.about-copy{padding-bottom:10px}.about-copy p{color:var(--muted-foreground);margin-top:20px;font-size:14px;line-height:1.75}.about-copy .about-lead{color:var(--foreground);font-family:var(--font-serif);font-size:26px;line-height:1.35}.principles{border-top:1px solid var(--line-dark);grid-template-columns:repeat(3,1fr);margin-top:100px;display:grid}.principles>div{border-right:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);min-height:210px;padding:24px 34px 24px 0}.principles>div:nth-child(3n){border-right:0}.principles>div:not(:nth-child(3n+1)){padding-left:34px}.principles span{color:var(--primary);font-size:9px}.principles h3{font-family:var(--font-serif);margin:40px 0 12px;font-size:24px;font-weight:400}.principles .skill-icons{flex-wrap:wrap;gap:8px;display:flex}.skill-chip{border:1px solid var(--line-dark);color:var(--foreground);white-space:nowrap;border-radius:30px;align-items:center;gap:9px;padding:10px 14px;font-size:12px;font-weight:500;transition:border-color .25s,color .25s;display:inline-flex}.skill-chip svg{width:18px;height:18px;color:var(--primary);flex-shrink:0}.skill-chip:hover{border-color:var(--primary);color:var(--primary)}.education-place{color:var(--primary);text-transform:uppercase;letter-spacing:.1em;font-size:9px;font-weight:600}.education-row p{color:var(--paper-foreground)}@supports (color:color-mix(in lab, red, red)){.education-row p{color:color-mix(in oklab, var(--paper-foreground) 62%, transparent)}}.education-row p{max-width:420px;font-size:12px;line-height:1.65}.education-row .row-number{color:var(--paper-foreground);align-self:start;padding-top:6px;font-size:9px}@supports (color:color-mix(in lab, red, red)){.education-row .row-number{color:color-mix(in oklab, var(--paper-foreground) 45%, transparent)}}.education-list{border-top:1px solid var(--line-light)}.education-row{border-bottom:1px solid var(--line-light);grid-template-columns:50px 1fr 150px;align-items:start;gap:26px;min-height:150px;padding:28px 0;display:grid}.education-row h3{font-family:var(--font-serif);margin:0 0 8px;font-size:28px;font-weight:400}.education-row .education-place{margin:0 0 20px}.education-date{text-transform:uppercase;color:var(--primary);justify-self:end;font-size:10px}.contact-section{z-index:0;background:var(--primary);color:var(--primary-foreground);padding:34px 6.5vw 82px;position:relative;overflow:hidden}.contact-topline,.contact-section .section-kicker,.contact-section h2,.contact-bottom{z-index:1;position:relative}.contact-topline{text-transform:uppercase;letter-spacing:.1em;justify-content:space-between;padding-bottom:85px;font-size:9px;display:flex}.contact-section .section-kicker{color:var(--primary-foreground);opacity:.66}.contact-section h2{font-family:var(--font-serif);letter-spacing:0;margin:18px 0 70px;font-size:clamp(64px,9.4vw,145px);font-weight:400;line-height:.85}.contact-section h2 em{color:var(--foreground)}.contact-bottom{border-top:1px solid var(--primary-foreground);justify-content:space-between;align-items:end;display:flex}@supports (color:color-mix(in lab, red, red)){.contact-bottom{border-top:1px solid color-mix(in oklab, var(--primary-foreground) 28%, transparent)}}.contact-bottom{padding-top:28px}.contact-bottom p{font-size:13px;line-height:1.6}.contact-link{color:var(--primary-foreground);font-family:var(--font-serif);border-bottom:1px solid;align-items:center;gap:14px;padding-bottom:7px;font-size:26px;text-decoration:none;transition:gap .25s;display:flex}.contact-link svg:first-child{opacity:.8;flex-shrink:0}.contact-link-arrow{border:1px solid var(--primary-foreground);flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;margin-left:auto;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.contact-link-arrow{border:1px solid color-mix(in oklab, var(--primary-foreground) 45%, transparent)}}.contact-link-arrow{border-radius:50%;transition:background .25s,color .25s,transform .25s}.contact-link:hover{gap:18px}.contact-link:hover .contact-link-arrow{background:var(--primary-foreground);color:var(--primary);transform:rotate(45deg)}.contact-socials{gap:14px;margin-top:22px;display:flex}.contact-socials a{border:1px solid var(--primary-foreground);align-items:center;gap:9px;padding:11px 18px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.contact-socials a{border:1px solid color-mix(in oklab, var(--primary-foreground) 35%, transparent)}}.contact-socials a{color:var(--primary-foreground);text-transform:uppercase;letter-spacing:.08em;border-radius:30px;font-size:11px;text-decoration:none;transition:background .25s,color .25s,border-color .25s,transform .25s}.contact-socials a:hover{background:var(--primary-foreground);color:var(--primary);border-color:var(--primary-foreground);transform:translateY(-3px)}footer.site-footer{background:var(--background);color:var(--muted-foreground);text-transform:uppercase;grid-template-columns:1fr auto auto auto;align-items:center;gap:4vw;padding:30px 3vw;font-size:9px;display:grid}footer.site-footer a{color:var(--foreground);gap:7px;text-decoration:none;display:flex}@media (width<=800px){.site-header{grid-template-columns:1fr auto;padding:0 20px}.main-nav{display:none}.availability{font-size:8px}.hero-content{min-height:calc(100svh - 74px)}.hero-copy{width:auto;padding:66px 20px 0}.eyebrow{max-width:220px;line-height:1.5}.hero-copy h1{margin-top:22px;font-size:clamp(58px,19vw,88px);line-height:.78}.hero-copy h1 em{margin-left:7vw}.hero-bottom{flex-direction:column;align-items:flex-start;gap:18px;margin:32px 0 0}.hero-bottom p{max-width:240px;font-size:11px}.portrait-wrap{width:92vw;height:57svh;right:-22vw}.portrait-wrap img{opacity:.68;max-height:100%}.portrait-wrap .portrait-blur{opacity:.32}.side-note{display:none}.scroll-cue{left:20px}.section{padding:84px 20px}.section-heading,.about-grid{grid-template-columns:1fr;gap:42px}.section-note{text-align:left}.section-heading h2,.about-grid h2{font-size:32px}.ghost-title{font-size:72px;top:60px;left:20px}.contact-section .ghost-title{top:90px}.project-feature{grid-template-columns:1fr;gap:26px;margin:24px 0 34px;padding:34px 26px}.feature-card{display:none}.project-feature .row-arrow{position:absolute;top:22px;right:22px}.principles{grid-template-columns:1fr;margin-top:70px}.principles>div{border-right:0;border-bottom:1px solid var(--line-dark);min-height:0;padding:24px 0 30px}.principles>div:not(:nth-child(3n+1)){padding-left:0}.principles h3{margin-top:28px}.education-row{grid-template-columns:32px 1fr}.education-date{grid-column:2;justify-self:start}.contact-section{padding:28px 20px 60px}.contact-topline{padding-bottom:70px}.contact-section h2{margin-bottom:52px;font-size:58px}.contact-bottom{flex-direction:column;align-items:flex-start;gap:38px}.contact-link{font-size:23px}footer.site-footer{grid-template-columns:1fr auto;gap:24px;padding:28px 20px}footer.site-footer p{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
