:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0}:root{--radius: .5rem;--background: oklch(13% .008 260);--foreground: oklch(96% .018 86);--card: oklch(17% .008 260);--primary: oklch(80% .14 158);--primary-foreground: oklch(13% .008 260);--muted-foreground: oklch(68% .015 85);--border: oklch(95% .01 85 / .16);--coral: oklch(67% .2 35);--mint: oklch(80% .14 158);--cobalt: oklch(55% .2 260);--amber: oklch(76% .16 60);--font-display: "Syne", sans-serif;--font-sans: "DM Sans", sans-serif;--pointer-x: 50%;--pointer-y: 50%}*,*:before,*:after{box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden}body{margin:0;background:var(--background);color:var(--foreground);font-family:var(--font-sans)}a{color:inherit;text-decoration:none}::selection{background:var(--primary);color:var(--primary-foreground)}.one-page-portfolio{isolation:isolate;position:relative;overflow:hidden;width:100%;height:100svh;display:grid;grid-template-rows:auto minmax(0,.85fr) minmax(0,2fr) auto;gap:clamp(.65rem,1.5vh,1.25rem);padding:clamp(1rem,2.3vw,2.25rem) clamp(1rem,3.5vw,4rem) clamp(.85rem,2vw,1.5rem)}.one-page-portfolio:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-3;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:6.25vw 6.25vw;opacity:.22;mask-image:linear-gradient(transparent,black 20% 80%,transparent);-webkit-mask-image:linear-gradient(transparent,black 20% 80%,transparent)}.intro-curtain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;background:var(--primary);color:var(--primary-foreground);font-family:var(--font-display);font-weight:800;font-size:clamp(2rem,7vw,7rem);transition:transform .9s cubic-bezier(.76,0,.24,1) .5s}.is-loaded .intro-curtain{transform:translateY(-105%)}.intro-curtain span{display:inline-block;animation:intro-pulse .6s ease-out both}@keyframes intro-pulse{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.pointer-glow{position:absolute;z-index:-2;width:28rem;height:28rem;left:var(--pointer-x);top:var(--pointer-y);border-radius:50%;transform:translate(-50%,-50%);background:color-mix(in oklab,var(--primary) 8%,transparent);filter:blur(5rem);pointer-events:none;transition:left .25s ease-out,top .25s ease-out}.one-page-header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;opacity:0;transform:translateY(-1rem);transition:opacity .5s 1.15s,transform .5s 1.15s}.is-loaded .one-page-header{opacity:1;transform:none}.wordmark{font-family:var(--font-display);font-weight:800;font-size:1.2rem;justify-self:start}.wordmark span{color:var(--primary)}.availability{display:flex;align-items:center;justify-content:center;gap:.55rem;font-size:.65rem;text-transform:uppercase;color:var(--muted-foreground)}.availability i{width:.45rem;height:.45rem;border-radius:50%;background:var(--primary);box-shadow:0 0 0 .2rem color-mix(in oklab,var(--primary) 18%,transparent);animation:status-pulse 2s ease-in-out infinite}@keyframes status-pulse{50%{box-shadow:0 0 0 .4rem color-mix(in oklab,var(--primary) 0%,transparent)}}.edition{justify-self:end;font-size:.65rem;color:var(--muted-foreground)}.one-page-intro{align-self:center;opacity:0;transform:translateY(2rem);transition:opacity .7s cubic-bezier(.16,1,.3,1) 1.3s,transform .7s cubic-bezier(.16,1,.3,1) 1.3s}.is-loaded .one-page-intro{opacity:1;transform:none}.hero-kicker{display:flex;align-items:center;gap:.45rem;margin:0 0 .35rem;font-size:.67rem;font-weight:600;text-transform:uppercase;color:var(--primary)}.one-page-intro h1{margin:0;font-family:var(--font-display);font-weight:700;line-height:.85;font-size:clamp(3rem,7.5vw,7.2rem)}.one-page-intro h1 em{font-style:normal;color:var(--primary);font-size:.42em;vertical-align:top}.intro-copy{margin:.6rem 0 0;color:var(--muted-foreground);font-size:clamp(.9rem,1.5vw,1.2rem)}.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.65rem,1.5vw,1.4rem);min-height:0}.project-card{--project-accent: var(--coral);position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;border:1px solid var(--border);border-radius:var(--radius);background:color-mix(in oklab,var(--card) 80%,transparent);overflow:hidden;opacity:0;transform:translateY(3rem);transition:opacity .7s,transform .7s cubic-bezier(.16,1,.3,1),border-color .25s}.is-loaded .project-card{opacity:1;transform:none}.project-card:nth-child(1){transition-delay:1.45s}.project-card:nth-child(2){transition-delay:1.58s}.project-card:nth-child(3){transition-delay:1.71s}.project-card:nth-child(4){transition-delay:1.84s}.project-card:hover,.project-card:focus-visible{border-color:var(--project-accent);transform:translateY(-.35rem)}.project-card:hover .card-art img,.project-card:focus-visible .card-art img{filter:saturate(1.1);transform:scale(1.06)}.project-card:hover .image-sheen,.project-card:focus-visible .image-sheen{transform:translate(120%)}.project-card:hover .card-arrow,.project-card:focus-visible .card-arrow{transform:translate(.2rem,-.2rem)}.card-art{position:relative;min-height:0;overflow:hidden}.card-art img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .7s cubic-bezier(.16,1,.3,1),filter .35s}.image-sheen{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.13) 45%,transparent 70%);transform:translate(-120%);transition:transform .8s}.card-number{position:absolute;top:.65rem;left:.65rem;width:2rem;height:2rem;display:grid;place-items:center;border-radius:50%;background:var(--project-accent);color:var(--background);font-size:.62rem;font-weight:600}.card-copy{position:relative;padding:clamp(.75rem,1.5vw,1.25rem)}.card-copy h2{margin:0;padding-right:1.5rem;font-family:var(--font-display);font-size:clamp(1.2rem,2vw,2rem);line-height:1}.card-copy p{margin:.35rem 1.5rem 0 0;color:var(--muted-foreground);font-size:clamp(.67rem,.9vw,.86rem);line-height:1.35}.card-ai{display:flex;align-items:flex-start;gap:.35rem;margin-top:.5rem!important;color:var(--project-accent);font-size:clamp(.62rem,.82vw,.78rem);line-height:1.35}.card-ai svg{flex-shrink:0;width:.85em;height:.85em;margin-top:.2em}.card-arrow{position:absolute;top:1rem;right:1rem;color:var(--project-accent);transition:transform .25s}.one-page-footer{display:flex;justify-content:space-between;padding-top:.7rem;border-top:1px solid var(--border);color:var(--muted-foreground);text-transform:uppercase;font-size:.62rem;opacity:0;transition:opacity .5s 2s}.is-loaded .one-page-footer{opacity:1}@media(max-width:760px){html,body{overflow-y:auto}.one-page-portfolio{height:auto;min-height:100svh;overflow:visible;grid-template-rows:auto auto auto auto;gap:1.75rem;padding:1.1rem 1.25rem 2rem}.intro-curtain,.availability,.pointer-glow{display:none}.one-page-header{grid-template-columns:1fr auto}.one-page-intro h1{font-size:clamp(2.75rem,15vw,4rem)}.intro-copy{margin-top:.3rem}.project-grid{grid-template-columns:1fr;gap:1rem}.card-art{aspect-ratio:16 / 10}.card-number{width:1.75rem;height:1.75rem;top:.5rem;left:.5rem;font-size:.68rem}.card-copy{padding:.9rem 1rem 1rem}.card-copy h2{padding-right:1.75rem;font-size:1.3rem}.card-copy p{margin-right:1.75rem;font-size:.85rem}.one-page-footer{flex-direction:column;align-items:flex-start;gap:.3rem}}@media(max-height:700px)and (not (max-width:760px)){.one-page-intro h1{font-size:clamp(2.6rem,6vw,5.4rem)}}@media(prefers-reduced-motion:reduce){.intro-curtain,.one-page-header,.one-page-intro,.project-card,.one-page-footer,.availability i,.card-art img,.image-sheen,.card-arrow,.intro-curtain span{transition:none!important;animation:none!important}.intro-curtain{display:none}.one-page-header,.one-page-intro,.project-card,.one-page-footer{opacity:1;transform:none}}
