@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./sora-latin-ext-wght-normal.CawQDOvP.woff2)format("woff2-variations");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./sora-latin-wght-normal.DdqRvwsR.woff2)format("woff2-variations");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:Noto Music;font-style:normal;font-display:swap;font-weight:400;src:url(./noto-music-music-400-normal.CksxHXl6.woff2)format("woff2"),url(./noto-music-music-400-normal.BOLtuVsm.woff)format("woff");unicode-range:U+25CC,U+2669-266F,U+1D000-1D0F5,U+1D100-1D126,U+1D129-1D1EA,U+1D200-1D245}@font-face{font-family:Noto Music;font-style:normal;font-display:swap;font-weight:400;src:url(./noto-music-latin-ext-400-normal.VTqZvLoa.woff2)format("woff2"),url(./noto-music-latin-ext-400-normal.OGRwg2jq.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Music;font-style:normal;font-display:swap;font-weight:400;src:url(./noto-music-latin-400-normal.HxzE7T1U.woff2)format("woff2"),url(./noto-music-latin-400-normal.DWPqNw0z.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-cyrillic-ext-400-normal.g30qAdWV.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-400-normal.Dsrv2Tcn.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-cyrillic-400-normal.DZqxrq2p.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-400-normal.BTotfTJu.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-greek-400-normal._efipK4i.woff2)format("woff2"),url(./ibm-plex-sans-greek-400-normal.D9ESIMu3.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-vietnamese-400-normal.DG4YqDda.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-400-normal.fK1oJ5dG.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-ext-400-normal.C5H60-Va.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-400-normal.RBey6euL.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-sans-latin-400-normal.CDDApCn2.woff2)format("woff2"),url(./ibm-plex-sans-latin-400-normal.CYLoc0-x.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-cyrillic-ext-500-normal.Cs5J6C77.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-500-normal.DB5PtV2g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-cyrillic-500-normal.CocWQlwt.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-500-normal.ByOcLdNv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-greek-500-normal.JMMifIXV.woff2)format("woff2"),url(./ibm-plex-sans-greek-500-normal.CuWXN6rf.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-vietnamese-500-normal.e4dixQRQ.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-500-normal.BEb3_waV.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-ext-500-normal.DakdToA3.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-500-normal.D0aIdm-b.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-sans-latin-500-normal.6ng42L7E.woff2)format("woff2"),url(./ibm-plex-sans-latin-500-normal.BgVn5rGT.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-cyrillic-ext-600-normal.DUMzJB7m.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-ext-600-normal.Bz0x94Yp.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-cyrillic-600-normal.71GNu3SW.woff2)format("woff2"),url(./ibm-plex-sans-cyrillic-600-normal.BGq0mW3O.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-greek-600-normal.DzTrcv_p.woff2)format("woff2"),url(./ibm-plex-sans-greek-600-normal.D-CqTdkO.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-vietnamese-600-normal.DpPYBSTl.woff2)format("woff2"),url(./ibm-plex-sans-vietnamese-600-normal.DgdngZtN.woff)format("woff");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-ext-600-normal.DOrvGEcy.woff2)format("woff2"),url(./ibm-plex-sans-latin-ext-600-normal.DIrixKbi.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(./ibm-plex-sans-latin-600-normal.CuJfVYMP.woff2)format("woff2"),url(./ibm-plex-sans-latin-600-normal.Cu4Hd6ag.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(./ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(./ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2)format("woff2"),url(./ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff)format("woff");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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2)format("woff2"),url(./ibm-plex-mono-latin-500-normal.CB9ihrfo.woff)format("woff");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}:root{--bg:#f6f8fc;--paper:#fff;--ink:#0d1838;--mute:#555e78;--line:#d7ddeb;--accent:#2b4bff;--accent-ink:#1a34d6;--accent-soft:#e8ecff;--coral:#ff6a4a;--f-display:"Sora Variable", "Sora", system-ui, sans-serif;--f-body:"IBM Plex Sans", system-ui, sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, monospace;--gutter-l:max(20px, env(safe-area-inset-left,0px));--gutter-r:max(20px, env(safe-area-inset-right,0px));--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:80px}body{background:var(--bg);color:var(--ink);font:400 17px/1.65 var(--f-body);-webkit-font-smoothing:antialiased;margin:0}img{max-width:100%;height:auto;display:block}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{transition:none!important;animation:none!important}}.grid-paper{background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-position:-1px -1px;background-size:48px 48px}.grid-paper>.fade{background:linear-gradient(180deg,#f6f8fc80,#f6f8fceb 420px,var(--bg) 760px)}.wrap{max-width:1160px;padding-left:var(--gutter-l);padding-right:var(--gutter-r);margin:0 auto}.eyebrow{font:500 13px/1.4 var(--f-mono);color:var(--accent);letter-spacing:.06em;text-transform:uppercase}h1,h2,h3,h4{text-wrap:balance}h2{font:700 calc(clamp(28px,4vw,42px))/1.1 var(--f-display);letter-spacing:-.025em;margin:8px 0 28px}.section{padding-block:64px}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;display:flex}.section-head p{max-width:52ch;color:var(--mute);margin:0 0 28px}.site-header{top:env(safe-area-inset-top,0);z-index:20;-webkit-backdrop-filter:saturate(1.4)blur(10px);background:#f6f8fcdb;border-bottom:1px solid #0000;transition:border-color .2s;position:sticky}.site-header.scrolled{border-color:var(--line)}.site-header .wrap{justify-content:space-between;align-items:center;gap:16px;padding-block:16px;display:flex}.logo{font:600 15px/1 var(--f-mono);letter-spacing:.01em;text-decoration:none}.logo i{color:var(--accent);font-style:normal}.site-nav{font:500 14.5px var(--f-body);gap:22px;display:flex}.site-nav a{color:var(--mute);text-decoration:none}.hero h1 span,.site-nav a:hover{color:var(--accent)}.nav-toggle{display:none}.hero{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:48px;padding-block:56px 16px;display:grid}.hero h1{font:800 calc(clamp(46px,8.4vw,108px))/.94 var(--f-display);letter-spacing:-.045em;margin:16px 0 22px}.lead{max-width:58ch;color:var(--mute);margin:0;font-size:calc(clamp(18px,2vw,21px))}.lead strong{color:var(--ink);font-weight:600}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:28px;display:flex}.btn{font:500 15px var(--f-body);border:1.5px solid var(--ink);border-radius:999px;align-items:center;gap:8px;padding:12px 20px;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.btn.primary{background:var(--ink);color:#fff}.btn.primary:hover{background:var(--accent);border-color:var(--accent)}.btn.ghost:hover{background:var(--paper)}.portrait{aspect-ratio:300/328;border:6px solid var(--paper);border-radius:16px;width:200px;overflow:hidden;transform:rotate(2deg);box-shadow:0 22px 44px -20px #0d183866}.portrait img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.staff{--s:24px;--lw:1.5px;height:calc(8 * var(--s));margin-block:32px 0;position:relative}.staff .lines{left:0;right:0;top:calc(2 * var(--s) - var(--lw) / 2);height:calc(4 * var(--s) + var(--lw));flex-direction:column;justify-content:space-between;display:flex;position:absolute}.staff .lines i{height:var(--lw);background:var(--ink);opacity:.85;display:block}.staff .clef{left:calc(.2 * var(--s));height:calc(8 * var(--s));width:calc(3 * var(--s));position:absolute;top:0;overflow:visible}.staff .clef text{fill:var(--ink);font-family:Noto Music,serif}.staff .bar-end{right:0;top:calc(2 * var(--s) - var(--lw) / 2);height:calc(4 * var(--s) + var(--lw));border-left:var(--lw) solid var(--ink);border-right:4px solid var(--ink);width:8px;position:absolute}.staff .notes{top:0;bottom:0;left:calc(3.6 * var(--s));right:calc(1.4 * var(--s));margin:0;padding:0;list-style:none;position:absolute}.note{left:var(--x);font:500 13px var(--f-mono);background:var(--accent);color:#fff;white-space:nowrap;border-radius:999px;padding:5px 11px;animation:.6s both pop;position:absolute;transform:translate(-50%,-50%)}.note.coral{background:var(--coral)}.note.outline{background:var(--paper);color:var(--ink);border:1.5px solid var(--ink)}@keyframes pop{0%{transform:translate(-50%,-10%)}to{transform:translate(-50%,-50%)}}.now{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr);gap:18px;display:grid}.card{background:var(--paper);border:1px solid var(--line);border-radius:18px;flex-direction:column;gap:10px;min-width:0;padding:26px;display:flex}.card.main{background:var(--ink);color:#fff;border-color:var(--ink)}.card .kicker{font:500 12px var(--f-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--accent)}.card.main .kicker{color:#a9b8ff}.card h3{font:700 28px/1.1 var(--f-display);letter-spacing:-.02em;margin:0}.card .sub{font:500 13px var(--f-mono);color:var(--mute);margin:-4px 0 0}.card p{margin:0;font-size:15.5px}.card.main p{color:#cdd4ea}.card .go{font:500 14px var(--f-mono);color:var(--accent-ink);margin-top:auto;padding-top:8px;text-decoration:none}.card .go:hover,.site-footer button{text-decoration:underline}.card.main .facts{font:400 13.5px var(--f-mono);color:#cdd4ea;border-top:1px solid #ffffff26;flex-direction:column;gap:6px;margin-top:auto;padding-top:12px;display:flex}.tag{font:500 11.5px var(--f-mono);background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;align-self:flex-start;padding:4px 10px}.score{border-left:3px solid var(--ink);border-right:7px double var(--ink);background:var(--paper);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.bar{border-right:1.5px solid var(--ink);flex-direction:column;gap:6px;min-width:0;padding:24px 22px;display:flex}.bar:last-child{border-right:0}.bar .time{font:500 13px var(--f-mono);color:var(--accent)}.bar h3{font:700 20px/1.2 var(--f-display);margin:0}.bar p{color:var(--mute);margin:0;font-size:15px}.projects{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:40px;margin-top:48px;display:grid}.projects ul{flex-direction:column;gap:18px;margin:0;padding:0;list-style:none;display:flex}.projects li{padding-left:22px;position:relative}.projects li:before{content:"";background:var(--ink);border-radius:50%;width:10px;height:8px;position:absolute;top:.55em;left:0;transform:rotate(-20deg)}.projects h3{font:700 18px var(--f-display);margin:0 0 2px}.projects p{color:var(--mute);margin:0;font-size:15.5px}.projects figure{margin:0}.projects figure img{border:1px solid var(--line);border-radius:16px;width:100%}.projects figcaption{font:400 13px var(--f-mono);color:var(--mute);margin-top:8px}.clients{flex-wrap:wrap;gap:8px;margin-top:32px;padding:0;list-style:none;display:flex}.clients li{font:500 13px var(--f-mono);background:var(--paper);border-radius:8px;padding:6px 11px}.clients li,.services{border:1px solid var(--line)}.services{background:var(--line);border-radius:18px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.service{background:var(--paper);flex-direction:column;gap:10px;padding:28px;display:flex}.service h3{font:700 22px var(--f-display);letter-spacing:-.015em;margin:0}.service p{color:var(--mute);margin:0;font-size:15.5px}.service ul{flex-direction:column;gap:4px;margin:4px 0 0;padding:0;font-size:15px;list-style:none;display:flex}.service li:before{content:"♩ ";color:var(--accent)}.service a{font:500 14px var(--f-mono);color:var(--accent-ink)}.pillole{background:var(--accent-soft);border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:22px 26px;display:flex}.pillole p{max-width:64ch;margin:0}.pillole strong{font-family:var(--f-display)}.skills{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.skill{border-top:1.5px solid var(--ink);padding-top:14px}.skill h3{font:500 13px var(--f-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:0 0 6px}.skill p{margin:0;font-size:16px}.music{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:48px;display:grid}.music img{aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;border-radius:18px;width:100%}.music p{margin:0 0 14px}blockquote{font:300 calc(clamp(19px,2.2vw,24px))/1.45 var(--f-display);letter-spacing:-.01em;border-left:3px solid var(--accent);margin:28px 0 0;padding-left:20px}blockquote cite{font:500 13px var(--f-mono);color:var(--mute);margin-top:12px;font-style:normal;display:block}.contact{border-top:1.5px solid var(--ink);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:32px;padding-block:56px 40px;display:grid}.contact .cta{font:800 calc(clamp(30px,4.6vw,52px))/1.05 var(--f-display);letter-spacing:-.03em;margin:10px 0 0}.contact .cta a{color:var(--accent);text-underline-offset:7px;overflow-wrap:anywhere;text-decoration-thickness:3px}.contact ul{font:400 15px var(--f-mono);flex-direction:column;align-self:end;gap:10px;margin:0;padding:0;list-style:none;display:flex}.contact ul a{color:var(--ink)}.site-footer{font:400 13px var(--f-mono);color:var(--mute);flex-wrap:wrap;justify-content:space-between;gap:16px;padding-block:20px 40px;display:flex}.site-footer button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.prose{max-width:70ch;padding-block:40px 80px}.prose h1{font:800 calc(clamp(36px,6vw,60px))/1 var(--f-display);letter-spacing:-.04em;margin:12px 0 28px}.prose h2{margin:36px 0 10px;font-size:24px}.prose a{color:var(--accent-ink)}@media (width<=960px){.hero{grid-template-columns:minmax(0,1fr);gap:24px}.portrait{order:-1;width:130px}.contact,.music,.now,.projects{grid-template-columns:minmax(0,1fr)}.score,.skills{grid-template-columns:repeat(2,minmax(0,1fr))}.bar:nth-child(2){border-right:0}.bar:nth-child(-n+2){border-bottom:1.5px solid var(--ink)}.nav-toggle{font:500 14px var(--f-mono);border:1.5px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;padding:6px 14px;display:inline-flex}.site-nav{display:none}.site-header.open{-webkit-backdrop-filter:none;background:var(--bg)}.site-header.open .site-nav{background:var(--bg);border-bottom:1px solid var(--line);padding:8px var(--gutter-r) 20px var(--gutter-l);flex-direction:column;gap:4px;display:flex;position:absolute;top:100%;left:0;right:0}.site-header.open .site-nav a{color:var(--ink);padding:10px 0;font-size:18px}}@media (width<=600px){body{font-size:16px}.section{padding-block:48px}.staff{--s:18px;margin-top:24px}.note{left:var(--xsm);padding:2px 7px;font-size:10.5px}.note.hide-sm{display:none}.score,.services,.skills{grid-template-columns:minmax(0,1fr)}.bar{border-right:0;border-bottom:1.5px solid var(--ink)}.bar:last-child{border-bottom:0}.card,.service{padding:22px}}.cookie[data-v-a3bd34a5]{z-index:40;left:max(16px,env(safe-area-inset-left,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));background:var(--paper);border:1.5px solid var(--ink);border-radius:16px;width:calc(min(440px,100vw - 32px));padding:18px 20px;font-size:14.5px;position:fixed;box-shadow:0 20px 50px -24px #0d183873}.cookie p[data-v-a3bd34a5]{margin:0 0 14px}.cookie a[data-v-a3bd34a5]{color:var(--accent-ink)}.cookie-actions[data-v-a3bd34a5]{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.cookie .btn[data-v-a3bd34a5]{cursor:pointer;padding:9px 16px;font-size:14px}.cookie .btn.ghost[data-v-a3bd34a5]{background:var(--paper);color:var(--ink)}.chat-root[data-v-fd8461cf]{z-index:30;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));position:fixed}.chat-open[data-v-fd8461cf]{font:500 14px var(--f-mono);background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:10px;padding:12px 18px;display:inline-flex;box-shadow:0 14px 30px -14px #0d183899}.chat-open[data-v-fd8461cf]:hover{background:var(--accent)}.dot[data-v-fd8461cf]{background:#7dffb8;border-radius:50%;width:8px;height:8px}.chat[data-v-fd8461cf]{background:var(--paper);border:1.5px solid var(--ink);border-radius:18px;flex-direction:column;width:calc(min(380px,100vw - 32px));height:calc(min(540px,100dvh - 120px));overflow:hidden;box-shadow:0 24px 60px -24px #0d183880}.chat[data-v-fd8461cf],.msgs[data-v-fd8461cf],form[data-v-fd8461cf],header[data-v-fd8461cf],header div[data-v-fd8461cf]{display:flex}header[data-v-fd8461cf]{border-bottom:1px solid var(--line);font:600 14px var(--f-display);justify-content:space-between;align-items:center;gap:8px;padding:12px 16px}header div[data-v-fd8461cf]{gap:12px}.link[data-v-fd8461cf]{font:500 12.5px var(--f-mono);color:var(--accent-ink);cursor:pointer;background:0 0;border:0;padding:0}.msgs[data-v-fd8461cf]{background:var(--bg);flex-direction:column;flex:1;gap:10px;padding:16px;overflow-y:auto}.msgs p[data-v-fd8461cf]{white-space:pre-wrap;border-radius:14px;max-width:85%;margin:0;padding:10px 14px;font-size:14.5px;line-height:1.5}.assistant[data-v-fd8461cf]{background:var(--paper);border:1px solid var(--line);align-self:flex-start}.user[data-v-fd8461cf]{background:var(--accent);color:#fff;align-self:flex-end}.typing[data-v-fd8461cf]{color:var(--mute);font-style:italic}form[data-v-fd8461cf]{border-top:1px solid var(--line);gap:8px;padding:12px}input[data-v-fd8461cf]{min-width:0;font:400 15px var(--f-body);border:1px solid var(--line);background:var(--paper);color:var(--ink);flex:1;padding:10px 12px}form button[data-v-fd8461cf],input[data-v-fd8461cf]{border-radius:10px}form button[data-v-fd8461cf]{font:500 14px var(--f-body);background:var(--ink);color:#fff;cursor:pointer;border:0;padding:0 16px}form button[data-v-fd8461cf]:disabled{opacity:.4;cursor:default}.sr[data-v-fd8461cf]{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}
