@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/_next/static/media/7ab938503e4547a1-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:swap;src:url(/_next/static/media/13971731025ec697-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:DM Sans Fallback;src:local("Arial");ascent-override:94.90%;descent-override:29.66%;line-gap-override:0.00%;size-adjust:104.53%}.__className_0d7163{font-family:DM Sans,DM Sans Fallback;font-style:normal}.__variable_0d7163{--font-sans:"DM Sans","DM Sans Fallback"}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/fb526027db1fc1ae-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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4da3161b738b07dd-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-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/af4bf8399d1aacdf-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:Fraunces Fallback;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_eb41fe{font-family:Fraunces,Fraunces Fallback;font-style:normal}.__variable_eb41fe{--font-display:"Fraunces","Fraunces Fallback"}*{box-sizing:border-box;margin:0;padding:0}:root{--bg-deep:#ffffff;--bg-card:rgba(255,255,255,0.5);--border:rgba(255,255,255,0.7);--text:#111827;--text-muted:#4b5563;--accent:#0284c7;--accent-soft:rgba(2,132,199,0.1);--radius:14px;--max:720px}html{scroll-behavior:smooth}body{font-family:var(--font-sans),system-ui,sans-serif;background:var(--bg-deep);color:var(--text);min-height:100vh;line-height:1.6;position:relative;overflow-x:hidden;background-image:radial-gradient(circle at 15% 50%,rgba(126,184,218,.15),transparent 40%),radial-gradient(circle at 85% 30%,rgba(200,180,255,.15),transparent 40%),radial-gradient(ellipse 100% 100% at 50% 0,rgba(255,255,255,.8) 0,transparent 100%)}body:before{content:"";position:fixed;top:-20%;left:-20%;width:140%;height:140%;background:radial-gradient(circle at 20% 80%,rgba(126,184,218,.25) 0,transparent 40%),radial-gradient(circle at 80% 20%,rgba(184,218,126,.15) 0,transparent 40%),radial-gradient(circle at 50% 50%,rgba(200,184,250,.2) 0,transparent 50%);filter:blur(60px);z-index:-1;animation:liquid-pan 25s ease-in-out infinite alternate;pointer-events:none}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.site{min-height:100vh;display:flex;flex-direction:column}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:10;padding:1rem 1.5rem;border-bottom:1px solid var(--border);background:rgba(12,15,24,.75);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.site-header-inner{max-width:900px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem}.logo{font-family:var(--font-display),serif;font-size:1.15rem;font-weight:500;color:var(--text)}.logo,.logo:hover{text-decoration:none}.logo:hover{color:var(--accent)}.nav{display:flex;gap:1.25rem;flex-wrap:wrap}.nav a{font-size:.9rem;color:var(--text-muted)}.nav a,.nav a:hover{text-decoration:none}.nav a:hover{color:var(--text)}main{flex:1 1;width:100%;max-width:900px;margin:0 auto;padding:3rem 1.5rem 4rem}section{margin-bottom:4rem}section:last-of-type{margin-bottom:0}.hero{padding-top:1rem;margin-bottom:4.5rem}.hero-label{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem}.hero h1{font-family:var(--font-display),serif;font-size:clamp(2.25rem,6vw,3.25rem);font-weight:500;line-height:1.15;margin-bottom:.75rem}.hero-tagline{font-size:1.15rem;color:var(--text-muted);max-width:32ch;margin-bottom:1.75rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.65rem 1.25rem;border-radius:999px;font-size:.9rem;font-weight:500;border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.btn-primary{background:var(--accent-soft);color:var(--accent);border-color:rgba(126,184,218,.35)}.btn-primary:hover{background:rgba(126,184,218,.25);text-decoration:none}.btn-ghost{background:transparent;color:var(--text-muted);border-color:var(--border)}.btn-ghost:hover{color:var(--text);border-color:var(--text-muted);text-decoration:none}.section-title{font-family:var(--font-display),serif;font-size:1.5rem;font-weight:500;margin-bottom:1.25rem;color:var(--text)}.prose{color:var(--text-muted);max-width:var(--max)}.project-page-prose>div+div,.prose p+p,.prose>div+div{margin-top:1rem}.project-card-reveal{display:flex;flex-direction:column;min-height:100%}.project-card-reveal .project-card{flex:1 1}.work-stripe-bleed{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);margin-top:1.5rem}.project-spin-stripe{padding-block:.25rem}.project-spin-stripe-viewport{overflow:hidden;padding-block:.75rem;cursor:-webkit-grab;cursor:grab;-webkit-mask-image:linear-gradient(90deg,transparent 0,black 8%,black 92%,transparent);mask-image:linear-gradient(90deg,transparent 0,black 8%,black 92%,transparent)}.project-spin-stripe-viewport:active{cursor:-webkit-grabbing;cursor:grabbing}.project-stripe-marquee{display:flex;width:max-content;gap:1rem;animation:project-stripe-scroll 30s linear infinite}.project-spin-stripe-viewport:hover .project-stripe-marquee{animation-play-state:paused}@keyframes project-stripe-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.project-stripe-group{display:flex;gap:1rem;flex-shrink:0}.project-stripe-card{flex-shrink:0;width:min(300px,78vw);border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--border);overflow:hidden;transition:transform .25s ease,border-color .2s,box-shadow .25s ease}.project-stripe-card:hover{transform:translateY(-3px);border-color:rgba(126,184,218,.35);box-shadow:0 10px 28px rgba(0,0,0,.35)}.project-stripe-card-link{display:block;color:inherit;text-decoration:none}.project-stripe-card-link:hover{text-decoration:none}.project-stripe-image-wrap{position:relative;aspect-ratio:16/10;background:rgba(0,0,0,.3)}.project-stripe-image{width:100%;height:100%;object-fit:cover;display:block}.project-stripe-card-body{padding:1rem 1.15rem 1.2rem}.project-stripe-card-title{font-size:1.05rem;font-weight:600;margin-bottom:.35rem;color:var(--text)}.project-stripe-card-summary{font-size:.88rem;color:var(--text-muted);line-height:1.45;margin-bottom:.65rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-stripe-card-cta{font-size:.85rem;font-weight:500;color:var(--accent)}.project-stripe-hint{text-align:center;font-size:.78rem;color:var(--text-muted);margin-top:1rem;opacity:.9}.project-spin-stripe--static{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;padding-block:.75rem}.project-spin-stripe-static-item{width:min(300px,100%)}@media (prefers-reduced-motion:reduce){.project-stripe-marquee{animation:none;flex-wrap:wrap;justify-content:center;width:100%!important;max-width:56rem;margin-inline:auto;padding-inline:1rem}.project-stripe-group[aria-hidden=true]{display:none}}.project-grid{display:grid;grid-gap:1rem;gap:1rem}@media (min-width:560px){.project-grid{grid-template-columns:repeat(2,1fr)}}.project-card{padding:1.35rem;border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--border);transition:border-color .15s,background .15s}.project-card:hover{border-color:rgba(126,184,218,.25);background:rgba(255,255,255,.06)}.project-card h3{font-size:1.05rem;font-weight:600;margin-bottom:.4rem;color:var(--text)}.project-card p{font-size:.9rem;color:var(--text-muted);margin-bottom:.75rem}.project-card a{font-size:.85rem;font-weight:500}.contact-box{padding:1.5rem;border-radius:var(--radius);background:var(--bg-card);border:1px solid var(--border);max-width:var(--max)}.contact-box p{color:var(--text-muted);margin-bottom:.75rem}.contact-links{display:flex;flex-wrap:wrap;gap:1rem}.site-footer{padding:1.5rem;border-top:1px solid var(--border);text-align:center;font-size:.85rem}.site-footer,.site-footer a{color:var(--text-muted)}.site-footer a:hover{color:var(--accent)}.project-page-main{flex:1 1;width:100%;max-width:900px;margin:0 auto;padding:2rem 1.5rem 4rem}.back-link{display:inline-block;font-size:.9rem;color:var(--text-muted);margin-bottom:2rem}.back-link:hover{color:var(--accent);text-decoration:none}.project-page-header{margin-bottom:2rem}.project-page-title{font-family:var(--font-display),serif;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:500;line-height:1.2;margin-bottom:.75rem}.project-page-lead{font-size:1.1rem;color:var(--text-muted);max-width:50ch}.project-gallery,.project-page-prose{margin-bottom:3rem}.project-gallery{display:flex;flex-direction:column;gap:2rem}.project-gallery-figure{margin:0}.project-gallery-image-wrap{position:relative;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);background:var(--bg-card)}.project-gallery-image{width:100%;height:auto;display:block;vertical-align:middle}.project-gallery-caption{font-size:.85rem;color:var(--text-muted);margin-top:.6rem;padding:0 .15rem}.project-links-section{margin-bottom:0}.project-links-heading{margin-bottom:1rem}.project-links-row{display:flex;flex-wrap:wrap;gap:.75rem}