@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_8eaea4{font-family:Geist,Geist Fallback;font-style:normal}.__variable_8eaea4{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/013b72fa676f92e0-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b9408752a0c24fb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/65f03d54ccadf4a8-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e038a29029a234f2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/2b5b02fc7e511755-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7d4881bb7e1bf84d-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_8c25df{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_8c25df{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}

/*! tailwindcss v4.1.5 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-geist-sans);--default-mono-font-family:var(--font-geist-mono)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden}.absolute,.sr-only{position:absolute}.fixed{position:fixed}.relative{position:relative}.flex{display:flex}.hidden{display:none}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--bg:#171816;--panel:#20211e;--fg:#efeee6;--muted:#aaa99f;--line:#363731;--accent:#fb754b;--font-sans:var(--font-geist-sans);--font-mono:var(--font-geist-mono);color-scheme:dark}:root[data-theme=light]{--bg:#f3f0e8;--panel:#eae7df;--fg:#23251f;--muted:#62645b;--line:#d3d0c5;--accent:#b94422;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{-webkit-font-smoothing:antialiased;background:var(--bg)!important;color:var(--fg)!important;font-family:var(--font-geist-sans),Arial,sans-serif!important;margin:0!important}a{text-decoration:none}a,button{color:inherit}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait}a,button{outline-offset:6px}a:focus-visible,button:focus-visible{outline:2px solid var(--accent)}::selection{background:var(--accent);color:var(--bg)}.shell{width:calc(100% - 112px);max-width:1320px;margin-inline:auto}.section-pad{padding-top:116px;padding-bottom:110px}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}h2{letter-spacing:-3.8px;font-size:clamp(42px,5.3vw,72px);font-weight:500;line-height:1.07}.serif-word{color:var(--accent);letter-spacing:-.06em;font-family:Georgia,Times New Roman,serif;font-style:italic;font-weight:400}.eyebrow{font-family:var(--font-geist-mono),monospace;letter-spacing:1.1px;font-size:10px;font-weight:400;line-height:1.7}.section-label{gap:16px;margin-bottom:26px;display:flex}.section-label>span{color:var(--accent)}.muted{color:var(--muted)}.site-header{z-index:30;background:var(--bg);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);position:sticky;top:0}@supports (color:color-mix(in lab,red,red)){.site-header{background:color-mix(in srgb,var(--bg)92%,transparent)}}.header-inner{justify-content:space-between;gap:30px;min-height:98px}.header-inner,.wordmark{align-items:center;display:flex}.wordmark{letter-spacing:-.3px;gap:13px;font-size:13px;font-weight:600}.brand-symbol{letter-spacing:-8px;padding-right:9px;font-size:48px;font-weight:600;line-height:1}.brand-symbol>span,.footer-brand>span{color:var(--accent)}.wordmark-caption{font-family:var(--font-geist-mono),monospace;letter-spacing:1.2px;color:var(--muted);margin-top:5px;font-size:7px;font-weight:400;display:block}.main-nav{gap:39px;margin-left:auto;font-size:12px}.main-nav,.main-nav>a{align-items:center;display:flex}.main-nav>a{gap:10px;transition:color .2s}.main-nav>a>span{color:var(--muted);align-self:flex-start;font-size:8px}.main-nav>a:hover{color:var(--accent)}.main-nav .nav-contact{border:1px solid var(--line);border-radius:3px;gap:24px;padding:12px 18px}.header-controls{align-items:center;display:flex}.theme-button{width:42px;height:42px;color:var(--muted);background:0 0;border:0;place-items:center;transition:color .2s;display:grid}.theme-button:hover{color:var(--accent)}.menu-button{display:none}.hero{padding-top:36px;position:relative}.hero-topline{color:var(--muted);justify-content:space-between;align-items:center;display:flex}.hero-topline .eyebrow{align-items:center;gap:9px;display:flex}.status-dot{background:#b8c99e;border-radius:50%;width:6px;height:6px;display:inline-block;box-shadow:0 0 0 4px #b8c99e10}.hero-edition{font:9px var(--font-geist-mono),monospace;letter-spacing:1px}.hero-layout{grid-template-columns:1.15fr 1fr;align-items:center;gap:20px;min-height:580px;padding-block:58px 52px;display:grid}.hero-copy{z-index:2;position:relative}.hero-intro{color:var(--muted);margin-bottom:24px;font-size:14px}.hero-intro>span{color:var(--accent);margin-left:12px;display:inline-block}h1{font-size:clamp(75px,8.25vw,118px);font-weight:500;line-height:1.02}h1,h1 .serif-word{letter-spacing:-7px}.hero-description{color:var(--muted);margin-top:28px;font-size:14px;line-height:1.9}.hero-actions{align-items:center;gap:25px;margin-top:34px;display:flex}.button{border-radius:3px;justify-content:center;align-items:center;gap:26px;padding:17px 21px;font-size:12px;font-weight:600;transition:transform .2s,background-color .2s;display:inline-flex}.button:hover{transform:translateY(-3px)}.button-primary{background:var(--accent);color:#171816}.button-primary:hover{background:#ff906e}:root[data-theme=light] .button-primary{color:#fff}.text-link{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding-block:10px;font-size:11px;transition:color .2s,border-color .2s;display:inline-flex}.text-link:hover{color:var(--accent);border-color:var(--accent)}.hero-art{min-width:0;height:490px;position:relative}.art-coordinate{font:8px var(--font-geist-mono),monospace;color:var(--muted);letter-spacing:1px;position:absolute}.coordinate-top{top:17px;left:30px}.coordinate-bottom{font-size:7px;bottom:13px;right:0}.orbit-scene{perspective:1000px;isolation:isolate;place-items:center;display:grid;position:absolute;inset:22px -18px 12px}.orbit-glow{filter:blur(20px);background:radial-gradient(#f67c3822,#0000 68%);position:absolute;inset:10%}.orbit-sphere{width:335px;height:335px;transform-style:preserve-3d;animation:orbit-enter 1.8s cubic-bezier(.22,1,.36,1) both;position:relative;transform:rotate(-30deg)rotateX(27deg)rotateY(-18deg)}.orbit-ring{backface-visibility:visible;border:1.5px solid #ed784b;border-radius:50%;width:100%;height:100%;position:absolute;box-shadow:0 0 9px #fa683719,inset 0 0 7px #fc794c0a}.orbit-ring:nth-child(3n){border-color:#ffa475}.orbit-center{color:#ffb98f;font:34px var(--font-geist-mono),monospace;letter-spacing:8px;text-shadow:0 0 30px #f37342;position:absolute;transform:rotate(-16deg)}.art-cross{color:var(--muted);font:18px monospace;position:absolute}.cross-one{top:75px;right:18px}.cross-two{bottom:70px;left:32px}.orbit-star{width:58px;color:var(--fg);position:absolute;top:55px;right:48px;transform:rotate(10deg)}.art-badge{background:var(--panel);border:1px solid var(--line);align-items:center;gap:14px;padding:16px 21px;display:flex;position:absolute;bottom:39px;left:8px;transform:rotate(-6deg);box-shadow:0 10px 20px #0002}.art-badge>span:last-child{font:8px/1.8 var(--font-geist-mono),monospace;letter-spacing:.6px;color:var(--muted)}.art-badge strong{color:var(--fg);font-weight:500}.badge-icon{color:var(--accent);font-size:34px;line-height:1}.hero-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:27px 0;display:flex}.profile-signature{white-space:nowrap;align-items:center;gap:13px;font-size:11px;display:flex}.profile-signature img{object-fit:cover;object-position:center 23%;filter:grayscale();border-radius:50%;width:39px;height:39px}.profile-signature>div>span{color:var(--muted);margin-top:4px;font-size:9px;display:block}.signature-line{background:var(--line);width:1px;height:25px;margin-left:15px}.scroll-cue{font:8px var(--font-geist-mono),monospace;letter-spacing:1px;align-items:center;gap:22px;display:flex}.scroll-cue>span{color:var(--accent);font-size:20px}.hero-bottom-note{font:7px var(--font-geist-mono),monospace;letter-spacing:1px;color:var(--muted)}.discipline-strip{border-block:1px solid var(--line);background:var(--panel);margin-top:25px}.discipline-strip>.shell{justify-content:space-between;align-items:center;gap:20px;padding-block:24px;display:flex}.discipline-strip span{letter-spacing:1.5px;font-size:14px;font-weight:500}.discipline-strip svg{width:22px;color:var(--accent)}.section-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:52px;display:flex}.section-heading>p{color:var(--muted);padding-bottom:6px;font-size:12px;line-height:1.9}.project{grid-template-columns:1.38fr 1fr;align-items:center;gap:55px;margin-bottom:55px;display:grid}.project-visual{border-radius:5px;height:385px;display:block;position:relative;overflow:hidden}.level-visual{color:#26233c;background:#c6c4ef}.visual-topline{font:8px var(--font-geist-mono),monospace;letter-spacing:.6px;z-index:2;justify-content:space-between;display:flex;position:absolute;top:24px;left:25px;right:25px}.project-browser{border-radius:7px;width:75%;height:300px;transition:transform .5s;position:absolute;top:78px;left:13%;overflow:hidden;transform:rotate(-6deg);box-shadow:0 20px 40px #27215b40}.project-visual:hover .project-browser{transform:rotate(-3deg)translateY(-5px)}.browser-bar{color:#b7b4ce;background:#1a1930;align-items:center;gap:4px;height:24px;padding:0 10px;display:flex}.browser-bar i{background:#6c6985;border-radius:50%;width:4px;height:4px}.browser-bar i:first-child{background:#ff8c80}.browser-bar>span{font:6px var(--font-geist-mono),monospace;margin-inline:auto}.project-browser img{width:100%;height:auto;display:block}.visual-category{font:7px var(--font-geist-mono),monospace;letter-spacing:.6px;position:absolute;bottom:21px;left:25px}.visual-open{background:#fff3;border:1px solid #fff6;border-radius:50%;place-items:center;width:34px;height:34px;transition:transform .2s;display:grid;position:absolute;bottom:16px;right:20px}.project-visual:hover .visual-open{transform:rotate(45deg)}.project-details{padding-right:6px}.project-number{font:9px var(--font-geist-mono),monospace;color:var(--muted);letter-spacing:1px}.project-details h3{letter-spacing:-1.4px;justify-content:space-between;align-items:center;margin:20px 0 18px;font-size:33px;font-weight:500;display:flex}.project-details h3>span{color:var(--accent);font-size:22px}.project-details p{color:var(--muted);max-width:370px;font-size:13px;line-height:1.9}.tech-tags{flex-wrap:wrap;gap:7px;margin-top:24px;display:flex}.tech-tags>span{font:8px var(--font-geist-mono),monospace;border:1px solid var(--line);color:var(--muted);border-radius:3px;padding:7px 9px}.project-links{gap:25px;margin-top:30px;display:flex}.project-links>a{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding-bottom:7px;font-size:10px;transition:color .2s;display:flex}.project-links>a:first-child{color:var(--fg)}.project-links>a:last-child{color:var(--muted)}.project-links>a:hover{color:var(--accent)}.project-links svg{width:13px}.weather-visual{color:#293e3b;background:#bdd0cd}.weather-art{place-items:center;display:grid;position:absolute;inset:20px 40px}.weather-sun{background:linear-gradient(135deg,#ffedc0,#f8ae68);border-radius:50%;width:142px;height:142px;transition:transform .6s;position:absolute;top:56px;left:22%;box-shadow:0 0 50px #fff7d360,inset -15px -15px 35px #ec9e4b40}.project-visual:hover .weather-sun{transform:translateY(-8px)}.weather-cloud{background:linear-gradient(150deg,#f5fffb,#d5e6e2);border-radius:80px;position:absolute;box-shadow:10px 15px 30px #547b6e30}.weather-cloud:after,.weather-cloud:before{content:"";background:inherit;border-radius:50%;position:absolute}.cloud-front{width:180px;height:67px;top:161px;left:26%}.cloud-front:before{width:95px;height:95px;bottom:15px;left:23px}.cloud-front:after{width:70px;height:70px;bottom:18px;right:20px}.cloud-back{opacity:.6;width:115px;height:40px;top:102px;right:12%}.cloud-back:before{width:60px;height:60px;bottom:8px;left:15px}.cloud-back:after{width:40px;height:40px;bottom:15px;right:12px}.weather-temp{letter-spacing:-8px;opacity:.8;font-size:98px;font-weight:300;line-height:1;position:absolute;bottom:38px;right:16%}.weather-temp>span{vertical-align:top;font-size:65px}.weather-caption{font:7px var(--font-geist-mono),monospace;writing-mode:vertical-rl;letter-spacing:1px;position:absolute;bottom:56px;left:1%;transform:rotate(180deg)}.all-projects{border-block:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding:25px 0;font-size:12px;transition:color .2s;display:flex}.all-projects svg,.all-projects:hover{color:var(--accent)}.about-section{background:var(--panel);border-block:1px solid var(--line)}.about-grid{grid-template-columns:.85fr 1fr;align-items:center;gap:100px;display:grid}.about-portrait{background:#49463f;border-radius:3px;height:465px;position:relative;overflow:hidden}.about-portrait>img{object-fit:cover;object-position:50% 33%;filter:grayscale();width:100%;height:100%;transition:filter .6s,transform .7s}.about-portrait:hover>img{filter:grayscale(0);transform:scale(1.025)}.about-portrait:after{content:"";pointer-events:none;background:linear-gradient(#0000,#0007);position:absolute;inset:50% 0 0}.portrait-label{z-index:1;color:#fff;justify-content:space-between;align-items:center;display:flex;position:absolute;bottom:26px;left:26px;right:26px}.portrait-label>span{font:8px var(--font-geist-mono),monospace;letter-spacing:1.1px}.portrait-label svg{color:#fb754b;width:35px}.portrait-index{color:#fff;font:9px var(--font-geist-mono),monospace;z-index:1;background:#17181699;border:1px solid #fff3;padding:8px 10px;position:absolute;top:22px;left:23px}.about-copy h2{margin-bottom:28px}.about-copy>p:not(.eyebrow){color:var(--muted);max-width:450px;margin-bottom:18px;font-size:13px;line-height:1.95}.about-copy>.about-lead{color:var(--fg)!important;font-size:15px!important}.about-copy .text-link{margin-top:6px}.skills-heading{border-bottom:1px solid var(--line);justify-content:space-between;margin-top:80px;padding-bottom:22px;display:flex}.skills-grid{grid-template-columns:repeat(3,1fr);display:grid}.skill-card{padding:32px 28px 0 0}.skill-card+.skill-card{border-left:1px solid var(--line);padding-left:28px}.skill-number{font:9px var(--font-geist-mono),monospace;color:var(--accent)}.skill-card h3{letter-spacing:-.5px;margin-top:24px;margin-bottom:13px;font-size:18px;font-weight:500}.skill-card p{color:var(--muted);max-width:300px;font-size:12px;line-height:1.9}.skill-card .tech-tags{gap:5px}.skill-card .tech-tags>span{padding:6px 7px;font-size:7px}.contact-top{justify-content:space-between;align-items:center;display:flex}.contact-top>svg{width:65px;color:var(--accent);transform:rotate(10deg)}.contact-body{justify-content:space-between;align-items:flex-end;gap:40px;margin-top:21px;display:flex}.contact-body h2{letter-spacing:-5px;font-size:clamp(58px,7.3vw,100px)}.contact-aside{padding-bottom:10px}.contact-aside p{color:var(--muted);margin-bottom:25px;font-size:12px;line-height:1.9}.contact-bottom{border-top:1px solid var(--line);justify-content:space-between;gap:15px;margin-top:48px;padding-top:29px}.contact-bottom,.email-link{align-items:center;display:flex}.email-link{letter-spacing:-.6px;gap:28px;font-size:22px;transition:color .2s}.email-link svg,.email-link:hover{color:var(--accent)}.copy-button{color:var(--muted);border:1px solid var(--line);background:0 0;border-radius:3px;padding:12px 17px;font-size:10px;transition:color .2s,border-color .2s}.copy-button:hover{color:var(--fg);border-color:var(--accent)}.site-footer{border-top:1px solid var(--line);background:var(--panel)}.footer-main{align-items:center;gap:30px;padding-block:40px;display:flex}.footer-brand{letter-spacing:-10px;padding-right:10px;font-size:64px;font-weight:600;line-height:1}.footer-main>p{font-size:11px;line-height:1.9}.footer-main>p>span{color:var(--muted)}.footer-socials{gap:30px;margin-left:auto;display:flex}.footer-socials>a{align-items:center;gap:7px;font-size:10px;display:flex}.footer-socials svg{width:12px;color:var(--muted)}.footer-socials>a:hover{color:var(--accent)}.back-top{border:1px solid var(--line);border-radius:50%;place-items:center;width:39px;height:39px;margin-left:20px;transition:color .2s,border-color .2s;display:grid}.back-top:hover{color:var(--accent);border-color:var(--accent)}.footer-bottom{border-top:1px solid var(--line);font:8px var(--font-geist-mono),monospace;color:var(--muted);justify-content:space-between;gap:18px;padding-block:22px;display:flex}.footer-bottom>span:nth-child(2){letter-spacing:1px;font-size:7px}.skip-link{background:var(--accent);color:var(--bg);z-index:100;padding:15px;position:fixed;top:12px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(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}.reveal-ready{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(24px)}.reveal-ready.is-visible{opacity:1;transform:translateY(0)}@keyframes orbit-enter{0%{opacity:0;transform:rotate(-45deg)rotateX(27deg)rotateY(-50deg)scale(.85)}to{opacity:1;transform:rotate(-30deg)rotateX(27deg)rotateY(-18deg)scale(1)}}@media (min-width:1600px){.hero-layout{min-height:660px}.hero-art{height:540px}.orbit-sphere{width:390px;height:390px}}@media (max-width:1100px){.shell{width:calc(100% - 72px)}.hero-layout{grid-template-columns:1.15fr 1fr;gap:0;min-height:540px}.hero-art{height:430px}.orbit-sphere{width:280px;height:280px}.hero-actions{flex-direction:column;align-items:flex-start;gap:18px}.hero-description{font-size:13px}.hero-art .coordinate-bottom{font-size:6px}.orbit-star{top:60px;right:10px}.art-badge{bottom:25px}.project{gap:32px}.project-visual{height:340px}.project-browser{height:260px;top:68px}.project-details h3{font-size:28px}.project-links{gap:16px}.about-grid{gap:55px}.about-portrait{height:440px}.discipline-strip span{font-size:11px}.contact-aside p br,.hero-bottom-note{display:none}.contact-aside{max-width:260px}.weather-temp{font-size:80px;right:5%}.weather-sun{left:13%}.cloud-front{left:15%}.skill-card .tech-tags>span{font-size:7px}.main-nav{gap:23px}.header-inner{gap:16px}}@media (max-width:760px){.shell{width:calc(100% - 40px)}.section-pad{padding-block:75px}h2{letter-spacing:-2.7px;font-size:48px}.header-inner{min-height:76px}.wordmark{gap:10px;font-size:12px}.brand-symbol{font-size:40px}.wordmark-caption{font-size:6px}.main-nav{background:var(--bg);border-bottom:1px solid var(--line);align-items:stretch;gap:0;padding:25px 20px;display:none;position:absolute;top:76px;left:0;right:0}.main-nav.is-open{flex-direction:column;display:flex}.main-nav>a{border-bottom:1px solid var(--line);padding:18px 8px;font-size:16px}.main-nav>a>span{margin-left:auto;font-size:10px}.main-nav .nav-contact{justify-content:space-between;margin-top:20px;padding:18px}.menu-button{background:0 0;border:0;padding:13px 0 13px 14px;font-size:10px;display:block}.theme-button{width:35px}.hero{padding-top:25px}.hero-topline .eyebrow{letter-spacing:.6px;font-size:7px}.hero-edition{font-size:6px}.hero-layout{flex-direction:column;align-items:stretch;gap:0;padding-top:45px;padding-bottom:8px;display:flex}.hero-intro{margin-bottom:19px;font-size:13px}h1{font-size:clamp(72px,15.6vw,110px)}h1,h1 .serif-word{letter-spacing:-5px}.hero-description{margin-top:25px;font-size:13px;line-height:1.9}.hero-actions{flex-direction:row;align-items:center;gap:20px;margin-top:25px}.hero-actions .button{gap:14px;padding:15px;font-size:10px}.hero-actions .text-link{gap:8px;font-size:10px}.hero-art{height:345px;margin-top:20px}.orbit-scene{inset:5px 0}.orbit-sphere{width:250px;height:250px}.coordinate-top{font-size:6px;top:0;left:0}.coordinate-bottom{font-size:6px;bottom:9px}.orbit-star{width:45px;top:25px;right:15%}.cross-one{top:80px;right:12px}.cross-two{bottom:50px;left:8%}.art-badge{padding:12px 16px;bottom:22px;left:5%}.art-badge>span:last-child{font-size:7px}.hero-bottom{gap:15px;padding-block:22px}.signature-line{display:none}.scroll-cue{gap:12px;font-size:6px}.scroll-cue>span{font-size:16px}.profile-signature{gap:10px;font-size:10px}.profile-signature>div>span{font-size:8px}.profile-signature img{width:33px;height:33px}.discipline-strip{margin-top:12px}.discipline-strip>.shell{flex-wrap:wrap;justify-content:center;gap:10px;padding-block:18px}.discipline-strip span{letter-spacing:.4px;font-size:7px}.discipline-strip svg{width:12px}.discipline-strip svg:last-child{display:none}.eyebrow{font-size:8px}.section-label{gap:12px;margin-bottom:22px}.section-heading{margin-bottom:32px;display:block}.section-heading>p{margin-top:22px;font-size:12px}.project{grid-template-columns:1fr;gap:27px;margin-bottom:45px}.project-visual{height:330px}.project-browser{width:76%;height:270px;top:65px;left:12%}.visual-topline{top:22px;right:20px}.visual-category,.visual-topline{font-size:6px;left:20px}.project-details{padding-inline:2px}.project-details h3{margin-block:15px;font-size:29px}.project-number{font-size:8px}.project-details p{max-width:100%;font-size:12px}.tech-tags{margin-top:19px}.project-links{gap:25px;margin-top:23px}.weather-art{inset:15px 40px}.weather-sun{width:125px;height:125px;top:53px;left:20%}.cloud-front{width:155px;height:60px;top:145px;left:24%}.cloud-back{top:85px;right:7%}.weather-temp{font-size:83px;bottom:30px;right:7%}.weather-caption{font-size:6px;bottom:45px}.all-projects{gap:25px;padding-block:22px;font-size:10px}.about-grid{grid-template-columns:1fr;gap:35px}.about-portrait{width:100%;max-width:440px;height:420px}.about-copy h2{font-size:50px}.about-copy>p:not(.eyebrow){font-size:12px}.about-copy>.about-lead{font-size:14px!important}.skills-heading{gap:15px;margin-top:50px}.skills-heading>.eyebrow{letter-spacing:.4px;font-size:7px}.skills-grid{grid-template-columns:1fr}.skill-card{padding:25px 0!important}.skill-card+.skill-card{border-left:none;border-top:1px solid var(--line)}.skill-card h3{margin-top:14px;font-size:20px}.skill-card p{max-width:100%}.skill-card .tech-tags>span{font-size:8px}.contact-top>svg{width:42px}.contact-top .section-label{margin:0}.contact-body{flex-direction:column;align-items:flex-start;gap:28px;margin-top:30px}.contact-body h2{letter-spacing:-4px;font-size:64px}.contact-aside{max-width:100%}.contact-aside p{font-size:12px}.contact-bottom{flex-direction:column;align-items:flex-start;gap:20px;margin-top:28px;padding-top:24px}.email-link{gap:15px;font-size:20px}.email-link svg{width:16px}.footer-main{flex-wrap:wrap;gap:15px;padding-block:30px}.footer-brand{font-size:55px}.footer-main>p{font-size:10px}.footer-socials{order:4;gap:25px;width:100%;margin-top:12px}.back-top{width:34px;height:34px;margin-left:auto}.footer-bottom{flex-wrap:wrap;gap:13px;font-size:7px}.footer-bottom>span:nth-child(2){display:none}.footer-bottom>a{margin-left:auto}}@media (max-width:365px){.shell{width:calc(100% - 32px)}.hero-actions{gap:12px}.hero-actions .text-link{font-size:9px}.hero-actions .button{gap:10px;padding:13px;font-size:9px}.hero-art{height:310px}.orbit-sphere{width:225px;height:225px}.email-link{font-size:18px}.project-visual{height:295px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal-ready{opacity:1;transform:none}}.privacy-page{max-width:850px;padding-block:65px 100px}.privacy-page>.section-label{margin-top:45px}.privacy-page h1{letter-spacing:-3px;font-size:clamp(42px,6vw,70px)}.privacy-content{margin-top:50px}.privacy-content section+section{margin-top:35px}.privacy-content h2{letter-spacing:-.8px;margin-bottom:14px;font-size:23px;line-height:1.3}.privacy-content p{color:var(--muted);font-size:14px;line-height:1.9}:root[data-theme=light] .orbit-ring{box-shadow:none;border-color:#b94e2d}:root[data-theme=light] .orbit-ring:nth-child(3n){border-color:#d96a42}:root[data-theme=light] .orbit-center{color:#a9381e;text-shadow:none}.hero-line{display:block}.hero-line>span{display:inline-block}.orbit-float{transform-style:preserve-3d;position:relative}.discipline-strip{overflow:hidden}.discipline-track{width:max-content;display:flex}.discipline-group{flex:none;justify-content:space-around;align-items:center;gap:48px;min-width:max(100vw,1100px);padding:24px;display:flex}.discipline-group svg{flex-shrink:0}.reading-progress{background:var(--accent);z-index:60;height:2px;transform:scaleX(var(--scroll-progress,0));transform-origin:0;pointer-events:none;position:fixed;inset:0 0 auto}.motion-control{right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));z-index:35;background:var(--bg);min-height:44px;color:var(--muted);border:1px solid var(--line);border-radius:30px;align-items:center;gap:9px;padding:12px 15px;font-size:10px;transition:color .2s,border-color .2s;display:flex;position:fixed;box-shadow:0 4px 20px #0002}.motion-control:hover{color:var(--fg);border-color:var(--accent)}.motion-control svg{color:var(--accent)}@media (prefers-reduced-motion:no-preference){.hero-line{clip-path:inset(-15% -5% -25%)}.hero-line>span{animation:headline-rise 1.2s cubic-bezier(.16,1,.3,1) both}.hero-line:nth-child(2)>span{animation-delay:.14s}.hero-intro{animation:soft-entrance .8s 50ms both}.hero-description{animation:soft-entrance 1s .35s both}.hero-actions{animation:soft-entrance 1s .5s both}.orbit-float{animation:orbit-float 7s ease-in-out infinite}.orbit-sphere{animation:orbit-turn 32s linear infinite}.orbit-star{animation:star-turn 24s linear infinite}.orbit-glow{animation:glow-breathe 6s ease-in-out infinite}.art-badge{animation:badge-float 7s ease-in-out infinite}.orbit-center{animation:code-float 7s ease-in-out infinite}.scroll-cue>span{animation:scroll-nudge 2.4s ease-in-out infinite}.status-dot{animation:status-breathe 3s ease-in-out infinite}.discipline-track{animation:discipline-drift 46s linear infinite}.discipline-strip:hover .discipline-track{animation-play-state:paused}.cloud-front{animation:cloud-drift 8s ease-in-out infinite}.cloud-back{animation:cloud-drift 11s ease-in-out infinite reverse}.weather-sun{animation:sun-float 10s ease-in-out infinite}.project-visual{transform:perspective(1000px)rotateX(calc(var(--pointer-y,0)*-5deg))rotateY(calc(var(--pointer-x,0)*5deg));transition:transform .55s cubic-bezier(.22,1,.36,1)}.project-visual:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff24,#0000);width:50%;position:absolute;inset:-30% auto -30% -70%;transform:skew(-25deg)}.project-visual:focus-visible:after,.project-visual:hover:after{animation:project-sheen 1.1s ease-out both}.project-visual:focus-visible .project-browser{transform:rotate(-3deg)translateY(-5px)}.hero-art .orbit-scene{transform:translate3d(calc(var(--pointer-x,0)*22px),calc(var(--pointer-y,0)*16px + var(--hero-scroll,0)*35px),0);transition:transform .7s cubic-bezier(.22,1,.36,1)}.hero-art .art-badge{translate:calc(var(--pointer-x,0)*-14px)calc(var(--pointer-y,0)*-10px);transition:translate .7s cubic-bezier(.22,1,.36,1)}.all-projects svg,.button svg,.project-links svg,.text-link svg{transition:transform .3s cubic-bezier(.22,1,.36,1)}.all-projects:hover svg,.button:hover svg,.project-links a:hover svg,.text-link:hover svg{transform:translate(3px,-3px)}.skill-card{transition:transform .35s}.skill-card:hover{transform:translateY(-6px)}.reveal-ready{transition-duration:.9s;transition-timing-function:cubic-bezier(.16,1,.3,1)}.reveal-ready .project-details{opacity:0;transition:opacity .8s .12s,transform 1s cubic-bezier(.16,1,.3,1) .12s;transform:translateY(24px)}.reveal-ready.is-visible .project-details{opacity:1;transform:translateY(0)}.skills-grid .skill-card:nth-child(2){transition-delay:80ms}.skills-grid .skill-card:nth-child(3){transition-delay:.16s}:root[data-motion=paused] *,:root[data-page-hidden=true] *,[data-ambient][data-in-view=false],[data-ambient][data-in-view=false] *{animation-play-state:paused!important}:root[data-motion=paused] .hero-art .orbit-scene,:root[data-motion=paused] .project-visual{transform:none}:root[data-motion=paused] .hero-art .art-badge{translate:none}}@keyframes headline-rise{0%{opacity:0;transform:translateY(110%)rotate(3deg)}to{opacity:1;transform:translateY(0)rotate(0)}}@keyframes soft-entrance{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes orbit-turn{0%{transform:rotate(-30deg)rotateX(32deg)rotateY(-18deg)}to{transform:rotate(330deg)rotateX(32deg)rotateY(342deg)}}@keyframes orbit-float{0%,to{transform:translateY(-8px)}50%{transform:translateY(10px)}}@keyframes star-turn{0%{transform:rotate(10deg)}to{transform:rotate(370deg)}}@keyframes glow-breathe{0%,to{opacity:.5;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}@keyframes badge-float{0%,to{transform:translateY(4px)rotate(-6deg)}50%{transform:translateY(-8px)rotate(-3deg)}}@keyframes code-float{0%,to{transform:translateY(-8px)rotate(-16deg)}50%{transform:translateY(10px)rotate(-10deg)}}@keyframes scroll-nudge{0%,55%,to{transform:translateY(0)}75%{transform:translateY(6px)}}@keyframes status-breathe{0%,to{opacity:.55}50%{opacity:1}}@keyframes discipline-drift{to{transform:translate(-50%)}}@keyframes cloud-drift{0%,to{transform:translate(-9px)}50%{transform:translate(9px)}}@keyframes sun-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes project-sheen{0%{transform:skew(-25deg)translate(0)}to{transform:skew(-25deg)translate(450%)}}@media (max-width:760px){.discipline-group{gap:25px;min-width:760px;padding:20px}.discipline-group span{font-size:10px}.discipline-group svg{width:16px}.discipline-group svg:last-child{display:block}.motion-control{right:12px;bottom:max(12px,env(safe-area-inset-bottom));padding:11px 12px;font-size:9px}.footer-bottom{padding-bottom:75px}}@media (prefers-reduced-motion:reduce){.motion-control{display:none}.discipline-track{width:100%}.discipline-group{flex-wrap:wrap;gap:16px;width:100%;min-width:0}.discipline-group:not(:first-child){display:none}}.main-nav a[aria-current=location],.main-nav a[aria-current=location]>span{color:var(--accent)}.main-nav a[aria-current=location]:not(.nav-contact):before{content:"";background:currentColor;border-radius:50%;width:4px;height:4px}.hero-stack{color:var(--muted);font:9px var(--font-geist-mono),monospace;align-items:center;gap:14px;margin-top:30px;display:flex}.hero-stack>span:first-child{letter-spacing:.8px;padding-right:4px;font-size:7px}.hero-stack>span:not(:first-child){border-left:1px solid var(--line);padding-left:14px}.hero-art-grid{opacity:.3;background-image:radial-gradient(var(--muted).75px,transparent .75px);background-size:22px 22px;position:absolute;inset:30px 0;-webkit-mask-image:radial-gradient(#000 5%,#0000 68%);mask-image:radial-gradient(#000 5%,#0000 68%)}.orbit-node{background:var(--bg);color:var(--muted);border:1px solid var(--line);font:8px var(--font-geist-mono),monospace;letter-spacing:1px;border-radius:3px;align-items:center;gap:9px;padding:10px 13px;display:flex;position:absolute}.orbit-node>span{background:var(--accent);border-radius:50%;width:5px;height:5px;display:block}.node-one{top:21%;left:8%;transform:rotate(-7deg)}.node-two{bottom:21%;right:1%;transform:rotate(6deg)}.project-featured{margin-bottom:85px;display:block}.project-featured .project-visual{isolation:isolate;border-radius:8px;height:540px}.project-featured .level-visual{background:radial-gradient(at 80% 20%,#f2e6ff 0,#d1cce7 45%,#b6b0d3 100%)}.project-featured .visual-topline{font-size:9px;top:30px;left:35px;right:35px}.project-cover-type{letter-spacing:-10px;color:#3f3554;font-size:clamp(95px,12vw,165px);font-weight:700;line-height:.85;position:absolute;top:90px;left:45px}.project-cover-type>span{color:#0000;-webkit-text-stroke:1px #65577c}.project-featured .project-browser{border-radius:9px;width:59%;height:540px;top:80px;left:34%;transform:rotate(-7deg);box-shadow:0 30px 60px #32274e4d}.project-featured .project-visual:focus-visible .project-browser,.project-featured .project-visual:hover .project-browser{transform:rotate(-4deg)translateY(-10px)}.project-featured .browser-bar{height:31px}.project-featured .browser-bar>span{letter-spacing:1px;font-size:7px}.project-featured .visual-category{font-size:8px;bottom:25px;left:35px}.project-featured .visual-open{background:#f1eaff;width:42px;height:42px;bottom:23px;right:30px}.project-cover-note{color:#3f3554;align-items:center;gap:14px;display:flex;position:absolute;bottom:78px;left:45px}.project-cover-note>span:last-child{font:9px/1.9 var(--font-geist-mono),monospace;letter-spacing:.7px}.project-cover-note strong{font-weight:600}.cover-note-icon{font-size:50px;font-weight:300;line-height:1}.project-featured .project-details{grid-template-columns:1fr 1fr;gap:60px;padding:35px 0 29px;display:grid}.project-featured .project-details h3{justify-content:flex-start;gap:35px;margin-top:18px;font-size:46px}.project-featured .project-details h3>span{font-size:28px}.project-featured .project-details p{max-width:none;font-size:14px}.project-featured .project-links{margin-top:25px}.project-case{border-block:1px solid var(--line);grid-column:1/-1}.project-case summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-size:12px;list-style:none;display:flex}.project-case summary::-webkit-details-marker{display:none}.project-case summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}.project-case summary:hover{color:var(--accent)}.case-subtitle{font:8px var(--font-geist-mono),monospace;letter-spacing:.6px;color:var(--muted);margin-left:22px;display:inline-block}.case-toggle{color:var(--accent);font-size:23px;font-weight:300;transition:transform .25s}.project-case[open] .case-toggle{transform:rotate(45deg)}.case-content{grid-template-columns:1fr 1fr 1fr;gap:32px;padding:12px 0 35px;display:grid}.case-content .eyebrow{color:var(--accent);letter-spacing:.6px;font-size:8px}.case-content h4{letter-spacing:-.6px;text-wrap:balance;margin:15px 0 0;font-size:19px;font-weight:400;line-height:1.5}.case-content p{color:var(--muted);margin-top:15px;font-size:12px;line-height:1.9}.project-weather{grid-template-columns:1fr 1.2fr;gap:35px 65px;margin-bottom:45px}.project-weather>.project-visual{border-radius:7px;grid-area:1/2;height:425px}.project-weather>.project-details{grid-area:1/1}.project-weather .project-details h3{font-size:36px;line-height:1.15}.project-weather .weather-art{inset:45px 40px}.project-weather .weather-sun{width:165px;height:165px}.project-weather .cloud-front{top:175px}.project-weather .weather-temp{bottom:25px}.project-snake{gap:35px 55px;margin-top:70px;scroll-margin-top:110px}.snake-visual{color:#dce6cf;background:radial-gradient(at 45% 45%,#47654b,#18261d 85%);border:1px solid #49614c;border-radius:7px;height:425px}.snake-preview{justify-content:center;align-items:center;display:flex;position:absolute;inset:59px 28px 57px}.snake-preview img{border-radius:12px;width:auto;max-width:100%;height:auto;max-height:100%;display:block;box-shadow:0 20px 45px #0005}.snake-visual .visual-open{border-color:#dce6cf55}@media (max-width:760px){.project-snake{gap:24px;margin-top:45px}.snake-visual{height:340px}.snake-preview{inset:55px 20px}}.project-hover-label{left:calc(50% + var(--pointer-x,0)*27%);top:calc(50% + var(--pointer-y,0)*27%);color:#23251f;width:102px;height:102px;font:8px var(--font-geist-mono),monospace;letter-spacing:1px;pointer-events:none;opacity:0;z-index:4;background:#efeee6;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:8px;transition:opacity .25s,transform .35s,left .45s,top .45s;display:flex;position:absolute;transform:scale(.7);box-shadow:0 8px 40px #0002}@media (hover:hover) and (pointer:fine){.project-visual:hover .project-hover-label{opacity:1;transform:scale(1)}}.contact-section{--fg:#26251f;--muted:#4b342b;--accent:#26251f;--bg:#f58a61;--line:#33261f3d;isolation:isolate;background:var(--bg);color:var(--fg);border-radius:8px;margin-top:85px;margin-bottom:85px;padding:52px 55px 38px;position:relative;overflow:hidden}.contact-section::selection{color:#f58a61;background:#26251f}.contact-section .contact-body,.contact-section .contact-bottom,.contact-section .contact-top{z-index:1;position:relative}.contact-section .contact-top>svg{width:48px}.contact-section .contact-body{margin-top:38px;display:block}.contact-section .contact-body h2{letter-spacing:-4.5px;max-width:100%;font-size:clamp(48px,6.3vw,88px)}.contact-section .serif-word{color:var(--fg)}.contact-section .contact-aside{justify-content:space-between;align-items:center;gap:30px;max-width:none;margin-top:35px;padding:0;display:flex}.contact-section .contact-aside p{color:#3f3028;margin:0;font-size:13px}.contact-section .button-primary,:root[data-theme=light] .contact-section .button-primary{color:#fff0e5;background:#26251f}.contact-section .button-primary:hover{background:#453b31}.contact-section .contact-bottom{margin-top:38px;padding-top:27px}.contact-section .email-link{font-size:18px}.contact-section .email-link:hover{color:#603526}.contact-section .copy-button{color:#26251f;background:#ffffff12}.contact-section .copy-button:hover{background:#ffffff30}.contact-watermark{z-index:0;letter-spacing:-15px;color:#813e1c0a;white-space:nowrap;pointer-events:none;font-size:clamp(100px,17vw,230px);font-weight:600;line-height:1;position:absolute;inset:auto -12px -36px auto}.copy-error{width:100%;font-size:11px}.contact-section .contact-bottom:has(.copy-error){flex-wrap:wrap}@media (prefers-reduced-motion:no-preference){.orbit-node.node-one{animation:node-one-drift 8s ease-in-out infinite}.orbit-node.node-two{animation:node-two-drift 9s ease-in-out infinite}.hero-stack{animation:soft-entrance 1s .65s both}.contact-top>svg{animation:star-turn 30s linear infinite}.project-case[open] .case-content{animation:soft-entrance .4s both}}@keyframes node-one-drift{0%,to{transform:translateY(0)rotate(-7deg)}50%{transform:translateY(-9px)rotate(-3deg)}}@keyframes node-two-drift{0%,to{transform:translateY(0)rotate(6deg)}50%{transform:translateY(9px)rotate(2deg)}}@media (max-width:1100px){.project-featured .project-visual{height:470px}.project-featured .project-browser{width:58%;top:85px;left:36%}.project-cover-type{font-size:120px;left:30px}.project-cover-note{bottom:65px;left:30px}.project-weather{gap:30px}.project-weather .project-details h3{font-size:29px}.project-weather .weather-temp{right:4%}.case-subtitle{margin-left:15px;font-size:7px}.hero-stack{gap:10px;font-size:8px}.hero-stack>span:first-child{font-size:6px}.hero-stack>span:not(:first-child){padding-left:10px}}@media (max-width:760px){.hero-stack{flex-wrap:wrap;gap:10px;margin-top:26px;font-size:8px}.hero-stack>span:first-child{font-size:6px}.hero-art{margin-top:28px}.hero-art-grid{inset:10px 0}.node-one{top:18%;left:0}.node-one,.node-two{padding:8px 10px;font-size:6px}.node-two{bottom:25%;right:0}.orbit-node>span{width:4px;height:4px}.project-featured{margin-bottom:55px}.project-featured .project-visual{height:390px}.project-featured .visual-topline{font-size:6px;top:22px;left:20px;right:20px}.project-cover-type{letter-spacing:-6px;font-size:85px;top:60px;left:20px}.project-featured .project-browser{width:72%;height:350px;top:118px;left:29%}.project-featured .browser-bar{height:23px}.project-featured .browser-bar>span{letter-spacing:0;font-size:5px}.project-cover-note{gap:8px;bottom:64px;left:20px}.project-cover-note>span:last-child{font-size:5px}.cover-note-icon{font-size:29px}.project-featured .visual-category{max-width:220px;font-size:5px;line-height:1.7;bottom:19px;left:20px}.project-featured .visual-open{width:32px;height:32px;bottom:17px;right:16px}.project-featured .project-details{padding:26px 0 22px;display:block}.project-featured .project-details h3{gap:25px;margin-top:13px;font-size:35px}.project-featured .project-details p{font-size:12px}.project-title-block{margin-bottom:15px}.project-featured .project-links{margin-top:22px}.project-case summary{padding:18px 0;font-size:11px}.case-subtitle{display:none}.case-content{grid-template-columns:1fr;gap:23px;padding:8px 0 25px}.case-content h4{margin-top:10px;font-size:19px}.case-content p{margin-top:10px}.project-weather{flex-direction:column;align-items:stretch;gap:24px;display:flex}.project-weather>.project-visual{height:350px}.project-weather>.project-details{padding:0}.project-weather .weather-art{inset:15px 35px}.project-weather .weather-sun{width:125px;height:125px}.project-weather .cloud-front{top:145px}.project-weather .weather-temp{bottom:30px;right:7%}.contact-section{border-radius:6px;margin-block:50px;padding:30px 24px}.contact-section .contact-top>svg{width:34px}.contact-section .contact-body{margin-top:33px}.contact-section .contact-body h2{letter-spacing:-2.8px;font-size:clamp(46px,11vw,70px);line-height:1.12}.contact-section .contact-aside{flex-direction:column;align-items:flex-start;gap:23px;margin-top:27px}.contact-section .contact-aside p{font-size:12px}.contact-section .contact-bottom{gap:20px;margin-top:30px;padding-top:24px}.contact-section .email-link{gap:8px;font-size:15px}.contact-section .email-link svg{width:13px}.contact-watermark{letter-spacing:-6px;font-size:83px;bottom:-7px;right:-5px}.project-hover-label{display:none}}@media (max-width:365px){.hero-stack{gap:7px}.hero-stack>span:not(:first-child){padding-left:7px}.contact-section{padding-inline:20px}.contact-section .email-link{font-size:13px}}@media (prefers-reduced-motion:reduce){.project-hover-label{display:none}}.contact-section .button-primary{white-space:nowrap;flex-shrink:0}@media (prefers-reduced-motion:no-preference){.contact-watermark{transform:translate3d(calc(var(--pointer-x,0)*-10px),calc(var(--pointer-y,0)*-6px),0);transition:transform .7s cubic-bezier(.22,1,.36,1)}:root[data-motion=paused] .contact-watermark{transform:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}