@font-face{font-family:Geist;src:url(/fonts/geist/geist-sans.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/geist/geist-sans-italic.woff2) format("woff2");font-style:italic;font-weight:100 900;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist/geist-mono.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{color-scheme:dark;--micro-size: .76rem;--header-height: 5.5rem;--footer-height: 4.8rem;--home-intro-size: clamp(2.8rem, 4.8vw, 6rem)}html,body,#root{height:100%;overflow:hidden;background:#020202}body{margin:0;font-family:Geist,Arial,sans-serif}.maintenance-loading{width:100%;height:100dvh;background:#020202}.maintenance-home{position:absolute;inset:var(--header-height) 0 3.8rem;display:grid;place-content:center;padding:2rem;text-align:center}.maintenance-astronaut{position:absolute;z-index:-1;top:50%;left:50%;width:min(54vw,46rem);opacity:.68;transform:translate(-50%,-50%);animation:astronaut-float 9s ease-in-out infinite}.maintenance-kicker,.maintenance-footer{font:700 var(--micro-size)/1.3 "Geist Mono",monospace;letter-spacing:.15em}.maintenance-kicker{margin:0 0 1.5rem;color:#bbb}.maintenance-home h1{margin:0;font:800 clamp(3.4rem,9vw,9.5rem)/.82 "Geist",sans-serif;letter-spacing:-.075em;text-transform:uppercase}.maintenance-home h1 em{color:#a8a8a8;font-weight:300}.maintenance-copy{margin:2rem auto 0;color:#eee;font-size:clamp(.9rem,1.25vw,1.15rem);line-height:1.6}.maintenance-footer{position:fixed;right:0;bottom:0;left:0;min-height:3.8rem;display:flex;align-items:center;justify-content:center;gap:.7rem;border-top:1px solid rgba(255,255,255,.2);background:#020202e0;color:#ccc;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}@media(max-width:760px){.maintenance-astronaut{width:min(118vw,37rem)}.maintenance-home h1{font-size:clamp(3rem,16vw,5.2rem)}.maintenance-page .v2-quote{display:none}}button,a{-webkit-tap-highlight-color:transparent}.v2-shell{position:relative;height:100dvh;overflow:hidden;background:#020202;color:#fff;isolation:isolate}.galaxy-vortex,.galaxy-stars,.space-vignette{position:fixed;top:-18%;right:-18%;bottom:-18%;left:-18%;width:136%;height:136%;pointer-events:none}.galaxy-vortex{overflow:hidden;background:url(/images/v2/andromeda-galaxy.jpg) 50% 50% / cover no-repeat;filter:grayscale(1) contrast(1.18) brightness(.56);opacity:.82;mix-blend-mode:normal;transform:none}.galaxy-vortex:before,.galaxy-vortex:after{display:none;content:"";position:absolute;pointer-events:none;top:4%;right:-14%;bottom:4%;left:-14%;border-radius:50%;transform:rotate(-19deg) scale(1.12,.58)}.galaxy-vortex:before{background:repeating-conic-gradient(from 12deg at 50% 50%,transparent 0deg 17deg,rgba(38,128,194,.2) 20deg 27deg,rgba(97,182,218,.16) 29deg 34deg,transparent 38deg 62deg),radial-gradient(ellipse 19% 35% at 50% 50%,rgba(255,236,187,.98) 0 12%,rgba(232,154,83,.78) 26%,rgba(134,62,43,.32) 49%,transparent 75%),radial-gradient(ellipse 48% 40% at 50% 50%,rgba(26,104,165,.48),transparent 70%);-webkit-mask-image:radial-gradient(ellipse 49% 34% at 50% 50%,#000 0 52%,transparent 92%);mask-image:radial-gradient(ellipse 49% 34% at 50% 50%,#000 0 52%,transparent 92%);filter:blur(11px) saturate(1.3);opacity:.95}.galaxy-vortex:after{top:15%;right:-10%;bottom:15%;left:-10%;background:linear-gradient(162deg,transparent 39%,rgba(10,8,12,.58) 43%,transparent 47%),linear-gradient(18deg,transparent 48%,rgba(18,10,13,.46) 52%,transparent 56%),radial-gradient(ellipse 13% 27% at 50% 50%,#fff8d9 0 12%,rgba(255,197,111,.92) 25%,rgba(196,91,55,.5) 47%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 39% 27% at 50% 50%,#000 0 45%,transparent 88%);mask-image:radial-gradient(ellipse 39% 27% at 50% 50%,#000 0 45%,transparent 88%);filter:blur(5px);opacity:.9}.galaxy-stars{z-index:-3;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.space-vignette{z-index:-2;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 52% 44%,transparent 10%,rgba(0,0,0,.2) 52%,rgba(0,0,0,.86) 100%)}.content-contrast{position:fixed;z-index:0;top:0;right:0;bottom:0;left:0;pointer-events:none;background:#0000;transition:background .5s ease}.content-contrast.is-visible{background:linear-gradient(90deg,#0009,#0000006b 48%,#0000008f),#00000029}.v2-header{position:fixed;z-index:30;top:0;right:0;left:0;height:var(--header-height);border-bottom:1px solid rgba(255,255,255,.2);background:#020202e0;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.v2-mark{position:absolute;z-index:20;top:50%;left:2.5rem;margin:0;font:700 .78rem/1 Geist Mono,monospace;letter-spacing:.14em;color:#fff;text-decoration:none;transform:translateY(-50%)}.panel-stage{position:absolute;z-index:1;top:var(--header-height);right:0;bottom:var(--footer-height);left:0;height:auto;overflow:hidden;animation:panel-arrive .7s cubic-bezier(.16,1,.3,1) both}.panel-stage.is-leaving:not(:has(.home-panel)){animation:panel-depart .36s cubic-bezier(.7,0,.84,0) both}@keyframes panel-arrive{0%{opacity:0;transform:scale(.45);filter:blur(12px)}to{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes panel-depart{to{opacity:0;transform:scale(.45);filter:blur(12px)}}.v2-panel{position:relative;height:100%;padding:0 clamp(2rem,7vw,8rem)}.panel-content{height:100%;width:100%;max-width:none;overflow-x:hidden;overflow-y:auto;padding:clamp(2rem,5vh,4rem) 0 4rem;scrollbar-color:rgba(255,255,255,.35) transparent;scrollbar-width:none}.panel-content::-webkit-scrollbar{width:0;height:0;display:none}.panel-content:after{content:"";display:block;height:1px}.panel-heading{min-height:min(42vh,30rem);display:flex;flex-direction:column;justify-content:center}.panel-eyebrow,.keyboard-hint,.nav-arrows,.v2-nav{font-family:Geist Mono,monospace;text-transform:uppercase;letter-spacing:.14em}.panel-eyebrow{margin:0 0 1.5rem;color:#bcbcbc;font-size:.72rem}.panel-heading h1{max-width:66rem;margin:0;font-size:clamp(3.2rem,8.7vw,9rem);font-weight:500;letter-spacing:-.07em;line-height:.84}.panel-heading h1 em{color:#bfbfbf;font-family:Geist,sans-serif;font-style:italic;font-weight:400}.panel-copy{max-width:64rem;margin-top:clamp(2rem,6vh,5rem);color:#d2d2d2;font-size:clamp(1rem,1.55vw,1.35rem);line-height:1.65}.two-column{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(2rem,7vw,8rem)}.home-panel{position:relative;display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:center;padding:clamp(4rem,8vh,6rem) clamp(2rem,7vw,8rem) 7rem}.home-visitor{position:absolute;z-index:3;top:clamp(2rem,7vh,5rem);left:50%;margin:0;color:#fff;display:flex;align-items:center;gap:.3em;font:800 var(--home-intro-size)/.9 "Geist",sans-serif;letter-spacing:-.04em;text-transform:uppercase;transform:translate(-50%);white-space:nowrap}.home-intro{align-self:center;margin:0;padding-left:3vw;font-size:var(--home-intro-size);font-weight:800;line-height:.92}.flip-counter{display:inline-block;font-variant-numeric:tabular-nums;min-width:3em;text-align:center;animation:digit-flip .12s ease-out}@keyframes digit-flip{0%{opacity:.25;transform:rotateX(80deg) translateY(-.2em)}to{opacity:1;transform:rotateX(0) translateY(0)}}.home-intro p,.home-name p{margin:0}.home-name{z-index:2;justify-self:start;font-size:clamp(2.8rem,6vw,7rem);font-weight:850;letter-spacing:-.055em;line-height:.86}.home-chryston{font-size:1.1em}.astronaut-frame{position:relative;z-index:1;width:min(52vw,48rem);max-height:84vh;justify-self:center;display:grid;place-items:center;isolation:isolate;animation:astronaut-float 9s ease-in-out infinite}.astronaut-frame:before,.astronaut-frame:after{display:none}@property --astronaut-glow-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.astronaut-frame:before{display:block;content:"";position:absolute;z-index:-1;top:-4%;right:-4%;bottom:-4%;left:-4%;pointer-events:none;background:conic-gradient(from var(--astronaut-glow-angle),transparent 0deg 285deg,rgba(255,255,255,.04) 326deg,rgba(255,255,255,.28) 346deg,rgba(255,255,255,.8) 356deg,transparent 360deg);-webkit-mask:url(/images/v2/astronaut.png) center / contain no-repeat;mask:url(/images/v2/astronaut.png) center / contain no-repeat;filter:blur(2px) drop-shadow(0 0 5px rgba(255,255,255,.65));opacity:.68;animation:astronaut-silhouette-run 3.4s linear infinite}@keyframes astronaut-silhouette-run{to{--astronaut-glow-angle: 360deg}}.astronaut{width:100%;max-height:84vh;-o-object-fit:contain;object-fit:contain;filter:grayscale(1) contrast(1.08) drop-shadow(0 0 2px rgba(255,255,255,.95)) drop-shadow(0 0 4px rgba(255,255,255,.45)) drop-shadow(0 1.5rem 3rem #000)}.is-transitioning .home-intro{transform:translate3d(-115vw,0,0);opacity:0}.is-transitioning .home-name{transform:translate3d(115vw,0,0);opacity:0}.is-transitioning .astronaut,.is-transitioning .astronaut-frame{transform:scale(.03) rotate(28deg);opacity:0;filter:blur(8px)}.home-intro,.home-name,.astronaut-frame,.astronaut{transition:transform .75s cubic-bezier(.7,0,.84,0),opacity .65s ease,filter .65s ease}@keyframes astronaut-float{0%,to{transform:translate3d(0,-1%,0) rotate(-4deg)}50%{transform:translate3d(2%,2.5%,0) rotate(1deg)}}.keyboard-hint{position:absolute;bottom:1.2rem;left:50%;display:flex;align-items:center;gap:.65rem;margin:0;color:#bcbcbc;font-size:.62rem;transform:translate(-50%)}.keyboard-hint svg{width:1rem}.v2-nav{position:fixed;z-index:20;right:0;bottom:0;left:0;height:var(--footer-height);display:grid;grid-template-columns:repeat(6,1fr);gap:.55rem;border-top:1px solid rgba(255,255,255,.2);padding:.7rem 2.5rem;background:#020202e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.nav-item{position:relative;display:flex;min-width:0;align-items:center;justify-content:center}.nav-item>button:not(.flashlight-toggle){width:100%}.v2-nav button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:2.25rem;border:1px solid transparent;padding:.5rem .65rem;background:transparent;color:#fff;cursor:pointer;border-radius:999px;font:700 clamp(.56rem,.72vw,.76rem)/1 "Geist Mono",monospace;text-transform:uppercase;transition:color .2s ease,background .2s ease,border-color .2s ease}.v2-nav button span{font-size:1rem;line-height:0;opacity:.8}.header-shooting-stars{position:absolute;z-index:22;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.shooting-group{position:absolute;top:var(--star-top);left:var(--star-left);opacity:0;animation:shooting-flight 11s linear infinite}.shooting-group.group-2{animation-delay:5.5s;animation-duration:14s}.shooting-group.group-3{animation-delay:2.8s;animation-duration:16s}.shooting-group.group-4{animation-delay:8.2s;animation-duration:12s}.shooting-group i{position:absolute;top:calc(var(--particle) * 7px);left:calc(var(--particle) * -11px);width:4rem;height:1px;background:linear-gradient(90deg,transparent,#fff);filter:drop-shadow(0 0 4px #fff);transform:rotate(var(--star-angle))}.shooting-group i:after{content:"";position:absolute;right:0;top:-1px;width:3px;height:3px;border-radius:50%;background:#fff;box-shadow:0 0 7px #fff}@keyframes shooting-flight{0%,72%{opacity:0;transform:translate(0)}74%{opacity:1}84%{opacity:0;transform:translate(var(--star-dx),var(--star-dy))}to{opacity:0;transform:translate(var(--star-dx),var(--star-dy))}}.v2-nav button:hover{border-color:#ffffff80}.v2-nav button.is-active{width:68%;min-height:1.75rem;margin-block:.25rem;justify-self:center;background:#fff;color:#050505}.detail-nav a{display:inline-flex;align-items:center;justify-content:center;min-width:0;border:1px solid transparent;border-radius:999px;padding:.5rem .65rem;color:#fff;font:700 clamp(.56rem,.72vw,.76rem)/1 "Geist Mono",monospace;text-decoration:none;text-transform:uppercase;transition:border-color .2s ease,background .2s ease,color .2s ease;text-align:center}.detail-nav a:hover,.detail-nav a:focus-visible{border-color:#ffffff80;background:#fff;color:#050505}.nav-arrows{position:absolute;z-index:21;right:2.5rem;top:50%;display:flex;align-items:center;gap:.7rem;color:#aaa;font-size:.62rem;transform:translateY(-50%)}.v2-quote{position:absolute;z-index:21;top:50%;left:50%;margin:0;color:#f0f0f0;font:400 .66rem/1.3 Geist Mono,monospace;letter-spacing:.05em;transform:translate(-50%,-50%);white-space:nowrap}.nav-arrows button{display:grid;width:2rem;height:2rem;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:50%;background:#00000059;color:#fff;cursor:pointer}.nav-arrows .header-audio-toggle{margin-right:.15rem}.nav-arrows svg{width:.85rem}.archive-toolbar{display:flex;align-items:center;justify-content:space-between;border-block:1px solid rgba(255,255,255,.35);padding:1rem 0;background:#020202db;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:#aaa;font:.65rem Geist Mono,monospace;text-transform:uppercase;letter-spacing:.12em}.archive-toolbar label{display:flex;align-items:center;gap:.65rem}.archive-toolbar svg{width:.85rem}.archive-toolbar select{border:0;background:#fff;color:#000;padding:.55rem .7rem;border-radius:999px;font:600 .65rem Geist Mono,monospace}.archive-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;border-top:1px solid rgba(255,255,255,.25);padding-top:1.25rem}.archive-entry{display:grid;grid-template-columns:7rem minmax(0,1fr) minmax(18rem,.72fr);gap:clamp(1.5rem,4vw,4rem);border-bottom:1px solid rgba(255,255,255,.25);padding:clamp(2rem,5vw,4rem) 0}.blog-index-entry{display:flex;min-height:17rem;flex-direction:column;border:1px solid rgba(255,255,255,.28);padding:0;background:#00000047;overflow:hidden}.blog-index-entry h2{max-width:none;font-size:clamp(1.8rem,2.6vw,3.2rem)}.blog-index-entry .archive-description{max-width:none;font-size:1rem}.blog-card-media{height:15rem;flex:0 0 15rem;border-bottom:1px solid rgba(255,255,255,.22);background:#ffffff09}.blog-card-media img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.blog-card-media.is-empty{background:transparent}.blog-card-body{display:flex;flex:1;flex-direction:column;padding:clamp(1.5rem,2.5vw,2.25rem)}.archive-panel .panel-heading,.apps-panel .panel-heading{min-height:0;padding:0 0 1.25rem}.about-panel .panel-heading{min-height:0;padding-top:0}.archive-panel .panel-content,.apps-panel .panel-content,.about-panel .panel-content{padding-top:0}.apps-panel .app-grid{margin-top:1rem}.sidequest-header-slideshow{--carousel-card-size: clamp(8rem, 14vw, 14rem);display:block;width:calc((var(--carousel-card-size) * 3 + 1.3rem) * var(--slideshow-scale))!important;height:calc(var(--carousel-card-size) * var(--slideshow-scale))!important;min-height:0!important;align-self:center;margin:0}.sidequest-header-slideshow>img{width:100%!important;height:100%!important;min-height:0!important;aspect-ratio:1 / 1;-o-object-fit:cover;object-fit:cover;filter:none}.media-carousel-track{display:flex;width:-moz-max-content;width:max-content;height:100%;animation:sidequest-infinite-carousel 42s linear infinite;will-change:transform}.media-carousel-track>img{flex:0 0 var(--carousel-card-size);width:var(--carousel-card-size)!important;height:var(--carousel-card-size)!important;margin-right:.65rem;-o-object-fit:cover;object-fit:cover;filter:none}.mobile-carousel-image{display:none}@keyframes sidequest-infinite-carousel{0%{transform:translate(0)}to{transform:translate(-50%)}}.desktop-sidequest-break{display:block}.archive-panel .panel-heading.has-aside h1{font-size:clamp(2.6rem,5vw,6.4rem)}a,button,select,label[for],input[type=checkbox],input[type=radio]{cursor:pointer}.blog-card-body .archive-tags{margin-top:auto;padding-top:2rem}.archive-index{display:flex;flex-direction:column;gap:.6rem;color:#aaa;font:.65rem Geist Mono,monospace}.archive-category,.section-label,.resume-entry time{margin:0 0 .75rem;color:#aaa;font:.65rem Geist Mono,monospace;text-transform:uppercase;letter-spacing:.12em}.archive-entry h2,.resume-entry h2{margin:0;font-size:clamp(1.8rem,4vw,4.4rem);letter-spacing:-.05em;line-height:.95}.archive-entry h2 a{color:inherit;transition:color .18s ease}.archive-entry h2 a:hover{color:#bdbdbd}.archive-description{margin-top:1.35rem}.archive-entry h2+p,.resume-entry h2+p{max-width:50rem;color:#e2e2e2;line-height:1.6}.archive-tags,.skills-ledger{display:flex;flex-wrap:wrap;gap:.45rem}.archive-tags span,.archive-tags a,.skills-ledger span{border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:.35rem .65rem;font:.58rem Geist Mono,monospace;text-transform:uppercase}.archive-tags a{color:#ddd}.archive-tags a:hover{border-color:#aaa;background:#ffffff1a}.app-grid,.resume-line{display:grid;max-width:75rem;margin-top:4rem;grid-template-columns:repeat(3,1fr);gap:1rem}.app-grid article,.resume-line article{min-height:12rem;border:1px solid rgba(255,255,255,.3);padding:1.5rem;background:#00000040;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-grid span,.resume-line time{font:.65rem ui-monospace,SFMono-Regular,Menlo,monospace;color:#aaa}.app-grid h2,.resume-line h2{margin:2rem 0 .75rem;font-size:clamp(1.4rem,2.5vw,2.4rem)}.app-grid h2 a{color:inherit;text-decoration:none}.app-grid h2 a:hover{color:#bdbdbd}.app-grid p,.resume-line p{margin:0;color:#e0e0e0;line-height:1.5}.placeholder-card{border-style:dashed!important}.resume-section{margin-top:5rem;border-top:1px solid rgba(255,255,255,.35)}.resume-entry{display:grid;grid-template-columns:minmax(10rem,.45fr) 1fr;gap:2rem;border-bottom:1px solid rgba(255,255,255,.25);padding:2.5rem 0}.media-slideshow{position:relative;--slideshow-scale: 1;min-height:20rem;margin:0;overflow:hidden;background:transparent}.media-slideshow>img{display:block;width:100%;height:100%;min-height:20rem;-o-object-fit:contain;object-fit:contain;filter:none}.resume-slideshow{width:100%;min-height:0;aspect-ratio:16 / 9;align-self:center}.resume-slideshow>img{min-height:0;height:100%;filter:none}.archive-panel .sidequest-header-slideshow>img{filter:none}.media-slideshow figcaption{position:absolute;right:0;bottom:0;left:0;padding:3rem 1rem 1rem;background:linear-gradient(transparent,#000000e6);color:#ddd;font:.62rem Geist Mono,monospace}.media-controls{position:absolute;top:1rem;right:1rem;display:flex;align-items:center;gap:.5rem;border-radius:999px;padding:.25rem;background:#000000b8;font:.58rem Geist Mono,monospace}.media-controls button{display:grid;width:1.8rem;height:1.8rem;place-items:center;border:0;border-radius:50%;background:transparent;color:#fff}.media-controls svg{width:.85rem}.project-media{align-self:stretch;height:clamp(18rem,26vw,24rem);min-height:0}.project-media>img{height:100%;min-height:0}.about-slideshow{width:100%;height:auto;min-height:0;aspect-ratio:16 / 9;align-self:center;margin:0}.about-slideshow>img{width:100%;height:100%;min-height:0;-o-object-fit:cover;object-fit:cover;-o-object-position:center 35%;object-position:center 35%;filter:none}.about-panel .panel-heading.has-aside{grid-template-columns:minmax(0,.9fr) minmax(30rem,1.1fr);align-items:center}.about-panel .panel-heading.has-aside h1{font-size:clamp(2.8rem,5.8vw,7rem)}.about-copy{width:100%;max-width:none;margin-bottom:6rem}.about-copy p+p{margin-top:1.5rem}.resume-hero{display:block;margin:0 0 7rem}.resume-panel .panel-heading{min-height:auto}.resume-panel .panel-content{padding-top:.75rem;padding-bottom:1.5rem}.panel-heading.has-aside{display:grid;grid-template-columns:1fr minmax(24rem,.8fr);align-items:stretch;gap:clamp(2rem,6vw,7rem)}.resume-heading-media{height:auto;min-height:0}.resume-heading-media>img{height:100%;min-height:0}.panel-heading.has-aside>div:first-child{display:flex;min-width:0;flex-direction:column;justify-content:center}.resume-panel .resume-manifesto{max-width:42rem;margin:2rem 0 0;font-size:clamp(1rem,1.55vw,1.35rem)}.resume-hero{margin-top:1.5rem}.resume-manifesto{font-size:clamp(1.25rem,2.2vw,2.1rem);line-height:1.45}.resume-contacts{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:2rem}.resume-contacts a{display:flex;align-items:center;gap:.55rem;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:.7rem 1rem;color:#fff;font:.62rem Geist Mono,monospace;text-decoration:none}.resume-contacts svg{width:.85rem}.resume-v1-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(17rem,1fr);gap:clamp(3rem,8vw,8rem);align-items:start}.resume-v1-grid>div>.section-label:first-child,.resume-skills{border-top:1px solid rgba(255,255,255,.28);padding-top:2rem}.resume-v1-entry{border-top:1px solid rgba(255,255,255,.28);padding:2rem 0}.resume-v1-heading{display:flex;justify-content:space-between;gap:2rem}.resume-v1-heading h2{margin:0;font-size:1.15rem}.resume-v1-heading p,.resume-v1-heading time,.resume-v1-heading span{margin:.35rem 0 0;color:#aaa;font:.6rem Geist Mono,monospace}.resume-v1-heading>div:last-child{display:flex;flex-direction:column;align-items:flex-end}.resume-v1-entry ul{padding:0;list-style:none;color:#bbb;font-size:.88rem;line-height:1.65}.resume-v1-entry>p{color:#aaa;font-size:.82rem}.education-label{margin-top:4rem}.resume-skills{min-width:0}.resume-skills section{margin-bottom:2rem}.resume-skills section>p{color:#aaa;font:.62rem Geist Mono,monospace;text-transform:uppercase}.resume-skills section>div{display:flex;flex-wrap:wrap;gap:.45rem;color:#bbb;font-size:.8rem;line-height:1.6}.resume-skills section>div span{border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:.35rem .55rem}.resume-note{border-top:1px solid rgba(255,255,255,.25);padding-top:1.5rem}.app-skills{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.4rem}.app-skills a{border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:.35rem .55rem;color:#ddd;font:var(--micro-size) "Geist Mono",monospace;text-decoration:none}::-moz-selection{background:#8a8a8a!important;color:#fff!important}::selection{background:#8a8a8a!important;color:#fff!important}html body *::-moz-selection{background:#8a8a8a!important;color:#fff!important}html body *::selection,html body *::-moz-selection{background:#8a8a8a!important;color:#fff!important}html,body{scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar{width:0;height:0;display:none}.detail-shell{height:auto;min-height:100dvh;overflow:visible}.detail-shell .v2-mark{position:absolute;top:50%;transform:translateY(-50%)}.detail-header{position:fixed;z-index:40;top:0;right:0;left:0;height:var(--header-height);border-bottom:1px solid rgba(255,255,255,.2);background:#020202e6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.detail-header .detail-back{position:absolute;top:50%;right:2.5rem;transform:translateY(-50%)}html:has(.detail-shell),body:has(.detail-shell),#root:has(.detail-shell){height:auto;min-height:100%;overflow:visible}.v2-detail{position:relative;z-index:2;width:100%;margin:0;padding:calc(var(--header-height) + 1.5rem) clamp(1.5rem,7vw,8rem) 9rem}.detail-back{color:#ccc;font:var(--micro-size) "Geist Mono",monospace;text-decoration:none}.v2-detail header{padding:clamp(1.5rem,4vh,3.5rem) 0}.v2-detail header>p:first-child,.detail-heading-copy>p:first-child{color:#aaa;font:var(--micro-size) "Geist Mono",monospace;text-transform:uppercase}.v2-detail header h1{max-width:70rem;margin:1rem 0 2rem;font-size:clamp(3rem,8vw,8rem);line-height:.9;letter-spacing:-.065em}.v2-detail header h1+p{max-width:55rem;color:#bbb;font-size:clamp(1.1rem,2vw,1.55rem)}.sidequest-detail>header{border-bottom:1px solid rgba(255,255,255,.32);padding-bottom:2.25rem}.sidequest-detail>header.has-archive-image{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(18rem,.65fr);align-items:stretch;gap:clamp(2rem,5vw,6rem)}.detail-heading-copy{align-self:center}.detail-archive-image{min-height:0;aspect-ratio:1;margin:0;overflow:hidden;border:1px solid rgba(255,255,255,.25);background:#ffffff0a}.detail-archive-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;filter:none}.sidequest-detail>.blog-content{margin-top:2.25rem}.blog-content{max-width:78rem;margin:0 auto;color:#e7e7e7;font-size:clamp(1rem,1.35vw,1.22rem);line-height:1.75}.blog-content>*+*{margin-top:1.5rem}.blog-content ul,.blog-content ol{margin-block:1.5rem;padding-inline-start:1.6rem;list-style-position:outside}.blog-content ul{list-style-type:disc}.blog-content ol{list-style-type:decimal}.blog-content ul ul{list-style-type:circle}.blog-content ul ul ul{list-style-type:square}.blog-content li{display:list-item;padding-left:.35rem}.blog-content li+li{margin-top:.55rem}.blog-content li::marker{color:#fff}.blog-content li>ul,.blog-content li>ol{margin-block:.55rem}.blog-content h2{margin:0 0 1.25rem;color:#fff;font-size:clamp(2rem,4vw,4.5rem);line-height:1}.blog-content h3{margin:0 0 1.1rem;color:#fff;font-size:clamp(1.4rem,2.4vw,2.5rem)}.blog-content .blog-lead{color:#fff;font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.55}.blog-content blockquote{border-left:2px solid #fff;padding-left:1.5rem;color:#fff;font-size:1.2em}.blog-content pre{overflow-x:auto;border:1px solid rgba(255,255,255,.25);padding:1.5rem;background:#0000008c}.blog-content table{width:100%;border-collapse:collapse;table-layout:fixed}.blog-content th,.blog-content td{border:1px solid rgba(255,255,255,.3);padding:.75rem;text-align:left}.blog-content video{display:block;width:100%;max-height:75vh}.blog-image,.blog-slideshow{position:relative;margin:3rem 0}.blog-slideshow{--slideshow-scale: 1;width:100%;height:auto;min-height:0;aspect-ratio:16 / 9;overflow:hidden}.blog-content td,.blog-content th{vertical-align:top}.blog-content td>.blog-slideshow,.blog-content th>.blog-slideshow{margin:0}.blog-content table:has(.blog-slideshow),.blog-content table:has(.blog-slideshow) tbody,.blog-content table:has(.blog-slideshow) tr,.blog-content table:has(.blog-slideshow) td,.blog-content table:has(.blog-slideshow) th{height:auto!important}.blog-image img,.blog-slideshow img{display:block;width:100%;height:100%;max-height:none;-o-object-fit:contain;object-fit:contain;cursor:zoom-in}.blog-lightbox{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:clamp(1rem,4vw,4rem);background:#000000e6;cursor:zoom-out}.blog-lightbox img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;-o-object-fit:contain;object-fit:contain;cursor:default}.blog-lightbox-close{position:absolute;top:1rem;right:1.25rem;width:2.75rem;height:2.75rem;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:#00000073;color:#fff;font-size:2rem;line-height:1;cursor:pointer}.blog-image figcaption,.blog-slideshow figcaption{margin-top:.65rem;color:#aaa;font:var(--micro-size) "Geist Mono",monospace}.blog-image-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.blog-slideshow figure{display:none!important;margin:0}.blog-slideshow figure.is-active{display:block!important;height:100%!important;min-height:0}.blog-slideshow button{position:absolute;top:50%;width:2.75rem;height:2.75rem;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:#000000bf;color:#fff;transform:translateY(-50%)}.blog-slideshow [data-slide-prev]{left:1rem}.blog-slideshow [data-slide-next]{right:1rem}.detail-live{display:inline-flex;align-items:center;gap:.6rem;margin-top:2rem;border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:.75rem 1rem;color:#fff;font:var(--micro-size) "Geist Mono",monospace;text-decoration:none}.detail-live svg,.detail-sources svg{width:1rem}.detail-media{height:auto;min-height:0;aspect-ratio:16 / 9;--slideshow-scale: 1}.detail-media>img{width:100%;height:100%;filter:none;-o-object-fit:contain;object-fit:contain}.detail-metrics{display:grid;grid-template-columns:repeat(4,1fr);margin:7rem 0;border-block:1px solid rgba(255,255,255,.3)}.detail-metrics article{display:flex;min-height:10rem;flex-direction:column;justify-content:center;border-right:1px solid rgba(255,255,255,.3);padding:1.5rem}.detail-metrics article:last-child{border-right:0}.detail-metrics strong{font-size:clamp(2.5rem,5vw,5rem);letter-spacing:-.05em}.detail-metrics span{margin-top:.5rem;color:#aaa;font:var(--micro-size) "Geist Mono",monospace}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:3rem;margin:7rem 0}.detail-architecture{margin-top:7rem}.detail-architecture>div{display:grid;grid-template-columns:repeat(4,1fr);margin-top:1.5rem}.detail-architecture article{position:relative;min-height:9rem;border:1px solid rgba(255,255,255,.3);padding:1.5rem}.detail-architecture article+article{border-left:0}.detail-architecture article>span{display:block;margin-bottom:1.5rem;color:#aaa;font:var(--micro-size) "Geist Mono",monospace}.detail-architecture article>b{position:absolute;z-index:2;right:-.65rem;top:50%;color:#ddd;font-weight:400}.detail-sources{margin-top:7rem;border-top:1px solid rgba(255,255,255,.3);padding-top:2rem}.detail-sources ul{padding:0;list-style:none}.detail-sources li{border-bottom:1px solid rgba(255,255,255,.25)}.detail-sources a{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1rem 0;color:#ddd}.v2-shell a{text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:.08em}.v2-shell a.v2-mark,.v2-shell a.detail-back,.archive-panel .archive-entry h2 a{text-decoration:none}.detail-grid section{border-top:1px solid rgba(255,255,255,.3);padding-top:1.5rem;color:#e0e0e0;line-height:1.65}.detail-solution>.section-label{margin-bottom:2rem}.detail-solution article{display:grid;grid-template-columns:5rem 1fr;gap:2rem;border-top:1px solid rgba(255,255,255,.3);padding:2rem 0}.detail-solution article>span{color:#aaa;font:var(--micro-size) "Geist Mono",monospace}.detail-solution h2{margin:0;font-size:clamp(1.6rem,3vw,3rem)}.detail-solution p{color:#bbb;line-height:1.6}.skill-results{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(255,255,255,.3)}.skill-results>*{border-bottom:1px solid rgba(255,255,255,.3);padding:2rem;color:#fff;text-decoration:none}.skill-results>*:nth-child(odd){border-right:1px solid rgba(255,255,255,.3)}.skill-results span{color:#aaa;font:var(--micro-size) "Geist Mono",monospace;text-transform:uppercase}.skill-results h2{margin:1rem 0;font-size:2rem}.skill-results p{color:#aaa}.panel-eyebrow,.keyboard-hint,.v2-nav,.nav-arrows,.v2-quote,.archive-toolbar,.archive-index,.archive-category,.section-label,.resume-entry time,.archive-tags span,.archive-tags a,.skills-ledger span,.media-slideshow figcaption,.media-controls,.resume-v1-heading p,.resume-v1-heading time,.resume-v1-heading span,.resume-skills section>p,.boundary-cue{font-size:var(--micro-size)}.project-media img{filter:none}.resume-entry div>p:first-child{margin:0 0 .55rem;color:#aaa}.resume-entry h2{font-size:clamp(1.7rem,3.5vw,3.6rem)}.skills-ledger{padding:2.5rem 0}.skills-ledger .section-label{flex-basis:100%}.boundary-cue{display:flex;align-items:center;justify-content:center;gap:1rem;min-height:12rem;margin:0;color:#aaa;font:.65rem Geist Mono,monospace;text-transform:uppercase;letter-spacing:.1em}.boundary-cue svg{width:1rem;transform:rotate(90deg)}.contact-grid{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:clamp(2rem,7vw,8rem);align-items:start;margin:2rem 0 6rem;min-width:0}.contact-panel .panel-heading h1{max-width:none;white-space:nowrap;font-size:clamp(2.5rem,4.8vw,5.5rem)}.archive-panel .panel-heading h1{max-width:none;white-space:nowrap;font-size:clamp(2.8rem,7.2vw,8rem)}.contact-panel .panel-heading{min-height:0;padding:1rem 0 0}.contact-section{min-height:100%;min-width:0;box-sizing:border-box;border:1px solid rgba(255,255,255,.35);padding:clamp(1.5rem,3vw,2.5rem);background:#00000047;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.contact-links{display:grid;gap:1rem;min-width:0}.contact-links a{display:flex;width:100%;min-width:0;box-sizing:border-box;align-items:center;gap:1rem;border:1px solid #fff;padding:clamp(.75rem,2vw,1rem) clamp(.75rem,2.5vw,1.25rem);color:#fff;text-decoration:none;white-space:normal;overflow-wrap:anywhere}.contact-links svg{width:1.25rem;min-width:1.25rem;flex:0 0 1.25rem}.contact-links a:hover{background:#fff;color:#000}.contact-legal-footer{display:flex;justify-content:center;flex-wrap:wrap;gap:.75rem 1.5rem;margin:-3rem 0 4rem;font:var(--micro-size) "Geist Mono",monospace;letter-spacing:.08em;text-transform:uppercase}.contact-legal-footer a{color:#fff}.contact-form{display:grid;grid-template-columns:1fr;gap:1.25rem}.contact-form label{display:grid;gap:.55rem;color:#ddd;font:var(--micro-size) "Geist Mono",monospace;text-transform:uppercase}.contact-form .field-label{display:inline-flex;align-items:baseline;gap:.35rem}.contact-form .field-label b{color:#fff;font-weight:500}.contact-form input,.contact-form textarea{width:100%;border:1px solid rgba(255,255,255,.4);border-radius:0;padding:.9rem 1rem;background:#00000059;color:#fff;font:1rem Geist,sans-serif;resize:vertical}.contact-form button{width:-moz-fit-content;width:fit-content;border:1px solid #fff;padding:.9rem 1.25rem;background:#fff;color:#000;cursor:pointer;font:700 var(--micro-size) "Geist Mono",monospace;text-transform:uppercase}.contact-status{align-self:center;margin:0;color:#ddd}.contact-honeypot{position:absolute;left:-10000px}.mobile-hint{display:none}@media(max-width:760px){:root{--header-height: 4.8rem;--footer-height: 4.7rem;--home-intro-size: 1.65rem}.v2-mark{top:50%;left:1.25rem}.nav-arrows{top:50%;right:1rem}.v2-quote{display:none}.v2-panel{padding:0 1.25rem}.blog-content table:has(.blog-slideshow),.blog-content table:has(.blog-slideshow) tbody,.blog-content table:has(.blog-slideshow) tr,.blog-content table:has(.blog-slideshow) td,.blog-content table:has(.blog-slideshow) th{display:block;width:100%;min-width:0}.blog-content table:has(.blog-slideshow){border:0;table-layout:auto}.blog-content table:has(.blog-slideshow) td,.blog-content table:has(.blog-slideshow) th{border:0;padding:.5rem 0}.blog-content table:has(.blog-slideshow) .blog-slideshow{width:100%}.home-panel{grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto}.home-visitor{top:1.5rem;width:100%;justify-content:center;text-align:center}.home-intro{position:absolute;z-index:2;top:50%;left:1.25rem;margin:0;padding:0;white-space:nowrap;transform:translateY(-50%)}.astronaut-frame{position:absolute;top:15%;left:21%;width:92vw;max-height:70vh;opacity:.9}.home-name{align-self:end;grid-column:1 / -1;grid-row:2;padding-bottom:15vh}.keyboard-hint{bottom:1rem;white-space:nowrap}.detail-header .detail-back{right:1.25rem;max-width:13rem;text-align:right}.v2-nav{right:0;bottom:0;left:0;display:flex;gap:.25rem;overflow-x:auto;padding:.7rem 1rem;scrollbar-width:none;touch-action:pan-x}.v2-nav::-webkit-scrollbar{display:none}.v2-nav button{flex:0 0 auto;padding-inline:.8rem;text-align:center}.detail-nav a{flex:0 0 auto;justify-content:center;text-align:center;white-space:nowrap}.detail-nav{display:flex;justify-content:flex-start;overflow-x:auto;white-space:nowrap}.nav-item{flex:0 0 auto}.nav-item>button:not(.flashlight-toggle){width:auto}.v2-nav button.is-active{width:auto;padding-inline:.7rem}.two-column,.app-grid,.resume-line{grid-template-columns:1fr}.panel-content{padding:1.5rem 0 2.5rem}.panel-heading{min-height:36vh}.panel-heading h1{font-size:clamp(2.8rem,14vw,5.2rem)}.panel-copy{margin-top:2rem}.two-column{gap:.5rem}.orbit-list,.app-grid,.resume-line{margin-top:2rem}.archive-toolbar{align-items:flex-start;flex-direction:column;gap:.8rem}.archive-entry{grid-template-columns:3rem 1fr;gap:1rem}.archive-list{grid-template-columns:1fr}.archive-entry.blog-index-entry{display:flex;min-height:15rem;gap:0}.project-media{grid-column:2;width:100%;height:14rem;min-height:0}.project-media>img{height:100%;min-height:0}.resume-hero,.resume-v1-grid{grid-template-columns:1fr}.sidequest-detail>header.has-archive-image{grid-template-columns:1fr;gap:2rem}.detail-archive-image{min-height:0;aspect-ratio:1}.panel-heading.has-aside{min-height:auto;grid-template-columns:1fr;gap:1.5rem;padding:2rem 0}.sidequest-header-slideshow{--carousel-card-size: min(100vw, 20rem);width:min(100%,20rem)!important;height:min(100vw,20rem)!important;aspect-ratio:1 / 1;justify-self:center}.sidequest-header-slideshow>img{min-height:0}.sidequest-header-slideshow .media-carousel-track{display:none}.sidequest-header-slideshow .mobile-carousel-image{display:block;width:100%!important;height:100%!important}.desktop-sidequest-break{display:none}.about-panel .panel-heading.has-aside{grid-template-columns:1fr;grid-template-areas:"heading" "image";gap:1.25rem}.about-panel .panel-heading.has-aside>div:first-child{grid-area:heading}.about-panel .panel-heading.has-aside>.about-slideshow{grid-area:image;width:100%;aspect-ratio:16 / 9}.resume-heading-media{height:16rem}.resume-panel .resume-manifesto{margin-top:1.25rem}.resume-v1-heading{flex-direction:column;gap:.7rem}.resume-v1-heading>div:last-child{align-items:flex-start}.detail-grid,.skill-results{grid-template-columns:1fr}.detail-metrics,.detail-architecture>div{grid-template-columns:repeat(2,1fr)}.detail-metrics article:nth-child(2){border-right:0}.detail-architecture article+article{border-left:1px solid rgba(255,255,255,.3)}.detail-architecture article>b{display:none}.skill-results>*:nth-child(odd){border-right:0}.resume-entry{grid-template-columns:1fr;gap:.6rem}.app-grid,.resume-line{padding-bottom:2rem}.app-grid article,.resume-line article{min-height:auto}.contact-links{flex-direction:column;margin-top:2.5rem}.contact-grid,.contact-form{grid-template-columns:1fr}.contact-grid{margin-top:1rem}.contact-panel .panel-heading h1,.archive-panel .panel-heading h1{white-space:normal}.contact-panel .panel-heading{min-height:0;padding-top:.25rem}.desktop-hint{display:none}.mobile-hint{display:inline}}.v2-shell a{text-decoration:underline!important;text-underline-offset:.18em;text-decoration-thickness:.08em}.v2-shell a.v2-mark,.v2-shell a.detail-back,.v2-shell .archive-panel .archive-entry h2 a,.v2-shell .apps-panel .app-grid h2 a,.v2-shell .detail-nav a{text-decoration:none!important}.detail-nav a.is-active{width:68%;min-height:1.75rem;margin-block:.25rem;justify-self:center;border-color:transparent;background:#fff;color:#050505}.scroll-rocket{position:fixed;z-index:45;top:calc(var(--header-height) - 1.4rem);left:50%;width:min(60vw,60rem);height:1.2rem;pointer-events:none;transform:translate(-50%)}.scroll-rocket-bar{position:relative;width:100%;height:1.25rem;overflow:visible;background:transparent;transform-origin:left center}.scroll-rocket-bar:before{content:"";position:absolute;left:2rem;right:2rem;top:.62rem;height:1px;background:#ffffff85}.scroll-rocket-fill{position:absolute;left:2rem;top:.62rem;width:calc(100% - 4rem);height:1px;background:#fff;transform:scaleX(var(--scroll-progress, 0));transform-origin:left center;transition:transform .16s linear}.scroll-rocket-earth,.scroll-rocket-moon{position:absolute;top:.08rem;z-index:1;font-size:1rem;line-height:1}.scroll-rocket-earth{left:0}.scroll-rocket-moon{right:0}.scroll-rocket-marker{position:absolute;top:.35rem;width:0;height:0}.scroll-rocket-ship{position:absolute;top:-.68rem;left:-.78rem;display:inline-block;font-size:1.25rem;line-height:1;white-space:nowrap;filter:drop-shadow(0 0 .35rem rgba(255,255,255,.8));animation:scroll-rocket-hover 1.2s ease-in-out infinite alternate}@keyframes scroll-rocket-hover{0%{transform:translateY(.08rem) rotate(-3deg)}to{transform:translateY(-.08rem) rotate(3deg)}}.legal-shell{min-height:100dvh;overflow:visible}.legal-content{max-width:60rem;margin-inline:auto;padding-bottom:6rem}.legal-content h1{margin:1rem 0 .5rem;font-size:clamp(3rem,8vw,7rem);line-height:.9}.legal-content h2{margin-top:3rem;font-size:clamp(1.4rem,3vw,2.4rem)}.legal-content p{max-width:55rem;color:#ddd;line-height:1.7}.legal-updated{color:#aaa!important;font:var(--micro-size) "Geist Mono",monospace}@media(prefers-reduced-motion:reduce){.astronaut-frame,.astronaut-frame:before,.astronaut-frame:after{animation:none}.panel-stage,.home-intro,.home-name,.astronaut-frame,.astronaut{animation-duration:1ms;transition-duration:1ms}}.space-cursor{position:fixed;z-index:9999;top:0;right:0;bottom:0;left:0;pointer-events:none;clip-path:inset(var(--header-height) 0 var(--footer-height) 0)}.space-cursor-ship,.space-cursor-trail span{position:absolute;top:0;left:0;pointer-events:none;transform-origin:center}.space-cursor.is-background{opacity:.3;mix-blend-mode:screen;filter:blur(.15px)}.space-cursor-ship{width:6rem;height:2.4rem;margin:-1.2rem 0 0 -3rem;-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 0 .55rem rgba(170,220,255,.95))}.space-cursor-trail span{width:.7rem;height:.7rem;margin:-.35rem 0 0 -.35rem;border-radius:50%;background:radial-gradient(circle,rgba(185,239,255,.9),rgba(111,118,255,.25) 45%,transparent 72%);filter:blur(.08rem)}@media(pointer:coarse),(prefers-reduced-motion:reduce){.space-cursor{display:none}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 0 0% 100%;--foreground: 0 0% 8%;--card: 0 0% 97%;--card-foreground: 0 0% 8%;--popover: 0 0% 100%;--popover-foreground: 0 0% 8%;--primary: 40 76% 35%;--primary-foreground: 0 0% 100%;--secondary: 0 0% 94%;--secondary-foreground: 0 0% 8%;--muted: 0 0% 94%;--muted-foreground: 0 0% 40%;--accent: 40 76% 35%;--accent-foreground: 0 0% 100%;--destructive: 0 72% 45%;--destructive-foreground: 0 0% 100%;--border: 0 0% 86%;--input: 0 0% 86%;--ring: 40 76% 35%;--radius: .25rem;--font-heading: ui-sans-serif, system-ui, sans-serif;--font-body: ui-sans-serif, system-ui, sans-serif;--font-display: Georgia, "Times New Roman", serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, monospace}.\!dark{--background: 0 0% 3.9% !important;--foreground: 0 0% 100% !important;--card: 0 0% 7% !important;--card-foreground: 0 0% 100% !important;--popover: 0 0% 5% !important;--popover-foreground: 0 0% 100% !important;--primary: 42 82% 62% !important;--primary-foreground: 0 0% 7% !important;--secondary: 0 0% 12% !important;--secondary-foreground: 0 0% 100% !important;--muted: 0 0% 10% !important;--muted-foreground: 0 0% 78% !important;--accent: 42 82% 62% !important;--accent-foreground: 0 0% 7% !important;--destructive: 0 72% 55% !important;--destructive-foreground: 0 0% 100% !important;--border: 0 0% 18% !important;--input: 0 0% 18% !important;--ring: 42 82% 62% !important}.dark{--background: 0 0% 3.9%;--foreground: 0 0% 100%;--card: 0 0% 7%;--card-foreground: 0 0% 100%;--popover: 0 0% 5%;--popover-foreground: 0 0% 100%;--primary: 42 82% 62%;--primary-foreground: 0 0% 7%;--secondary: 0 0% 12%;--secondary-foreground: 0 0% 100%;--muted: 0 0% 10%;--muted-foreground: 0 0% 78%;--accent: 42 82% 62%;--accent-foreground: 0 0% 7%;--destructive: 0 72% 55%;--destructive-foreground: 0 0% 100%;--border: 0 0% 18%;--input: 0 0% 18%;--ring: 42 82% 62%}*{border-color:hsl(var(--border));outline-color:hsl(var(--ring) / .5)}html{scroll-behavior:smooth}html.home-section-scroll{scroll-snap-type:y proximity;scroll-padding-top:4rem}html.home-section-scroll [data-scroll-section]{scroll-snap-align:start}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-body);font-size:1.125rem;line-height:1.6;letter-spacing:-.01em;-webkit-font-smoothing:antialiased}::-moz-selection{background:#9a6a16;color:#fff}::selection{background:#9a6a16;color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:hsl(var(--background))}::-webkit-scrollbar-thumb{background:hsl(var(--border))}::-webkit-scrollbar-thumb:hover{background:hsl(var(--accent))}.container{width:100%}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.-bottom-5{bottom:-1.25rem}.bottom-0{bottom:0}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-3{left:.75rem}.left-4{left:1rem}.right-0{right:0}.right-2{right:.5rem}.right-3{right:.75rem}.top-0{top:0}.top-1\/2{top:50%}.top-28{top:7rem}.top-4{top:1rem}.top-\[42\%\]{top:42%}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-50{z-index:50}.col-span-12{grid-column:span 12 / span 12}.col-span-3{grid-column:span 3 / span 3}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.my-12{margin-top:3rem;margin-bottom:3rem}.my-8{margin-top:2rem;margin-bottom:2rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-20{margin-bottom:5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-12{margin-top:3rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-20{margin-top:5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-7{margin-top:1.75rem}.mt-8{margin-top:2rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-\[16\/9\]{aspect-ratio:16/9}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-video{aspect-ratio:16 / 9}.h-0\.5{height:.125rem}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-11{height:2.75rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-48{height:12rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[58vh\]{height:58vh}.h-full{height:100%}.h-px{height:1px}.min-h-0{min-height:0px}.min-h-\[260px\]{min-height:260px}.min-h-\[32rem\]{min-height:32rem}.min-h-\[440px\]{min-height:440px}.min-h-screen{min-height:100vh}.w-1{width:.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-16{width:4rem}.w-2\/3{width:66.666667%}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[calc\(100vw-5\.5rem\)\]{width:calc(100vw - 5.5rem)}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-5xl{max-width:64rem}.max-w-6xl{max-width:72rem}.max-w-7xl{max-width:80rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.touch-pan-x{--tw-pan-x: pan-x;touch-action:var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)}.resize{resize:both}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-mandatory{--tw-scroll-snap-strictness: mandatory}.snap-start{scroll-snap-align:start}.scroll-mt-16{scroll-margin-top:4rem}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-16{gap:4rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-16{row-gap:4rem}.gap-y-2{row-gap:.5rem}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-10>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2.5rem * var(--tw-space-y-reverse))}.space-y-12>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overscroll-x-contain{overscroll-behavior-x:contain}.scroll-smooth{scroll-behavior:smooth}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.border{border-width:1px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[\#9A6A16\]{--tw-border-opacity: 1;border-color:rgb(154 106 22 / var(--tw-border-opacity, 1))}.border-\[\#9A6A16\]\/20{border-color:#9a6a1633}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-border\/70{border-color:hsl(var(--border) / .7)}.border-slate-200{--tw-border-opacity: 1;border-color:rgb(226 232 240 / var(--tw-border-opacity, 1))}.border-white\/30{border-color:#ffffff4d}.bg-\[\#9A6A16\]{--tw-bg-opacity: 1;background-color:rgb(154 106 22 / var(--tw-bg-opacity, 1))}.bg-\[\#9A6A16\]\/5{background-color:#9a6a160d}.bg-background{background-color:hsl(var(--background))}.bg-background\/90{background-color:hsl(var(--background) / .9)}.bg-background\/95{background-color:hsl(var(--background) / .95)}.bg-black{--tw-bg-opacity: 1;background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.bg-black\/65{background-color:#000000a6}.bg-black\/75{background-color:#000000bf}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-slate-200{--tw-bg-opacity: 1;background-color:rgb(226 232 240 / var(--tw-bg-opacity, 1))}.bg-slate-50{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}.from-background\/80{--tw-gradient-from: hsl(var(--background) / .8) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--background) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-black{--tw-gradient-from: #000 var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-black\/45{--tw-gradient-from: rgb(0 0 0 / .45) var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-black\/85{--tw-gradient-from: rgb(0 0 0 / .85) var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-black\/90{--tw-gradient-from: rgb(0 0 0 / .9) var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-black\/20{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / .2) var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-neutral-900{--tw-gradient-to: rgb(23 23 23 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #171717 var(--tw-gradient-via-position), var(--tw-gradient-to)}.via-transparent{--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-black{--tw-gradient-to: #000 var(--tw-gradient-to-position)}.to-black\/30{--tw-gradient-to: rgb(0 0 0 / .3) var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-24{padding-top:6rem;padding-bottom:6rem}.py-28{padding-top:7rem;padding-bottom:7rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-7{padding-top:1.75rem;padding-bottom:1.75rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-10{padding-bottom:2.5rem}.pb-14{padding-bottom:3.5rem}.pb-24{padding-bottom:6rem}.pb-6{padding-bottom:1.5rem}.pl-4{padding-left:1rem}.pl-5{padding-left:1.25rem}.pl-6{padding-left:1.5rem}.pt-12{padding-top:3rem}.pt-20{padding-top:5rem}.pt-24{padding-top:6rem}.pt-28{padding-top:7rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-7xl{font-size:4.5rem;line-height:1}.text-\[10px\]{font-size:10px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.normal-case{text-transform:none}.italic{font-style:italic}.leading-\[0\.95\]{line-height:.95}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[0\.15em\]{letter-spacing:.15em}.tracking-normal{letter-spacing:0em}.tracking-tight{letter-spacing:-.025em}.text-\[\#9A6A16\]{--tw-text-opacity: 1;color:rgb(154 106 22 / var(--tw-text-opacity, 1))}.text-\[\#FF4D00\]{--tw-text-opacity: 1;color:rgb(255 77 0 / var(--tw-text-opacity, 1))}.text-\[\#d8b765\]{--tw-text-opacity: 1;color:rgb(216 183 101 / var(--tw-text-opacity, 1))}.text-\[\#f0cf79\]{--tw-text-opacity: 1;color:rgb(240 207 121 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/90{color:hsl(var(--foreground) / .9)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-600{--tw-text-opacity: 1;color:rgb(71 85 105 / var(--tw-text-opacity, 1))}.text-slate-700{--tw-text-opacity: 1;color:rgb(51 65 85 / var(--tw-text-opacity, 1))}.text-slate-800{--tw-text-opacity: 1;color:rgb(30 41 59 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/70{color:#ffffffb3}.underline{text-decoration-line:underline}.decoration-\[\#9A6A16\]{text-decoration-color:#9a6a16}.decoration-border{text-decoration-color:hsl(var(--border))}.underline-offset-4{text-underline-offset:4px}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.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)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-700{transition-duration:.7s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.font-display{font-family:var(--font-display)}.font-mono{font-family:var(--font-mono)}.display-fluid{font-family:var(--font-heading);font-size:clamp(3rem,10vw,12rem);line-height:.9;font-weight:700;letter-spacing:-.04em}.project-title{font-family:var(--font-heading);font-size:clamp(2.75rem,7vw,7.5rem);line-height:.92;font-weight:700;letter-spacing:-.04em}.display-serif{font-family:var(--font-display);font-size:clamp(2.5rem,8vw,9rem);line-height:.95;letter-spacing:-.02em}.meta{font-family:var(--font-mono);font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:hsl(var(--muted-foreground))}.hide-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.hide-scrollbar::-webkit-scrollbar{display:none}.text-balance{text-wrap:balance}.\[-webkit-overflow-scrolling\:touch\]{-webkit-overflow-scrolling:touch}.project-visual{position:relative;display:grid;min-height:280px;place-items:end start;overflow:hidden;padding:clamp(1.5rem,4vw,4rem);color:#fff;isolation:isolate}.project-visual:before,.project-visual:after{content:"";position:absolute;z-index:-1}.project-visual:before{top:12%;right:12%;bottom:12%;left:12%;border:1px solid rgb(255 255 255 / 45%);transform:rotate(-4deg)}.project-visual:after{width:45%;aspect-ratio:1;right:8%;top:10%;border-radius:999px;background:#ffffff1f;box-shadow:0 0 0 4rem #ffffff0d}.project-visual span{font-family:var(--font-display, serif);font-size:clamp(2rem,7vw,6rem);line-height:.9}.project-visual.h-full{min-height:100%}.project-visual--sher{background:linear-gradient(135deg,#21190c,#9a6a16 58%,#d8b765)}.project-visual--chryspi{background:linear-gradient(90deg,rgb(255 255 255 / 8%) 1px,transparent 1px) 0 0 / 36px 36px,linear-gradient(rgb(255 255 255 / 8%) 1px,transparent 1px) 0 0 / 36px 36px,linear-gradient(135deg,#15291d,#207744 58%,#6aaa64)}.project-visual--dementia{background:linear-gradient(135deg,#05101c,#0a2d3f 58%,#23617a)}.project-visual--vehicle-log{background:radial-gradient(circle at 76% 24%,rgb(255 255 255 / 18%),transparent 22%),linear-gradient(135deg,#101b22,#176b57 58%,#59b794)}.project-visual--smart-home{background:linear-gradient(135deg,#162033,#3157a4 58%,#75a5ef)}.project-visual--aquarium{background:radial-gradient(circle at 72% 28%,rgb(144 238 220 / 30%),transparent 18%),linear-gradient(135deg,#062b33,#087f82 58%,#73c9a8)}.project-visual--iberico{background:linear-gradient(135deg,#321619,#8f2e35 58%,#d78c75)}.project-visual--durian{background:radial-gradient(circle at 75% 25%,rgb(255 241 130 / 30%),transparent 20%),linear-gradient(135deg,#233119,#667a20 58%,#b7a93a)}.project-visual--limousine{background:linear-gradient(135deg,#101010,#353535 58%,#9a6a16)}.first\:border-t-0:first-child{border-top-width:0px}.last\:border-b:last-child{border-bottom-width:1px}.hover\:border-\[\#9A6A16\]:hover{--tw-border-opacity: 1;border-color:rgb(154 106 22 / var(--tw-border-opacity, 1))}.hover\:border-\[\#d8b765\]:hover{--tw-border-opacity: 1;border-color:rgb(216 183 101 / var(--tw-border-opacity, 1))}.hover\:border-slate-300:hover{--tw-border-opacity: 1;border-color:rgb(203 213 225 / var(--tw-border-opacity, 1))}.hover\:bg-\[\#9A6A16\]:hover{--tw-bg-opacity: 1;background-color:rgb(154 106 22 / var(--tw-bg-opacity, 1))}.hover\:bg-slate-50:hover{--tw-bg-opacity: 1;background-color:rgb(248 250 252 / var(--tw-bg-opacity, 1))}.hover\:text-\[\#9A6A16\]:hover{--tw-text-opacity: 1;color:rgb(154 106 22 / var(--tw-text-opacity, 1))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:no-underline:hover{text-decoration-line:none}.hover\:decoration-\[\#9A6A16\]:hover{text-decoration-color:#9a6a16}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-slate-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(100 116 139 / var(--tw-ring-opacity, 1))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.group:hover .group-hover\:-translate-y-1{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-0\.5{--tw-translate-x: .125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:translate-y-1{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:scale-105{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.group:hover .group-hover\:bg-\[\#9A6A16\]{--tw-bg-opacity: 1;background-color:rgb(154 106 22 / var(--tw-bg-opacity, 1))}.group:hover .group-hover\:text-\[\#9A6A16\]{--tw-text-opacity: 1;color:rgb(154 106 22 / var(--tw-text-opacity, 1))}@media(min-width:640px){.sm\:aspect-video{aspect-ratio:16 / 9}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-\[4rem_1fr\]{grid-template-columns:4rem 1fr}.sm\:border-r{border-right-width:1px}}@media(min-width:768px){.md\:-right-5{right:-1.25rem}.md\:bottom-auto{bottom:auto}.md\:left-5{left:1.25rem}.md\:left-auto{left:auto}.md\:right-5{right:1.25rem}.md\:top-1\/2{top:50%}.md\:col-span-4{grid-column:span 4 / span 4}.md\:col-span-5{grid-column:span 5 / span 5}.md\:col-span-7{grid-column:span 7 / span 7}.md\:col-span-8{grid-column:span 8 / span 8}.md\:mx-10{margin-left:2.5rem;margin-right:2.5rem}.md\:mb-4{margin-bottom:1rem}.md\:mt-0{margin-top:0}.md\:mt-10{margin-top:2.5rem}.md\:mt-16{margin-top:4rem}.md\:block{display:block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:hidden{display:none}.md\:aspect-video{aspect-ratio:16 / 9}.md\:h-10{height:2.5rem}.md\:h-11{height:2.75rem}.md\:h-\[68vh\]{height:68vh}.md\:min-h-\[280px\]{min-height:280px}.md\:min-h-\[560px\]{min-height:560px}.md\:w-10{width:2.5rem}.md\:w-11{width:2.75rem}.md\:w-\[40vw\]{width:40vw}.md\:w-\[44vw\]{width:44vw}.md\:-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[0\.65fr_1\.35fr\]{grid-template-columns:.65fr 1.35fr}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:items-center{align-items:center}.md\:items-baseline{align-items:baseline}.md\:justify-between{justify-content:space-between}.md\:gap-10{gap:2.5rem}.md\:gap-6{gap:1.5rem}.md\:gap-8{gap:2rem}.md\:p-10{padding:2.5rem}.md\:p-7{padding:1.75rem}.md\:p-8{padding:2rem}.md\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\:px-14{padding-left:3.5rem;padding-right:3.5rem}.md\:py-32{padding-top:8rem;padding-bottom:8rem}.md\:py-40{padding-top:10rem;padding-bottom:10rem}.md\:pl-8{padding-left:2rem}.md\:pt-28{padding-top:7rem}.md\:pt-32{padding-top:8rem}.md\:pt-36{padding-top:9rem}.md\:text-right{text-align:right}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media(min-width:1024px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-7{grid-column:span 7 / span 7}.lg\:col-span-9{grid-column:span 9 / span 9}.lg\:col-start-3{grid-column-start:3}.lg\:block{display:block}.lg\:w-\[36vw\]{width:36vw}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[0\.75fr_1\.25fr\]{grid-template-columns:.75fr 1.25fr}.lg\:items-end{align-items:flex-end}.lg\:border-b-0{border-bottom-width:0px}.lg\:text-6xl{font-size:3.75rem;line-height:1}.lg\:text-7xl{font-size:4.5rem;line-height:1}}
