:root{--cream:#f5efe4;--cream-deep:#ebe3d3;--ink:#1c1410;--ink-soft:#3a2c25;--coral:#ff5a3c;--mustard:#f0b429;--cobalt:#2945e8;--sage:#6b8e5a;--rose:#ffb1bd;--plum:#5e2a5e;--grain:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.4 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:Instrument Sans,sans-serif;background:var(--cream);color:var(--ink);overflow-x:hidden;line-height:1.5;cursor:none}body:before{content:"";position:fixed;inset:0;background-image:var(--grain);opacity:.18;pointer-events:none;z-index:999;mix-blend-mode:multiply}a{color:inherit}.cursor{width:24px;height:24px;border:1.5px solid var(--ink);z-index:10000;transition:transform .2s ease,background .2s ease,border-color .2s ease;mix-blend-mode:difference}.cursor,.cursor-dot{position:fixed;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%)}.cursor-dot{width:6px;height:6px;background:var(--coral);z-index:10001}.cursor.hover{transform:translate(-50%,-50%) scale(2.2);background:var(--coral);border-color:var(--coral)}nav{position:fixed;top:0;left:0;right:0;padding:1.5rem 2.5rem;justify-content:space-between;z-index:100;mix-blend-mode:difference;color:var(--cream)}.logo,nav{display:flex;align-items:center}.logo{font-family:Fraunces,serif;font-size:1.4rem;font-weight:600;font-style:italic;letter-spacing:-.02em;gap:.5rem;text-decoration:none}.logo svg{width:28px;height:28px}.nav-links{display:flex;gap:2rem;font-family:JetBrains Mono,monospace;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.nav-links a{color:inherit;text-decoration:none;position:relative;padding:.25rem 0}.nav-links a:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.7,0,.3,1)}.nav-links a:hover:after{transform:scaleX(1);transform-origin:left}.hero{min-height:100vh;position:relative;padding:8rem 2.5rem 4rem;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.hero-meta{font-family:JetBrains Mono,monospace;font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;display:flex;justify-content:space-between;margin-bottom:3rem;opacity:.7}.hero-title{font-family:Fraunces,serif;font-size:clamp(4rem,14vw,14rem);line-height:.85;letter-spacing:-.04em;font-weight:400;position:relative;z-index:2}.hero-title .it{font-style:italic;font-variation-settings:"SOFT" 100;color:var(--coral)}.hero-title .small{font-family:"Instrument Serif",serif;font-style:italic;font-size:.35em;display:inline-block;vertical-align:middle;color:var(--ink-soft);margin:0 .4em}.hero-sub{display:grid;grid-template-columns:1fr auto 1fr;grid-gap:2rem;gap:2rem;align-items:end;margin-top:3rem}.hero-sub p{font-family:"Instrument Serif",serif;font-size:1.15rem;line-height:1.55;max-width:38ch;font-style:italic}.hero-sub p.right{font-family:JetBrains Mono,monospace;font-style:normal;font-size:.78rem;text-transform:uppercase;letter-spacing:.15em;text-align:right;justify-self:end;line-height:1.7}.deco{position:absolute;pointer-events:none}.deco-1{top:12%;right:8%;width:180px;animation:bob 6s ease-in-out infinite}.deco-2{top:55%;left:4%;width:120px;animation:spin 24s linear infinite}.deco-3{bottom:8%;right:18%;width:90px;animation:bob 4s ease-in-out infinite reverse}.deco-4{top:38%;right:35%;width:60px;animation:pulse 3s ease-in-out infinite}@keyframes bob{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-22px) rotate(8deg)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.marquee{background:var(--ink);color:var(--cream);padding:1.4rem 0;overflow:hidden;border-top:1px solid var(--ink-soft);border-bottom:1px solid var(--ink-soft)}.marquee-track{display:flex;gap:3rem;white-space:nowrap;animation:scroll 35s linear infinite;font-family:Fraunces,serif;font-size:1.4rem;font-style:italic;font-weight:400}.marquee-track span{display:inline-flex;align-items:center;gap:3rem}.marquee-track svg{width:28px;height:28px;flex-shrink:0}@keyframes scroll{to{transform:translateX(-50%)}}.featured{padding:8rem 2.5rem;display:grid;grid-template-columns:1fr 1.2fr;grid-gap:5rem;gap:5rem;align-items:center;position:relative}.featured-label{font-family:JetBrains Mono,monospace;font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;margin-bottom:1.5rem;display:flex;align-items:center;gap:.7rem}.featured-label:before{content:"";width:32px;height:1px;background:var(--ink)}.featured h2{font-family:Fraunces,serif;font-size:clamp(2.5rem,5vw,4.5rem);line-height:.95;letter-spacing:-.03em;font-weight:400;margin-bottom:2rem}.featured h2 em{font-family:"Instrument Serif",serif;color:var(--cobalt)}.featured p{font-size:1.05rem;line-height:1.7;max-width:48ch;margin-bottom:2rem;color:var(--ink-soft)}.featured-meta{font-family:JetBrains Mono,monospace;font-size:.8rem;display:grid;grid-template-columns:auto 1fr;grid-gap:.5rem 2rem;gap:.5rem 2rem;border-top:1px solid var(--ink);padding-top:1.5rem}.featured-meta dt{text-transform:uppercase;letter-spacing:.12em;opacity:.6}.featured-image{position:relative;border-radius:4px;overflow:hidden;box-shadow:0 30px 60px -20px rgba(28,20,16,.35);transform:rotate(-1.5deg);transition:transform .6s cubic-bezier(.7,0,.3,1);display:block}.featured-image:hover{transform:rotate(0deg) scale(1.02)}.featured-image img,.featured-image svg{width:100%;height:auto;display:block}.gallery-section{padding:4rem 2.5rem 8rem;position:relative}.gallery-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:4rem;border-bottom:1px solid var(--ink);padding-bottom:2rem}.gallery-header h2{font-family:Fraunces,serif;font-size:clamp(3rem,7vw,6rem);line-height:.9;letter-spacing:-.04em;font-weight:400}.gallery-header h2 em{font-family:"Instrument Serif",serif;color:var(--coral)}.gallery-header .count{font-family:JetBrains Mono,monospace;font-size:.85rem;text-transform:uppercase;letter-spacing:.15em}.gallery{display:grid;grid-template-columns:repeat(12,1fr);grid-gap:2rem 2rem;gap:2rem 2rem;grid-row-gap:4rem;row-gap:4rem}.work{position:relative;cursor:none;transition:transform .5s cubic-bezier(.7,0,.3,1)}.work a{text-decoration:none;color:inherit;display:block}.work:hover{transform:translateY(-8px)}.work-frame{background:var(--cream-deep);border-radius:3px;overflow:hidden;position:relative;box-shadow:0 20px 40px -25px rgba(28,20,16,.3);transition:box-shadow .5s ease,transform .5s ease}.work:hover .work-frame{box-shadow:0 35px 60px -25px rgba(28,20,16,.5)}.work-frame img,.work-frame svg{width:100%;height:auto;display:block}.work-info{display:flex;justify-content:space-between;margin-top:1rem;font-family:JetBrains Mono,monospace;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em}.work-info h3{font-family:Fraunces,serif;font-style:italic;font-size:1.25rem;font-weight:400;text-transform:none;letter-spacing:-.01em;line-height:1.2;margin-bottom:.25rem}.work-info .meta{opacity:.7;line-height:1.5}.work-info .num{font-weight:500;align-self:flex-start}.work:nth-child(6n+1){grid-column:1/span 5}.work:nth-child(6n+2){grid-column:7/span 4;margin-top:6rem}.work:nth-child(6n+3){grid-column:1/span 4}.work:nth-child(6n+4){grid-column:6/span 5;margin-top:-3rem}.work:nth-child(6n+5){grid-column:2/span 5;margin-top:3rem}.work:nth-child(6n){grid-column:8/span 4}.work:nth-child(2n) .work-frame{transform:rotate(1.5deg)}.work:nth-child(3n) .work-frame{transform:rotate(-1.2deg)}.work:hover .work-frame{transform:rotate(0deg)}.gallery-empty{grid-column:1/-1;text-align:center;padding:6rem 0;font-family:"Instrument Serif",serif;font-style:italic;font-size:1.4rem;opacity:.5}.about{padding:8rem 2.5rem;background:var(--ink);color:var(--cream);position:relative;overflow:hidden}.about-inner{display:grid;grid-template-columns:1fr 1.3fr;grid-gap:5rem;gap:5rem;align-items:start;position:relative;z-index:2}.about-label{font-family:JetBrains Mono,monospace;font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;margin-bottom:2rem;opacity:.7}.about h2{font-family:Fraunces,serif;font-size:clamp(2.5rem,5vw,4.2rem);line-height:1;letter-spacing:-.03em;font-weight:400;margin-bottom:2rem}.about h2 em{font-family:"Instrument Serif",serif;color:var(--mustard)}.about p{font-size:1.1rem;line-height:1.7;max-width:52ch;margin-bottom:1.5rem;opacity:.85}.about-stats{margin-top:3rem;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:2rem;gap:2rem;border-top:1px solid rgba(245,239,228,.2);padding-top:2rem}.stat .num{font-family:Fraunces,serif;font-size:2.8rem;line-height:1;color:var(--coral);display:block;margin-bottom:.5rem}.stat .label{font-family:JetBrains Mono,monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.15em;opacity:.7}.about-deco{position:absolute;top:50%;right:5%;transform:translateY(-50%);width:320px;z-index:1;opacity:.95}.contact{padding:8rem 2.5rem;text-align:center;position:relative;overflow:hidden}.contact-eyebrow{font-family:JetBrains Mono,monospace;font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;margin-bottom:1.5rem}.contact h2{font-family:Fraunces,serif;font-size:clamp(3rem,9vw,8rem);line-height:.9;letter-spacing:-.04em;font-weight:400;margin-bottom:1rem}.contact h2 em{font-family:"Instrument Serif",serif;color:var(--cobalt)}.contact-email{display:inline-flex;align-items:center;gap:1rem;font-family:Fraunces,serif;font-style:italic;font-size:1.6rem;color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--ink);padding-bottom:.3rem;margin-top:2rem;position:relative;transition:color .3s ease}.contact-email:hover{color:var(--coral);border-color:var(--coral)}.contact-email svg{width:28px;height:28px;transition:transform .4s cubic-bezier(.7,0,.3,1)}.contact-email:hover svg{transform:translate(6px,-6px) rotate(-15deg)}footer{padding:2.5rem;border-top:1px solid var(--ink);display:flex;justify-content:space-between;align-items:center;font-family:JetBrains Mono,monospace;font-size:.74rem;text-transform:uppercase;letter-spacing:.12em}.footer-socials{display:flex;gap:1.5rem}.footer-socials a{color:var(--ink);text-decoration:none;opacity:.7;transition:opacity .3s ease}.footer-socials a:hover{opacity:1;color:var(--coral)}.reveal{opacity:0;transform:translateY(40px);transition:opacity 1s cubic-bezier(.2,.8,.2,1),transform 1s cubic-bezier(.2,.8,.2,1)}.reveal.in{opacity:1;transform:translateY(0)}.detail{padding:8rem 2.5rem 4rem;max-width:1400px;margin:0 auto}.detail-back{font-family:JetBrains Mono,monospace;font-size:.78rem;text-transform:uppercase;letter-spacing:.15em;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem;margin-bottom:3rem;opacity:.7;transition:opacity .3s ease}.detail-back:hover{opacity:1;color:var(--coral)}.detail-grid{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:5rem;gap:5rem;align-items:start}.detail-image{background:var(--cream-deep);border-radius:4px;overflow:hidden;box-shadow:0 30px 60px -25px rgba(28,20,16,.4)}.detail-image img{width:100%;height:auto;display:block}.detail-info{padding-top:2rem}.detail-id{font-family:JetBrains Mono,monospace;font-size:.78rem;text-transform:uppercase;letter-spacing:.18em;opacity:.6;margin-bottom:1.5rem}.detail-info h1{font-family:Fraunces,serif;font-style:italic;font-size:clamp(2.5rem,5vw,4rem);line-height:.95;letter-spacing:-.03em;font-weight:400;margin-bottom:2rem}.detail-info p{font-family:"Instrument Serif",serif;font-size:1.2rem;line-height:1.6;margin-bottom:2.5rem;color:var(--ink-soft)}.detail-meta{font-family:JetBrains Mono,monospace;font-size:.8rem;display:grid;grid-template-columns:auto 1fr;grid-gap:.6rem 2rem;gap:.6rem 2rem;border-top:1px solid var(--ink);padding-top:1.5rem}.detail-meta dt{text-transform:uppercase;letter-spacing:.12em;opacity:.6}.welcome-overlay{position:fixed;inset:0;background:rgba(28,20,16,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:10002;display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:welcomeFade .4s ease}.welcome-card{background:var(--cream);max-width:480px;width:100%;padding:2.6rem 2.4rem 2.2rem;border-radius:6px;position:relative;box-shadow:0 40px 80px -20px rgba(0,0,0,.45);cursor:auto;animation:welcomePop .5s cubic-bezier(.2,.8,.2,1)}.welcome-eyebrow{font-family:JetBrains Mono,monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.18em;margin-bottom:1.2rem;opacity:.6}.welcome-card h2{font-family:Fraunces,serif;font-size:2.4rem;line-height:.95;letter-spacing:-.03em;font-weight:400;margin-bottom:1.3rem}.welcome-card h2 em{font-family:"Instrument Serif",serif;color:var(--coral)}.welcome-card p{font-size:1rem;line-height:1.65;color:var(--ink-soft);margin-bottom:1.6rem}.welcome-mail{display:inline-block;font-family:Fraunces,serif;font-style:italic;font-size:1.1rem;color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--ink);padding-bottom:.2rem;transition:color .3s ease,border-color .3s ease}.welcome-mail:hover{color:var(--coral);border-color:var(--coral)}.welcome-close{display:block;width:100%;margin-top:1.8rem;padding:.95rem 1.5rem;background:var(--ink);color:var(--cream);border:none;border-radius:3px;font-family:JetBrains Mono,monospace;font-size:.78rem;text-transform:uppercase;letter-spacing:.15em;cursor:pointer;transition:background .3s ease}.welcome-close:hover{background:var(--coral)}@keyframes welcomeFade{0%{opacity:0}to{opacity:1}}@keyframes welcomePop{0%{opacity:0;transform:translateY(20px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:900px){body{cursor:auto}.cursor,.cursor-dot{display:none}nav{padding:1.2rem}.nav-links{gap:1rem;font-size:.7rem}.hero{padding:6rem 1.2rem 3rem}.hero-sub{grid-template-columns:1fr;gap:1.5rem}.hero-sub p.right{text-align:left;justify-self:start}.featured{grid-template-columns:1fr;padding:5rem 1.2rem;gap:3rem}.gallery-section{padding:3rem 1.2rem 5rem}.gallery{grid-template-columns:1fr;row-gap:2.5rem}.work:nth-child(n){grid-column:1/-1;margin-top:0}.about{padding:5rem 1.2rem}.about-inner{grid-template-columns:1fr;gap:2rem}.about-deco{display:none}.about-stats{grid-template-columns:1fr;gap:1.5rem}.contact{padding:5rem 1.2rem}footer{flex-direction:column;gap:1rem;padding:2rem 1.2rem;text-align:center}.detail{padding:6rem 1.2rem 3rem}.detail-grid{grid-template-columns:1fr;gap:2rem}}