@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.518e079e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.ea323500.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.853d50a3.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.55554cd0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.3b6cae6d.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_efde1a47-module__SZ3kUW__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_efde1a47-module__SZ3kUW__variable{--font-geist:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.56c1f21e.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.3b336396.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.e3369375.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.a40b9a8b.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.fe42ddf4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.29207c2f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_4ac27a97-module__1EEhOq__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_4ac27a97-module__1EEhOq__variable{--font-mono:"Geist Mono","Geist Mono Fallback"}
:root{--bg:#f3f1ec;--bg-alt:#ece7de;--bg-card:#fff;--fg:#1a1714;--fg-secondary:#4a443d;--fg-muted:#8a8278;--accent:#1a1714;--brand:#d98e2b;--border:#e6e1d8;--card-shadow:#1a171414;--card-shadow-hover:#1a171429;--live:#3a9d5d;--cat-design:#5c564d;--cat-content:#c8651f;--cat-product:#5c564d;--font-sans:var(--font-geist,"Geist"),sans-serif;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--space-5xl:8rem;--max-width:1100px;--content-width:680px;--nav-height:0px;--gutter:clamp(2rem,6vw,5rem);--ease:cubic-bezier(.16,1,.3,1);--duration:.4s}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--bg);color:var(--fg);line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}::selection{background:var(--fg);color:var(--bg)}.dock{z-index:100;pointer-events:none;transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .35s cubic-bezier(.4,0,.2,1);position:fixed;top:0;left:0;right:0}.dock--hidden{opacity:0;pointer-events:none;transform:translateY(calc(-100% - 40px))}.dock-align{max-width:var(--content-width);padding:calc(var(--space-xl) + 10px)var(--gutter)10px;justify-content:space-between;align-items:center;gap:var(--space-md);background:var(--bg);pointer-events:auto;margin:0 auto;display:flex;position:relative}.dock-align:after{content:"";background:linear-gradient(to bottom,var(--bg)0%,transparent 100%);pointer-events:none;height:24px;position:absolute;top:100%;left:0;right:0}.dock-identity{align-items:center;gap:10px;min-width:0;text-decoration:none;display:inline-flex}.dock-identity-avatar{object-fit:cover;border-radius:6px;flex-shrink:0;width:38px;height:38px}.dock-identity-name{color:var(--fg-muted);font-size:1rem;font-weight:400;font-family:var(--font-sans);letter-spacing:.02em;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dock-inner{border-radius:100px;align-items:center;gap:2px;padding:5px;display:flex}.dock-divider{background:var(--border);width:1px;height:14px;margin:0 4px}.dock-item{color:var(--fg-muted);font-family:var(--font-sans);letter-spacing:.1em;text-transform:lowercase;transition:all .25s var(--ease);white-space:nowrap;cursor:default;border-radius:100px;align-items:center;gap:6px;padding:8px 16px;font-size:.55rem;text-decoration:none;display:flex;position:relative}.dock-icon{transition:transform .25s var(--ease);align-items:center;display:flex}.dock-label{transition:color .2s var(--ease)}.dock-item:hover{color:var(--fg);background:var(--bg-alt)}.dock-item:hover .dock-icon{transform:scale(1.1)translateY(-1px)}.dock-item--active{color:var(--fg);background:var(--bg-alt)}.dock-item--logo{padding:6px 10px}.dock-logo-svg{width:28px;height:21px;color:var(--fg-muted);transition:color .25s var(--ease),transform .25s var(--ease);display:block}.dock-item--logo:hover .dock-logo-svg,.dock-item--logo.dock-item--active .dock-logo-svg{color:var(--fg)}.dock-item--logo:hover .dock-logo-svg{transform:scale(1.08)}.hero{min-height:90vh;padding:var(--space-2xl)var(--gutter)var(--space-3xl);max-width:var(--max-width);text-align:center;flex-direction:column;justify-content:center;align-items:center;margin:0 auto;display:flex;position:relative}.hero-identity{margin-bottom:var(--space-3xl);align-items:center;gap:10px;display:inline-flex}.hero-avatar{border-radius:50%;flex-shrink:0;width:36px;height:36px;overflow:hidden}.hero-avatar img{object-fit:cover;width:100%;height:100%}.hero-identity-text{color:var(--fg-muted);font-size:1rem;font-weight:400;font-family:var(--font-sans);letter-spacing:.02em}.hero-tagline{letter-spacing:-.01em;color:var(--fg-secondary);max-width:720px;margin:0 auto;font-size:clamp(1.4rem,2.8vw,2.2rem);font-weight:500;line-height:1.2}.hero-subtitle{font-family:var(--font-sans);letter-spacing:.2em;text-transform:lowercase;color:var(--fg-muted);font-size:clamp(.6rem,1.1vw,.75rem)}.hero-subtitle strong{color:var(--fg-secondary);font-weight:700}.hero-montage{opacity:0;pointer-events:none;z-index:0;transition:opacity .5s;position:absolute;inset:0;overflow:hidden}.hero-montage--visible{opacity:1}.hero-montage-img{object-fit:cover;filter:blur(30px)brightness(.4);opacity:.35;width:100%;height:100%;position:absolute;inset:0}.hero-logo-composite{margin-bottom:var(--space-3xl);z-index:1;align-items:flex-start;gap:clamp(-46px,-4.5vw,-32px);display:flex;position:relative}.hero-chevron{cursor:pointer;will-change:transform,opacity;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;align-items:center;gap:12px;padding:0;transition:transform .6s cubic-bezier(.16,1,.3,1),opacity .4s,filter .4s;display:flex;position:relative}.hero-chevron:hover{filter:brightness(1.35)drop-shadow(0 4px 12px #ffffff26);transform:scale(1.04)translateY(-4px)}.hero-chevron-svg{width:auto;height:clamp(150px,34vw,300px)}.hero-chevron:first-child{color:#e8e4e08c}.hero-chevron:nth-child(2){color:#e8e4e059}.hero-chevron:nth-child(3){color:#e8e4e02e}.hero-logo-composite:hover .hero-chevron:not(:hover){opacity:.6;filter:brightness(.9)}.hero-chevron-label{font-family:var(--font-sans);letter-spacing:.02em;text-transform:none;color:var(--fg-muted);font-size:.8rem;font-weight:400;transition:color .3s,opacity .3s,transform .3s}.hero-chevron:hover .hero-chevron-label{color:var(--fg-secondary)}.hero-instruction{align-items:center;gap:var(--space-md);font-family:var(--font-sans);letter-spacing:.2em;text-transform:lowercase;color:var(--fg-muted);text-align:center;margin-top:calc(-1*var(--space-xl));margin-bottom:var(--space-2xl);pointer-events:none;opacity:.5;z-index:10;flex-direction:column;font-size:.55rem;display:flex}.hero-instruction--fade{opacity:0!important}.hero-chevron--fade{opacity:0;pointer-events:none;transform:scale(.95)}.hero-chevron--expanding{z-index:200;animation:.35s forwards chevron-pulse}.hero-chevron--expanding .hero-chevron-label{opacity:0}@keyframes chevron-pulse{0%{opacity:1;transform:scale(1)}60%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:scale(1.12)}}.hero-transition-overlay{background:var(--bg);z-index:150;pointer-events:none;clip-path:circle(0px at var(--cx,50%)var(--cy,50%));position:fixed;inset:0}.hero-transition-overlay--active{pointer-events:all;animation:.8s cubic-bezier(.16,1,.3,1) .15s forwards radial-wipe}@keyframes radial-wipe{0%{clip-path:circle(0px at var(--cx)var(--cy))}to{clip-path:circle(var(--max-r)at var(--cx)var(--cy))}}.exp{max-width:var(--max-width);padding:var(--space-2xl)var(--gutter);margin:0 auto}.exp-header{padding:var(--space-md)var(--space-xl);background:var(--bg);border:1px solid var(--border);border-radius:12px 12px 0 0;align-items:center;gap:8px;display:flex}.exp-header-icon{color:var(--fg-muted)}.exp-header-title{font-family:var(--font-sans);letter-spacing:.15em;text-transform:lowercase;color:var(--fg-muted);font-size:.65rem;font-weight:500}.exp-timeline{flex-direction:column;margin:0 auto;display:flex}.exp-card+.exp-card{margin-top:-1px}.exp-card{border:1px solid var(--border);border-radius:0;transition:border-color .3s;position:relative}.exp-card:first-child{margin-top:-1px}.exp-card:last-child{border-radius:0 0 12px 12px}.exp-card:nth-child(odd){background:var(--bg-alt)}.exp-card:nth-child(2n){background:var(--bg)}.exp-card:hover{border-color:var(--fg-muted)}.exp-summary{width:100%;padding:var(--space-lg)var(--space-xl);cursor:pointer;color:inherit;text-align:left;justify-content:space-between;align-items:center;gap:var(--space-lg);background:0 0;border:none;display:flex}.exp-summary-left{align-items:center;gap:var(--space-md);display:flex}.exp-summary-right{align-items:center;gap:var(--space-md);flex-shrink:0;display:flex}.exp-summary-period{font-family:var(--font-sans);letter-spacing:.08em;color:var(--fg-muted);font-size:.5rem}.exp-summary-sub{color:var(--fg-muted);margin-top:2px;font-size:.75rem}.exp-chevron{color:var(--fg-muted);transition:transform .3s}.exp-chevron--open{transform:rotate(180deg)}.exp-logo-col{flex-shrink:0}.exp-logo{object-fit:cover;border:1px solid var(--border);border-radius:6px;width:32px;height:32px}.exp-logo--placeholder{background:var(--bg-alt);color:var(--fg-muted);justify-content:center;align-items:center;display:flex}.exp-role{color:var(--fg-secondary);align-items:center;gap:8px;font-size:.85rem;font-weight:500;display:flex}.exp-badge{font-family:var(--font-sans);letter-spacing:.1em;text-transform:lowercase;color:#1e1b18;background:var(--brand);border-radius:100px;padding:2px 8px;font-size:.4rem;font-weight:600}.exp-details{max-height:0;transition:max-height .4s cubic-bezier(.16,1,.3,1);overflow:hidden}.exp-details--open{max-height:400px}.exp-details-inner{padding:0 var(--space-xl)var(--space-xl);border-top:1px solid var(--border);margin:0 var(--space-md);padding-top:var(--space-lg);flex-direction:column;gap:8px;display:flex}.exp-detail-role{color:var(--fg-secondary);font-size:.8rem;font-weight:500}.exp-type{font-family:var(--font-sans);letter-spacing:.08em;color:var(--fg-muted);font-size:.5rem}.exp-meta-item{font-family:var(--font-sans);letter-spacing:.08em;color:var(--fg-muted);align-items:center;gap:4px;font-size:.5rem;display:flex}.exp-desc{color:var(--fg-secondary);font-size:.78rem;line-height:1.6}.exp-skills{flex-wrap:wrap;gap:5px;margin-top:4px;display:flex}.exp-skill{font-family:var(--font-sans);letter-spacing:.1em;text-transform:lowercase;color:var(--fg-muted);background:var(--bg-alt);border:1px solid var(--border);border-radius:100px;padding:3px 10px;font-size:.45rem}@media (max-width:600px){.exp-summary{padding:var(--space-md);align-items:flex-start;gap:var(--space-sm);flex-direction:column}.exp-summary-right{justify-content:space-between;width:100%}.exp-details-inner{padding:var(--space-md);margin:0}.exp-role{font-size:.8rem}.exp-summary-sub{font-size:.7rem}}.article-banner-wrap{max-width:var(--content-width);padding:var(--space-xl)var(--gutter);margin:0 auto}.article-banner{color:inherit;background:var(--bg-alt);border:1px solid var(--border);transition:border-color .25s var(--ease);border-radius:100px;align-items:center;gap:12px;padding:12px 20px;text-decoration:none;display:flex}.article-banner:hover{border-color:var(--fg-muted)}.article-banner-label{font-family:var(--font-sans);letter-spacing:.08em;text-transform:lowercase;color:var(--fg-muted);flex-shrink:0;font-size:.68rem}.article-banner-title{color:var(--fg);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:500;overflow:hidden}.article-banner-arrow{color:var(--fg-muted);flex-shrink:0;margin-left:auto}.thoughts-list{max-width:var(--content-width);padding:0 var(--gutter)var(--space-3xl);margin:0 auto}.thought-row{justify-content:space-between;align-items:baseline;gap:var(--space-lg);padding:var(--space-lg)0;border-top:1px solid var(--border);color:inherit;transition:padding-left .2s var(--ease);text-decoration:none;display:flex}.thought-row:hover{padding-left:8px}.thought-row-title{color:var(--fg);margin-bottom:6px;font-size:1.15rem;font-weight:600}.thought-row-excerpt{color:var(--fg-muted);max-width:60ch;font-size:.88rem;line-height:1.6}.thought-row-date{font-family:var(--font-sans);color:var(--fg-muted);white-space:nowrap;flex-shrink:0;font-size:.72rem}.article{max-width:680px;padding:var(--space-5xl)var(--gutter)var(--space-2xl);margin:0 auto}.article-back{color:var(--fg-muted);margin-bottom:var(--space-2xl);transition:color .2s var(--ease);font-size:.78rem;text-decoration:none;display:inline-block}.article-back:hover{color:var(--fg)}.article-date{font-family:var(--font-sans);letter-spacing:.08em;color:var(--fg-muted);margin-bottom:var(--space-sm);font-size:.72rem;display:block}.article-title{letter-spacing:-.02em;color:var(--fg);margin-bottom:var(--space-2xl);font-size:clamp(1.9rem,5vw,2.8rem);font-weight:700;line-height:1.12}.article-body{color:var(--fg-secondary);font-size:1.05rem;line-height:1.75}.article-p{margin-bottom:var(--space-lg)}.article-figure{margin:var(--space-xl)0}.article-figure-img{border:1px solid var(--border);border-radius:12px;width:100%;height:auto;display:block}.article-quote{margin:var(--space-xl)0;padding:var(--space-lg)var(--space-xl);border-left:2px solid var(--fg);background:var(--bg-alt);border-radius:0 10px 10px 0}.article-quote p{color:var(--fg);margin-bottom:8px;font-size:1.15rem;font-weight:500;line-height:1.5}.article-quote cite{color:var(--fg-muted);font-size:.78rem;font-style:normal}.chapters{max-width:var(--content-width);padding:var(--space-2xl)var(--gutter)var(--space-lg);margin:0 auto}.chapters-head{margin-bottom:var(--space-lg);align-items:center;gap:14px;display:flex}.chapters-title{color:var(--fg);font-size:1.1rem;font-weight:600}.chapters-title span{color:var(--fg-muted);font-weight:400}.chapters-rewind{cursor:pointer;color:var(--fg-muted);transition:color .2s var(--ease);background:0 0;border:none;align-items:center;gap:8px;padding:0;font-size:.78rem;display:inline-flex}.chapters-rewind:hover{color:var(--fg)}.chapters-rewind-pill{background:var(--fg);width:34px;height:20px;color:var(--bg);transition:opacity .2s var(--ease);border-radius:100px;justify-content:center;align-items:center;display:inline-flex}.chapters-rewind:hover .chapters-rewind-pill{opacity:.85}.chapters-track{scroll-snap-type:x proximity;scrollbar-width:none;padding-bottom:4px;display:flex;overflow-x:auto}.chapters-track::-webkit-scrollbar{display:none}.chapter{scroll-snap-align:start;cursor:default;flex-direction:column;flex:0 0 220px;min-width:220px;display:flex}.chapter-top{background:var(--bg-alt);transition:background .25s var(--ease);padding-top:18px}.chapter:hover .chapter-top{background:var(--border)}.chapter-caption{color:var(--fg-muted);min-height:3.4em;padding:0 22px 14px 0;font-size:.78rem;line-height:1.4}.chapter-rail{background:var(--border);height:1px;position:relative}.chapter-dot{background:var(--fg-muted);width:7px;height:7px;transition:transform .25s var(--ease),background .25s var(--ease);border-radius:50%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.chapter:hover .chapter-dot{background:var(--fg);transform:translateY(-50%)scale(1.7)}.chapter-reveal{padding-top:46px;position:relative}.chapter-connector{background:var(--fg);transform-origin:top;width:1px;height:40px;transition:transform .3s var(--ease);position:absolute;top:0;left:0;transform:scaleY(0)}.chapter:hover .chapter-connector{transform:scaleY(1)}.chapter-date,.chapter-label{opacity:0;transition:opacity .3s var(--ease),transform .3s var(--ease);display:block;transform:translateY(6px)}.chapter-date{color:var(--fg);font-size:1.1rem;font-weight:600}.chapter-label{color:var(--fg-secondary);margin-top:2px;font-size:.85rem;transition-delay:40ms}.chapter:hover .chapter-date,.chapter:hover .chapter-label{opacity:1;transform:translateY(0)}.songs{max-width:var(--content-width);margin:var(--space-xl)auto;padding:var(--space-xl)var(--space-xl)var(--space-lg);background:var(--bg-alt);border:1px solid var(--border);border-radius:16px}@media (max-width:720px){.songs{margin-left:var(--space-md);margin-right:var(--space-md);padding:var(--space-lg)}.track-badge{--badge-size:118px}}.songs-head{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-lg);display:flex}.songs-head-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:12px;display:flex}.songs-title{color:var(--fg);font-size:1.1rem;font-weight:600}.songs-title span{color:var(--fg-muted);font-weight:400}.live-stats{flex-shrink:0;align-items:center;gap:16px;display:inline-flex}.live-stat{color:var(--fg-secondary);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:7px;font-size:.82rem;display:inline-flex}.live-stat svg{color:var(--fg);flex-shrink:0}.player-stage{margin-bottom:var(--space-lg);padding:var(--space-lg);isolation:isolate;border-radius:16px;position:relative;overflow:hidden}.player-stage__bg{z-index:0;background:radial-gradient(70% 130% at 85%,#d6783638 0%,#0000 58%),linear-gradient(100deg,#151110 0%,#1c1613 55%,#241a14 100%);position:absolute;inset:0}.player-stage__grain{mix-blend-mode:overlay;opacity:.22;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");background-size:160px 160px;position:absolute;inset:0}.player-stage__body{z-index:1;justify-content:space-between;align-items:center;gap:var(--space-lg);display:flex;position:relative}.player-stage__meta{flex:1;min-width:0}.player-eyebrow{font-family:var(--font-mono,ui-monospace,monospace);letter-spacing:.14em;text-transform:uppercase;color:#fff8eeb3;margin-bottom:6px;font-size:.68rem}.player-title{color:#fff8ee;text-shadow:0 1px 12px #00000040;text-overflow:ellipsis;white-space:nowrap;font-size:1.55rem;font-weight:600;line-height:1.15;overflow:hidden}.player-artist{color:#fff5e8b8;margin-top:2px;font-size:.95rem}.player-controls{align-items:center;gap:10px;margin-top:16px;display:flex}.player-btn{color:#fff8ee;cursor:pointer;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);width:38px;height:38px;transition:background .18s var(--ease),transform .18s var(--ease),border-color .18s var(--ease);background:#fff5e81f;border:1px solid #fff5e847;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.player-btn:hover{background:#fff5e838;border-color:#fff5e880}.player-btn:active{transform:scale(.92)}.player-btn--play{color:#7c3a1f;background:#fff8ee;border-color:#fff8ee;width:50px;height:50px}.player-btn--play:hover{background:#fff;border-color:#fff}@media (max-width:560px){.player-stage__body{text-align:center;gap:var(--space-md);flex-direction:column}.player-controls{justify-content:center}.player-title{white-space:normal}}.track-badge{--badge-size:150px;--glow:0;width:var(--badge-size);height:var(--badge-size);transform-origin:50%;will-change:transform,filter;filter:drop-shadow(0 0 calc(20px*var(--glow))rgba(248,190,110,calc(.5*var(--glow))));flex-shrink:0}.track-badge svg{width:100%;height:100%;display:block;overflow:visible}.track-badge__ring{transform-box:fill-box;transform-origin:50%}.track-badge__ring text{font-family:var(--font-mono,ui-monospace,monospace);letter-spacing:.4px;fill:#fff;font-size:9px;font-weight:600}@media (prefers-reduced-motion:reduce){.track-badge{filter:none;transform:none!important}}.songs-list{margin:0 0 var(--space-lg);padding:0;list-style:none}.song-row{border:none;border-top:1px solid var(--border);text-align:left;cursor:pointer;width:100%;color:var(--fg-secondary);transition:color .2s var(--ease),padding-left .2s var(--ease);background:0 0;align-items:baseline;gap:14px;padding:11px 2px;display:flex}.songs-list li:first-child .song-row{border-top:none}.song-row:hover{color:var(--fg);padding-left:8px}.song-row--active{color:var(--fg)}.song-index{width:20px;color:var(--fg-muted);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.72rem}.song-title{color:inherit;font-size:.95rem;font-weight:500}.song-artist{color:var(--fg-muted);margin-left:auto;font-size:.8rem}.song-note{color:var(--fg-muted);margin-top:-4px;padding:2px 2px 8px 34px;font-size:.74rem}.song-note a{color:var(--fg-secondary);text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--border);text-decoration-color:var(--border);transition:text-decoration-color .2s var(--ease)}.song-note a:hover{-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}.songs-player{border-radius:12px;min-height:80px;overflow:hidden}.songs-player iframe{border-radius:12px;display:block}.status-strip{max-width:var(--content-width);padding:var(--space-md)var(--gutter)var(--space-xl);margin:0 auto}.status-badge{justify-content:space-between;align-items:center;gap:var(--space-xl);border:1px solid var(--border);background:var(--bg-alt);text-transform:lowercase;border-radius:14px;width:100%;min-height:72px;padding:16px 22px;display:flex;position:relative;overflow:hidden}.status-badge-left{z-index:1;align-items:center;gap:20px;min-width:0;display:flex;position:relative}.status-badge-item{color:var(--fg);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:8px;font-size:.82rem;display:inline-flex}.status-badge-item svg{color:var(--fg);flex-shrink:0}.status-badge-right{z-index:1;text-align:left;flex-direction:column;flex-shrink:0;align-items:flex-start;gap:4px;display:flex;position:relative}.status-badge-location{color:var(--fg-secondary);font-size:.72rem}.status-badge-location em{font-style:italic}.status-badge-weather{color:var(--fg);white-space:nowrap;font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:.78rem;display:inline-flex}.status-badge-desc{color:var(--fg-secondary)}.avail{max-width:var(--max-width);padding:var(--space-2xl)var(--gutter);margin:0 auto}.avail-box{border:1px solid var(--border);border-radius:12px;position:relative;overflow:hidden}.avail-box:before,.avail-box:after{content:"";pointer-events:none;width:8px;height:8px;position:absolute}.avail-box:before{border-top:2px solid var(--fg-muted);border-left:2px solid var(--fg-muted);top:-1px;left:-1px}.avail-box:after{border-bottom:2px solid var(--fg-muted);border-right:2px solid var(--fg-muted);bottom:-1px;right:-1px}.avail-row{padding:var(--space-lg)var(--space-xl);border-bottom:1px solid var(--border);background:var(--bg-alt);justify-content:space-between;align-items:center;gap:var(--space-lg);display:flex}.avail-status{align-items:center;gap:10px;display:flex}.avail-dot{background:var(--brand);border-radius:50%;flex-shrink:0;width:8px;height:8px;box-shadow:0 0 6px #f2b85e66}.avail-dot--booked{background:#ef4444;box-shadow:0 0 6px #ef444466}.avail-label{color:var(--fg-secondary);font-size:.85rem;font-weight:400}.avail-ctas{gap:var(--space-sm);flex-shrink:0;display:flex}.avail-cta{cursor:pointer;white-space:nowrap;border:none;border-radius:4px;align-items:center;gap:5px;padding:7px 16px;font-size:.7rem;font-weight:500;text-decoration:none;transition:all .25s;display:inline-flex}.avail-cta--primary{background:var(--brand);color:var(--bg);border-color:var(--brand);font-weight:600}.avail-cta--primary:hover{background:#e5a94d;border-color:#e5a94d}.avail-cta--secondary{color:var(--fg-secondary);border:1px solid var(--border);background:0 0}.avail-cta--secondary:hover{border-color:var(--fg-muted);color:var(--fg)}.avail-week{background:var(--bg);grid-template-columns:repeat(7,1fr);display:grid}.avail-day{text-align:center;padding:var(--space-md)0;letter-spacing:.02em;border-right:1px solid var(--border);font-size:.75rem;font-weight:400;transition:background .2s}.avail-day:last-child{border-right:none}.avail-day--open{color:var(--fg-secondary)}.avail-day--open:hover{background:#4ade800f}.avail-day--blocked{color:#d6d0c4;background:#1a17140a}.avail-toggle{border:1px solid var(--border);cursor:pointer;font-family:var(--font-sans);letter-spacing:.06em;color:var(--fg-muted);background:0 0;border-radius:100px;flex-shrink:0;align-items:center;gap:4px;margin-left:8px;padding:3px 10px;font-size:.5rem;transition:all .2s;display:inline-flex}.avail-toggle:hover{color:var(--fg-secondary);border-color:var(--fg-muted)}.avail-toggle-icon{transition:transform .3s}.avail-toggle-icon--up{transform:rotate(180deg)}.avail-month{max-height:0;transition:max-height .4s;overflow:hidden}.avail-month--open{max-height:400px}.avail-month-inner{background:var(--bg);border-top:1px solid var(--border)}.avail-month-grid{grid-template-columns:repeat(7,1fr);display:grid}.avail-month-wday{text-align:center;letter-spacing:.02em;color:var(--fg-muted);border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:8px 0 4px;font-size:.6rem;font-weight:500}.avail-month-wday:last-child{border-right:none}.avail-month-empty{border-right:1px solid var(--border);border-bottom:1px solid var(--border)}.avail-month-empty:nth-child(7n+7){border-right:none}.avail-month-day{text-align:center;padding:var(--space-sm)0;letter-spacing:.02em;border-right:1px solid var(--border);border-bottom:1px solid var(--border);font-size:.7rem;font-weight:400;transition:background .2s}.avail-month-day:nth-child(7n+7){border-right:none}.avail-month-day--open{color:var(--fg-secondary)}.avail-month-day--open:hover{background:#4ade800f}.avail-month-day--blocked{color:#d6d0c4;background:#1a17140a}.avail-month-today{color:var(--fg);box-shadow:inset 0 -2px 0 var(--brand);font-weight:600}@media (max-width:600px){.avail-row{align-items:flex-start;gap:var(--space-md);padding:var(--space-md);flex-direction:column}.avail-ctas{width:100%}.avail-cta{flex:1;justify-content:center}.avail-day{padding:var(--space-sm)0;font-size:.65rem}.avail-month-inner{padding:var(--space-sm)var(--space-md)}}.divider{background:var(--border);width:100%;height:1px}.about{padding:calc(var(--space-4xl) + 42px)0 0;max-width:var(--max-width);margin:0 auto;overflow:visible}.about-content{grid-template-columns:1fr;align-items:end;display:grid;position:relative}.about-left{max-width:var(--content-width);padding:0 var(--gutter)var(--space-xl);z-index:2;margin:0 auto;position:relative}.about-identity{margin-bottom:var(--space-lg);top:var(--space-xl);z-index:90;background:var(--bg);align-items:center;gap:10px;display:flex;position:sticky}.about-avatar{border-radius:6px;flex-shrink:0;width:38px;height:38px;overflow:hidden}.about-avatar-img{object-fit:cover;width:100%;height:100%}.about-label{color:var(--fg-muted);font-size:1rem;font-weight:400;font-family:var(--font-sans);letter-spacing:.02em;margin:0}.about-text{color:var(--fg-secondary);margin-bottom:var(--space-lg);max-width:100%;font-size:clamp(.9rem,1.4vw,1rem);line-height:1.65}.about-link{color:var(--fg-secondary);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--fg-muted);text-decoration-color:var(--fg-muted);transition:text-decoration-color .2s var(--ease)}.about-link:hover{-webkit-text-decoration-color:var(--fg);text-decoration-color:var(--fg)}.about-link--company{color:var(--fg-muted);font-weight:500;text-decoration:none}.about-link--company:hover{color:var(--fg)}.about-cta{font-family:var(--font-sans);letter-spacing:.08em;text-transform:lowercase;color:var(--bg);background:var(--brand);margin-top:var(--space-xl);border:1px solid var(--brand);transition:all .25s var(--ease);border-radius:100px;align-items:center;gap:8px;padding:10px 20px;font-size:.65rem;font-weight:600;text-decoration:none;display:inline-flex}.about-cta:hover{background:#e5a94d;border-color:#e5a94d;gap:10px}.about-socials{gap:var(--space-lg);margin-top:var(--space-3xl);flex-wrap:wrap;display:flex}.about-social-link{font-family:var(--font-sans);letter-spacing:.1em;text-transform:lowercase;color:var(--fg-muted);transition:color .25s var(--ease);align-items:center;gap:6px;font-size:.55rem;text-decoration:none;display:flex}.about-social-link:hover{color:var(--fg)}.about-right{margin-right:calc(-1*var(--gutter));flex-direction:column;justify-content:flex-end;align-self:end;align-items:center;margin-bottom:0;padding-bottom:0;line-height:0;display:flex;position:relative;overflow:visible}.about-sign{opacity:.85;z-index:2;width:160px;height:auto;margin-bottom:-80px;position:relative}.character-img{object-fit:contain;object-position:bottom right;filter:drop-shadow(-20px 10px 40px #00000080);width:85%;height:auto;display:block}.about-photo{aspect-ratio:1;object-fit:cover;border-radius:12px;width:70%;height:auto;display:block}@media (max-width:768px){.about-content{grid-template-columns:1fr}.about-left{padding:0 var(--gutter);order:1}.about-right{padding:0 var(--gutter);order:2;justify-content:center;margin-right:0}.character-img{width:80%;max-width:360px}}.skills-section{padding:var(--space-5xl)var(--gutter);max-width:var(--max-width);margin:0 auto}.skills-label{color:var(--fg-muted);margin-bottom:var(--space-xl);font-size:1.3rem;font-weight:400}.skills-grid{border:1px solid var(--border);border-radius:8px;grid-template-columns:1fr 1fr;display:grid}.skills-cell{padding:var(--space-2xl)}.skills-cell:first-child{border-right:1px solid var(--border);grid-row:1/3}.skills-cell:nth-child(2){border-bottom:1px solid var(--border)}.skills-cell-title{font-family:var(--font-sans);letter-spacing:.2em;text-transform:lowercase;color:var(--fg-muted);margin-bottom:var(--space-lg);font-size:.65rem}.skills-cell-items{gap:var(--space-sm);flex-direction:column;list-style:none;display:flex}.skills-cell-items li{color:var(--fg-secondary);font-size:1.1rem}.skills-cell-items li a{transition:color var(--duration)var(--ease)}.skills-cell-items li a:hover{color:var(--fg)}.works-hero{width:100%;padding:var(--space-5xl)var(--gutter)var(--space-3xl);text-align:center;position:relative;overflow:hidden}.halftone-hero-wrap{z-index:0;pointer-events:none;position:absolute;inset:-30% -15%;-webkit-mask-image:radial-gradient(#000 0%,#000000b3 30%,#0000004d 55%,#0000 80%);mask-image:radial-gradient(#000 0%,#000000b3 30%,#0000004d 55%,#0000 80%)}.halftone-hero-svg{width:100%;height:100%;display:block}.works-hero-label,.works-hero-heading,.works-hero-sub{z-index:1;position:relative}.works-hero-label{color:var(--fg-muted);margin-bottom:var(--space-md);font-size:1.3rem;font-weight:400}.works-hero-heading{letter-spacing:-.03em;margin-bottom:var(--space-lg);font-size:clamp(2.2rem,6vw,3.5rem);font-weight:400;line-height:1.1}.works-hero-sub{color:var(--fg-secondary);max-width:480px;margin:0 auto;font-size:.95rem;line-height:1.7}.works{max-width:var(--max-width);padding:0 var(--gutter)var(--space-4xl);margin:0 auto}.works-toolbar{margin-bottom:var(--space-3xl);justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.works-filters{flex-wrap:wrap;gap:8px;display:flex}.works-pill{font-family:var(--font-sans);letter-spacing:.12em;text-transform:lowercase;border:1px solid var(--border);color:var(--fg-muted);cursor:pointer;transition:all var(--duration)var(--ease);background:0 0;border-radius:100px;padding:6px 16px;font-size:.55rem}.works-pill:hover{color:var(--fg);border-color:var(--fg-muted)}.works-pill.active{background:var(--fg);color:var(--bg);border-color:var(--fg)}.works-count{font-family:var(--font-sans);color:var(--fg-muted);letter-spacing:.15em;font-size:.55rem}.bento-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:280px;gap:20px;display:grid}.bento-wide{grid-column:span 2}.bento-tall{grid-row:span 2}.bento-card{background:var(--bg-card);color:inherit;transition:border-color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease);border:1px solid #1a171414;border-radius:24px;flex-direction:column;text-decoration:none;display:flex;position:relative;overflow:hidden}.bento-card:hover{border-color:#1a17142e;transform:translateY(-4px);box-shadow:0 16px 48px #1a17142e}.bento-card-visual{flex:1;justify-content:center;align-items:center;min-height:0;padding:24px;display:flex;position:relative;overflow:hidden}.bento-card-visual img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease);border-radius:12px;display:block}.bento-card:hover .bento-card-visual img{transform:scale(1.04)}.bento-card-placeholder{background:radial-gradient(circle,#ffffff0a 0%,#0000 70%);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.bento-card-placeholder-icon{opacity:.25;transition:opacity .4s var(--ease),transform .4s var(--ease);font-size:3rem}.bento-card:hover .bento-card-placeholder-icon{opacity:.45;transform:scale(1.15)}.bento-card-info{border-top:1px solid #ffffff0d;flex-direction:column;gap:4px;padding:16px 24px 20px;display:flex}.bento-card-title{color:var(--fg);letter-spacing:-.01em;font-size:.95rem;font-weight:600;line-height:1.35}.bento-card-category{font-family:var(--font-sans);letter-spacing:.12em;text-transform:lowercase;color:var(--fg-muted);font-size:.55rem}.marquee{white-space:nowrap;padding:var(--space-2xl)0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);overflow:hidden}.marquee-track{animation:30s linear infinite marquee;display:inline-flex}.marquee-item{text-transform:uppercase;letter-spacing:.02em;padding:0 var(--space-xl);color:var(--fg-secondary);align-items:center;gap:var(--space-xl);font-size:clamp(1rem,2.5vw,1.5rem);font-weight:600;display:flex}.marquee-item:after{content:"+";color:var(--fg-muted);font-weight:300}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.contact-hero{max-width:var(--max-width);padding:var(--space-5xl)var(--gutter)var(--space-2xl);margin:0 auto}.contact-hero-label{color:var(--fg-muted);margin-bottom:var(--space-xl);font-size:1.3rem;font-weight:400}.contact-hero-text{color:var(--fg);max-width:520px;margin-bottom:var(--space-2xl);font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.65}.contact-socials{gap:var(--space-lg);flex-wrap:wrap;display:flex}.contact-form-section{max-width:var(--max-width);padding:0 var(--gutter)var(--space-3xl);margin:0 auto}.contact-form-wrap{max-width:600px}.cform{gap:var(--space-lg);flex-direction:column;display:flex}.cform-row{gap:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.cform-field{flex-direction:column;gap:6px;display:flex}.cform-label{font-family:var(--font-sans);letter-spacing:.12em;text-transform:lowercase;color:var(--fg-muted);font-size:.5rem}.cform-input{background:var(--bg);border:1px solid var(--border);font-family:var(--font-sans);color:var(--fg);transition:border-color .25s var(--ease);border-radius:10px;outline:none;padding:12px 14px;font-size:.8rem}.cform-input::placeholder{color:var(--fg-muted)}.cform-input:focus{border-color:var(--fg-muted)}.cform-textarea{resize:vertical;min-height:120px}.cform-submit{font-family:var(--font-sans);letter-spacing:.1em;text-transform:lowercase;color:var(--bg);background:var(--brand);cursor:pointer;transition:all .25s var(--ease);border:none;border-radius:100px;align-self:flex-start;align-items:center;gap:8px;padding:12px 24px;font-size:.6rem;font-weight:600;display:inline-flex}.cform-submit:hover{opacity:.9;transform:translateY(-1px)}.cform-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}.footer{padding:0 var(--gutter)var(--space-xl);max-width:var(--content-width);margin:0 auto}.footer-bottom{padding-top:var(--space-xl);border-top:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.footer-copy{font-family:var(--font-sans);color:var(--fg-muted);letter-spacing:.1em;text-transform:lowercase;font-size:.55rem}.footer-status{cursor:default;align-items:center;gap:8px;display:flex}.footer-status-label{font-family:var(--font-sans);letter-spacing:.1em;text-transform:lowercase;color:var(--fg-muted);opacity:0;transition:opacity .25s var(--ease),transform .25s var(--ease);font-size:.55rem;transform:translate(4px)}.footer-status:hover .footer-status-label{opacity:1;transform:translate(0)}.footer-status-avatar{object-fit:cover;opacity:.6;width:28px;height:28px;transition:opacity .3s var(--ease);border-radius:6px}.footer-status:hover .footer-status-avatar{opacity:1}.reveal,.reveal.visible{opacity:1;transition:none;transform:none}.reveal-delay-1{transition-delay:80ms}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.reveal-delay-4{transition-delay:.32s}.reveal-delay-5{transition-delay:.4s}.page-hero{padding:var(--space-5xl)var(--gutter)var(--space-3xl);max-width:var(--max-width);margin:0 auto}.page-hero-label{font-family:var(--font-sans);letter-spacing:.2em;text-transform:lowercase;color:var(--fg-muted);margin-bottom:var(--space-md);font-size:.6rem}.page-hero-title{letter-spacing:-.03em;margin-bottom:var(--space-lg);font-size:clamp(2rem,6vw,3.5rem);font-weight:700;line-height:1.1}.page-hero-desc{color:var(--fg-secondary);max-width:550px;font-size:.95rem;line-height:1.7}.works-hero-graphic{margin-bottom:var(--space-2xl);color:var(--fg-muted);align-items:center;display:flex}.works-hero-svg{opacity:.6}.works-hero-ring-1{transform-origin:50%;animation:30s linear infinite spin-cw}.works-hero-ring-2{transform-origin:50%;animation:20s linear infinite spin-ccw}.works-hero-core{transform-origin:50%;animation:8s ease-in-out infinite pulse-rotate}.works-hero-cross{opacity:.3}@keyframes spin-cw{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin-ccw{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}@keyframes pulse-rotate{0%{opacity:.5;transform:rotate(45deg)scale(.8)}50%{opacity:1;transform:rotate(225deg)scale(1.1)}to{opacity:.5;transform:rotate(405deg)scale(.8)}}.project-hero{padding:calc(var(--nav-height) + var(--space-3xl))var(--gutter)var(--space-2xl);max-width:var(--max-width);margin:0 auto}.project-hero-top{margin-bottom:var(--space-3xl);justify-content:space-between;align-items:center;display:flex}.project-back-link{font-family:var(--font-sans);letter-spacing:.1em;text-transform:lowercase;color:var(--fg-muted);transition:color var(--duration)var(--ease);font-size:.65rem}.project-back-link:hover{color:var(--fg)}.project-category-pill{font-family:var(--font-sans);letter-spacing:.15em;text-transform:lowercase;color:var(--fg-muted);border:1px solid var(--border);border-radius:100px;padding:5px 14px;font-size:.55rem}.project-hero-title{color:var(--fg);letter-spacing:-.03em;margin-bottom:var(--space-lg);font-size:clamp(2.2rem,5.5vw,3.5rem);font-weight:700;line-height:1.1}.project-hero-summary{color:var(--fg-secondary);max-width:640px;margin-bottom:var(--space-2xl);font-size:clamp(.95rem,1.4vw,1.05rem);line-height:1.75}.project-meta{gap:var(--space-3xl);padding:var(--space-lg)0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:var(--space-xl);flex-wrap:wrap;display:flex}.project-meta-item{flex-direction:column;gap:4px;display:flex}.project-meta-tags{flex:1;min-width:200px}.project-meta-label{font-family:var(--font-sans);letter-spacing:.2em;text-transform:lowercase;color:var(--fg-muted);font-size:.5rem}.project-meta-value{color:var(--fg);text-transform:capitalize;font-size:.85rem;font-weight:500}.project-tag-row{flex-wrap:wrap;gap:6px;display:flex}.project-tag{font-family:var(--font-sans);letter-spacing:.08em;text-transform:lowercase;color:var(--fg-muted);background:var(--bg-alt);border-radius:3px;padding:3px 8px;font-size:.5rem}.project-external-link{align-items:center;gap:var(--space-sm);font-family:var(--font-sans);letter-spacing:.1em;text-transform:lowercase;border:1px solid var(--border);color:var(--fg-secondary);transition:all var(--duration)var(--ease);margin-top:var(--space-md);border-radius:6px;padding:10px 24px;font-size:.65rem;display:inline-flex}.project-external-link:hover{background:var(--fg);color:var(--bg);border-color:var(--fg)}.project-hero-img{max-width:var(--max-width);margin:0 auto var(--space-4xl);padding:0 var(--gutter)}.img-frame{background:var(--bg-alt);border-radius:8px;margin:0;position:relative;overflow:hidden}.img-frame img{object-fit:cover;width:100%;height:100%;transition:transform .6s var(--ease);position:absolute;inset:0}.img-frame:hover img{transform:scale(1.03)}.img-frame--landscape{aspect-ratio:16/10}.img-frame--landscape-wide{aspect-ratio:21/9}.img-frame--portrait{aspect-ratio:3/4}.img-frame--square{aspect-ratio:1}.img-frame-caption{font-family:var(--font-sans);letter-spacing:.12em;text-transform:lowercase;color:#ffffffb3;background:linear-gradient(#0000,#00000080);padding:8px 12px;font-size:.55rem;position:absolute;bottom:0;left:0;right:0}.img-grid{gap:var(--space-md);margin-top:var(--space-lg);display:grid}.img-grid--single{grid-template-columns:1fr}.img-grid--two-landscape{grid-template-columns:1fr 1fr}.img-grid--two-portrait{grid-template-columns:1fr 1fr;max-width:680px;margin-left:auto;margin-right:auto}.img-grid--two-mixed{grid-template-columns:1fr 1fr}.img-grid--three-portrait{grid-template-columns:repeat(3,1fr);max-width:820px;margin-left:auto;margin-right:auto}.img-grid--three{grid-template-columns:repeat(3,1fr)}.img-grid--multi-portrait{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));max-width:820px;margin-left:auto;margin-right:auto}.img-grid--multi{grid-template-columns:1fr 1fr}.project-content{max-width:var(--max-width);padding:0 var(--gutter);margin:0 auto}.project-section{padding:var(--space-4xl)0;border-top:1px solid var(--border)}.project-section:first-child{border-top:none}.project-section-text{margin-bottom:var(--space-xl)}.project-section-heading{letter-spacing:-.01em;margin-bottom:var(--space-md);color:var(--fg);align-items:baseline;gap:var(--space-md);font-size:1.3rem;font-weight:600;display:flex}.project-section-num{font-family:var(--font-sans);letter-spacing:.15em;color:var(--fg-muted);flex-shrink:0;font-size:.6rem}.project-section-body{color:var(--fg-secondary);max-width:640px;font-size:.95rem;line-height:1.75}.project-stats{gap:var(--space-md);margin-top:var(--space-2xl);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.project-stat{padding:var(--space-lg)var(--space-xl);background:var(--bg-alt);border:1px solid var(--border);transition:border-color var(--duration)var(--ease);border-radius:8px;flex-direction:column;gap:4px;display:flex}.project-stat:hover{border-color:var(--fg-muted)}.project-stat-value{color:var(--fg);font-size:1.1rem;font-weight:700}.project-stat-label{font-family:var(--font-sans);letter-spacing:.15em;text-transform:lowercase;color:var(--fg-muted);font-size:.55rem}.project-nav{max-width:var(--max-width);padding:var(--space-3xl)var(--gutter);border-top:1px solid var(--border);margin:0 auto}.project-nav-link{font-family:var(--font-sans);letter-spacing:.1em;text-transform:lowercase;color:var(--fg-muted);transition:color var(--duration)var(--ease);font-size:.65rem}.project-nav-link:hover{color:var(--fg)}.thankyou{min-height:100vh;padding:calc(var(--nav-height) + var(--space-4xl))var(--gutter)var(--space-4xl);max-width:var(--max-width);align-items:center;margin:0 auto;display:flex}.thankyou-content{gap:var(--space-4xl);grid-template-columns:1fr 1fr;align-items:center;width:100%;display:grid}.thankyou-text h1{margin-bottom:var(--space-2xl);font-size:clamp(3rem,8vw,6rem);font-weight:700;line-height:1}.thankyou-label{font-family:var(--font-sans);letter-spacing:.15em;text-transform:lowercase;color:var(--fg-muted);margin-bottom:var(--space-lg);font-size:.7rem}.thankyou-links{gap:var(--space-sm);flex-direction:column;display:flex}.thankyou-links a{color:var(--fg-secondary);transition:color var(--duration)var(--ease);font-size:1rem}.thankyou-links a:hover{color:var(--fg)}.thankyou-photo{justify-content:center;display:flex}.thankyou-photo-circle{filter:grayscale();border-radius:50%;width:clamp(280px,35vw,420px);height:clamp(280px,35vw,420px);overflow:hidden}.thankyou-photo-circle img{object-fit:cover;width:100%;height:100%}@media (max-width:768px){.dock-label{display:none}.dock-item{padding:10px 14px}.dock-logo-svg{width:22px;height:17px}.dock-align{padding-left:var(--space-md);padding-right:var(--space-md);gap:var(--space-sm)}.dock-identity{flex:1;min-width:0}.dock-identity-avatar{width:32px;height:32px}.dock-identity-name{font-size:.85rem}.cform-row,.skills-grid{grid-template-columns:1fr}.skills-cell:first-child{border-right:none;border-bottom:1px solid var(--border);grid-row:auto}.works{padding:var(--space-3xl)var(--gutter)}.project-meta{gap:var(--space-xl)}.bento-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:240px}.bento-wide{grid-column:span 2}.bento-tall{grid-row:span 1}.img-grid--two-landscape,.img-grid--two-mixed,.img-grid--three,.img-grid--multi{grid-template-columns:1fr}.img-grid--two-portrait{max-width:100%}.img-grid--three-portrait,.img-grid--multi-portrait{grid-template-columns:repeat(2,1fr);max-width:100%}.thankyou-content{text-align:center;grid-template-columns:1fr}.thankyou-photo{order:-1}.thankyou-photo-circle{width:200px;height:200px}.footer-bottom{gap:var(--space-md);text-align:center;flex-direction:column}.project-stats{grid-template-columns:1fr}.hero-chevron:hover{filter:none;transform:none}.hero-logo-composite:hover .hero-chevron:not(:hover){opacity:1;filter:none}.hero-chevron:hover .hero-chevron-label{color:var(--fg-muted)}.hero-montage{display:none}}@media (max-width:480px){.hero-tagline{max-width:90%;margin:0 auto;font-size:1.6rem}.hero-chevron-svg{height:28vh;max-height:240px}.hero-logo-composite{margin-bottom:var(--space-lg);gap:-5vw}.bento-grid{grid-template-columns:1fr;grid-auto-rows:300px}.bento-wide,.bento-tall{grid-area:span 1/span 1}.img-grid--three-portrait,.img-grid--multi-portrait{grid-template-columns:1fr;max-width:260px}}
