@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.3hd2l7bm32o7k.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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.1l2zhvq5eocqf.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.2vhvl9vrvk-va.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.173xwsdme27n8.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:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.13hnt-xgp82zk.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.1sj6eobyi31rd.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:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_de7b2fa9-module__1ltb7q__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_de7b2fa9-module__1ltb7q__variable{--font-manrope:"Manrope", "Manrope Fallback"}
@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b12e986493c137cf-s.2njitm-prmz2_.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/36363bfb06833f56-s.p.38hmww4cj4vme.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:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b2fa3ef4ca165ab4-s.12_ml6bnugnre.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a73419dd2ba2d841-s.p.2yee423r7ahpo.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:DM Mono Fallback;src:local(Arial);ascent-override:73.71%;descent-override:23.03%;line-gap-override:0.0%;size-adjust:134.59%}.dm_mono_ed3df95c-module__D4oVwa__className{font-family:DM Mono,DM Mono Fallback;font-style:normal}.dm_mono_ed3df95c-module__D4oVwa__variable{--font-dm-mono:"DM Mono", "DM Mono Fallback"}
@font-face{font-family:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(../media/35161b7740c25d33-s.0izitdbyxo4j2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(../media/391e53907fa6d8ec-s.0vmd737txk1h4.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:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(../media/ae8872c8a32e309c-s.0iqen1t80zg64.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:italic;font-weight:500;font-display:swap;src:url(../media/70e3db2de7f94926-s.p.39pl-v7c3qrze.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:Playfair Display;font-style:italic;font-weight:600;font-display:swap;src:url(../media/35161b7740c25d33-s.0izitdbyxo4j2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:italic;font-weight:600;font-display:swap;src:url(../media/391e53907fa6d8ec-s.0vmd737txk1h4.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:Playfair Display;font-style:italic;font-weight:600;font-display:swap;src:url(../media/ae8872c8a32e309c-s.0iqen1t80zg64.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:italic;font-weight:600;font-display:swap;src:url(../media/70e3db2de7f94926-s.p.39pl-v7c3qrze.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:Playfair Display;font-style:normal;font-weight:500;font-display:swap;src:url(../media/65c558afe41e89d6-s.3jppgd0xzx-0d.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:500;font-display:swap;src:url(../media/14e23f9b59180572-s.0t8ljjjn9wtsx.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:Playfair Display;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b49b0d9b851e4899-s.2zyohmvb-ks7f.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2a65768255d6b625-s.p.3u4lli0-axodc.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:Playfair Display;font-style:normal;font-weight:600;font-display:swap;src:url(../media/65c558afe41e89d6-s.3jppgd0xzx-0d.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Playfair Display;font-style:normal;font-weight:600;font-display:swap;src:url(../media/14e23f9b59180572-s.0t8ljjjn9wtsx.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:Playfair Display;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b49b0d9b851e4899-s.2zyohmvb-ks7f.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Playfair Display;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2a65768255d6b625-s.p.3u4lli0-axodc.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:Playfair Display Fallback;src:local(Times New Roman);ascent-override:97.25%;descent-override:22.56%;line-gap-override:0.0%;size-adjust:111.26%}.playfair_display_cb6dc8f0-module__og9Y0q__className{font-family:Playfair Display,Playfair Display Fallback}.playfair_display_cb6dc8f0-module__og9Y0q__variable{--font-playfair:"Playfair Display", "Playfair Display Fallback"}
:root{--ink:#101212;--paper:#e8e4dc;--acid:#dcff3f;--muted:#9b9b92;--line:#e8e4dc33}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--paper);background:var(--ink);font-family:var(--font-manrope),Arial,sans-serif;margin:0}a{color:inherit;text-decoration:none}.grain{pointer-events:none;z-index:20;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");position:fixed;inset:0}.section-shell{padding-left:max(5vw,28px);padding-right:max(5vw,28px)}.nav{z-index:10;justify-content:space-between;align-items:center;height:82px;padding:0 max(5vw,28px);transition:all .35s;display:flex;position:fixed;top:0;left:0;right:0}.nav.scrolled{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#101212d1;border-bottom:1px solid #ffffff14;height:64px}.wordmark{letter-spacing:-2px;z-index:2;font-size:25px;font-weight:800}.wordmark span{color:var(--acid)}.nav-links{font:11px var(--font-dm-mono),monospace;letter-spacing:.08em;align-items:center;gap:30px;display:flex}.nav-links>a:not(.nav-contact){opacity:.75;transition:all .2s}.nav-links>a:not(.nav-contact):hover{opacity:1;color:var(--acid)}.nav-contact{border:1px solid var(--line);padding:11px 15px;transition:all .2s}.nav-contact:hover{background:var(--acid);border-color:var(--acid);color:var(--ink)}.arrow{margin-left:5px;font-size:1.35em;transition:transform .2s;display:inline-block}.nav-contact:hover .arrow,.text-link:hover .arrow,.pill-link:hover .arrow,.portfolio-note a:hover .arrow{transform:translate(3px,-3px)}.menu-button{background:0 0;border:0;padding:8px;display:none}.menu-button i{background:var(--paper);width:22px;height:1px;margin:5px;display:block}.hero{flex-direction:column;height:100vh;min-height:790px;padding-top:150px;display:flex;position:relative;overflow:hidden}.hero-grid{opacity:.65;background:linear-gradient(90deg,#0000 49.95%,#e8e4dc1a 50%,#0000 50.05%) 0 0/100% 100%,linear-gradient(#0000 49.95%,#e8e4dc17 50%,#0000 50.05%) 0 0/100% 225px;position:absolute;inset:0}.eyebrow,.section-label,.project-code,.time,.availability,.footer-bottom{font:10px var(--font-dm-mono),monospace;letter-spacing:.1em}.eyebrow{color:#c1c0b7;margin:0 0 45px;position:relative}.eyebrow b{background:var(--acid);vertical-align:middle;width:28px;height:1px;margin:0 9px;display:inline-block}.hero-copy{z-index:1;position:relative}.hero h1,.about h2,.journey h2,.portfolio h2{letter-spacing:-.075em;margin:0;font-size:clamp(54px,7.25vw,118px);font-weight:600;line-height:.91}.hero h1 em,h2 em,.footer em{font-family:var(--font-playfair),serif;letter-spacing:-.08em;font-weight:500}.hero h1 em{color:var(--acid)}.hero-intro{color:#b8b7ad;width:285px;margin:30px 0 0 max(18vw,210px);font-size:13px;line-height:1.7}.hero-bottom{z-index:2;justify-content:space-between;align-items:end;margin-top:auto;padding:0 0 48px;display:flex;position:relative}.round-link{background:var(--acid);width:108px;height:108px;color:var(--ink);text-align:center;font:10px var(--font-dm-mono),monospace;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;line-height:1.35;transition:all .25s;display:flex}.round-link:hover{transform:rotate(-8deg)scale(1.06)}.round-link .arrow{margin:3px 0 0;font-size:18px}.availability{color:#b7b6ad;align-items:center;gap:8px;display:flex}.availability strong{color:var(--paper);font-weight:500}.status-dot{background:var(--acid);width:7px;height:7px;box-shadow:0 0 13px var(--acid);border-radius:50%}.portrait-frame{filter:grayscale()contrast(1.08);width:35%;min-width:375px;height:76%;position:absolute;bottom:0;right:7%}.portrait-frame:after{content:"";background:linear-gradient(90deg,#10121240,transparent 40%),linear-gradient(0deg,var(--ink),transparent 28%);position:absolute;inset:0}.portrait-frame img{object-fit:cover;object-position:50% 32%;mix-blend-mode:screen;opacity:.89}.hero-index{font:13px var(--font-dm-mono),monospace;color:var(--acid);writing-mode:vertical-rl;position:absolute;top:42%;right:max(5vw,28px)}.hero-index span{color:#7d7e75;margin-top:10px;font-size:9px}.about{color:var(--ink);background:var(--paper);padding-top:115px;padding-bottom:0}.section-label{color:#777870;align-items:center;gap:11px;display:flex}.section-label span{color:#161817}.about-grid{grid-template-columns:1.3fr .7fr;gap:9vw;padding:55px 0 100px;display:grid}.about h2{font-size:clamp(46px,6vw,94px)}.about h2 em,.journey h2 em{color:#7e8077}.about-body{color:#52534d;padding-top:12px;font-size:14px;line-height:1.85}.about-body .lead{color:#181a18;margin-top:0;font-size:19px;line-height:1.55}.text-link{color:#121312;font:11px var(--font-dm-mono),monospace;border-bottom:1px solid #191b19;margin-top:25px;padding-bottom:8px;display:inline-block}.capability-strip{white-space:nowrap;font:11px var(--font-dm-mono),monospace;letter-spacing:.03em;border-top:1px solid #bcb9b1;margin-left:calc(-1*max(5vw,28px));margin-right:calc(-1*max(5vw,28px));padding:18px 0;display:flex;overflow:hidden}.capability-strip span{margin-left:27px}.capability-strip i{color:#72746a;margin-left:27px;font-style:normal}.journey{padding-top:125px;padding-bottom:125px}.journey-head{grid-template-columns:1.35fr .65fr;align-items:end;gap:6vw;margin:53px 0 65px;display:grid}.journey h2{font-size:clamp(45px,6vw,92px)}.journey-head>p{color:#a9aaa1;max-width:360px;margin:0 0 5px;font-size:14px;line-height:1.8}.timeline{border-top:1px solid var(--line)}.timeline-item{border-bottom:1px solid var(--line);grid-template-columns:150px 80px 1fr;min-height:188px;padding:25px 0;transition:padding .3s,background .3s;display:grid}.timeline-item:hover{background:#dcff3f0a;padding-left:12px}.time{color:var(--acid)}.timeline-number{font:14px var(--font-dm-mono),monospace;color:#8c8d84}.timeline-content{grid-template-columns:1.1fr .9fr;column-gap:30px;display:grid}.timeline-content h3{letter-spacing:-.04em;margin:0;font-size:20px}.timeline-content .company{color:var(--acid);font:11px var(--font-dm-mono),monospace;margin:8px 0 0}.timeline-content>p:last-child{color:#a8a9a0;margin:0;font-size:13px;line-height:1.7}.credentials{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:7vw;margin-top:72px;padding-top:25px;display:grid}.credentials span{color:var(--acid);font:10px var(--font-dm-mono),monospace}.credentials p{margin:19px 0;font-size:14px;line-height:1.55}.credentials small{color:#989990;font-size:12px}.portfolio{color:var(--ink);background:#d9ff3a;padding-top:112px;padding-bottom:85px}.portfolio-head{justify-content:space-between;align-items:end;margin:52px 0 70px;display:flex}.portfolio h2{font-size:clamp(46px,6vw,91px)}.portfolio h2 em{color:#515f0d}.pill-link{font:10px var(--font-dm-mono),monospace;white-space:nowrap;border:1px solid #1a1b16;border-radius:99px;padding:15px 19px;transition:all .2s}.pill-link:hover{background:var(--ink);color:var(--acid)}.project-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.project{flex-direction:column;min-height:390px;padding:25px;display:flex;position:relative;overflow:hidden}.project h3{letter-spacing:-.065em;margin:40px 0 10px;font-size:clamp(29px,3vw,46px);line-height:.96}.project p{max-width:285px;font-size:13px;line-height:1.65}.project-code{font-size:9px}.feature{color:var(--paper);background:#171a18}.project-mark{color:var(--acid);font:bold 54px var(--font-dm-mono),monospace;letter-spacing:-.2em;margin:auto 0 0 auto}.music{color:#fff}.music img{object-fit:cover;object-position:center 45%;z-index:0;filter:grayscale()contrast(1.1)}.project-overlay{z-index:1;background:linear-gradient(#00000014,#000000c7);position:absolute;inset:0}.music .project-code,.music-title{z-index:2;position:relative}.music-title{margin-top:auto}.music-title h3{margin:0 0 10px}.music-title p{margin:0}.knowledge{background:#a8c41e;grid-column:span 2;min-height:280px}.knowledge h3{font-size:clamp(35px,4.5vw,66px)}.coming{text-align:right;font:10px var(--font-dm-mono),monospace;line-height:1.5;position:absolute;bottom:25px;right:25px}.portfolio-note{border-top:1px solid #14140f59;margin:70px 0 0;padding-top:25px;font-size:14px}.portfolio-note a{font:10px var(--font-dm-mono),monospace;border-bottom:1px solid;margin-left:6px;padding-bottom:4px}.footer{padding-top:115px;padding-bottom:28px}.footer-top{justify-content:space-between;align-items:flex-end;padding-bottom:110px;display:flex}.footer-top p{font:10px var(--font-dm-mono),monospace;color:#a7a8a0;line-height:1.6}.footer-top>a{letter-spacing:-.07em;text-align:right;font-size:clamp(48px,7vw,105px);line-height:.91}.footer-top>a:hover,.footer-top .arrow{color:var(--acid)}.footer-bottom{border-top:1px solid var(--line);color:#9c9d95;justify-content:space-between;padding-top:22px;font-size:9px;display:flex}.footer-bottom a:hover{color:var(--acid)}.twin{color:var(--ink);background:#e8e4dc;padding-top:115px;padding-bottom:115px}.twin-layout{grid-template-columns:.75fr 1.25fr;align-items:start;gap:8vw;margin-top:53px;display:grid}.twin-kicker{font:10px var(--font-dm-mono),monospace;letter-spacing:.08em;color:#606158;margin:0 0 22px}.twin-kicker i,.chat-live i{background:#9ebd10;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block;box-shadow:0 0 8px #9ebd10}.twin h2{letter-spacing:-.075em;margin:0;font-size:clamp(45px,5.7vw,85px);line-height:.93}.twin h2 em{font-family:var(--font-playfair),serif;color:#777970;font-weight:500}.twin-intro>p:last-child{color:#51524c;max-width:340px;margin:31px 0 0;font-size:14px;line-height:1.8}.chat-shell{background:#f4f1eb;border:1px solid #a9aaa2;box-shadow:12px 12px #171917}.chat-top{height:49px;font:9px var(--font-dm-mono),monospace;letter-spacing:.08em;border-bottom:1px solid #bcbdb5;justify-content:space-between;align-items:center;padding:0 16px;display:flex}.chat-live{color:#4d5b0a}.chat-body{flex-direction:column;gap:16px;min-height:254px;max-height:390px;padding:23px 20px 8px;display:flex;overflow-y:auto}.welcome-message{gap:13px;max-width:440px;display:flex}.welcome-message>span,.message>span{background:var(--ink);width:29px;height:29px;color:var(--acid);font:9px var(--font-dm-mono),monospace;flex:none;place-items:center;display:grid}.welcome-message p,.message p{margin:2px 0 0;font-size:13px;line-height:1.7}.message{gap:12px;max-width:88%;display:flex}.message.user{flex-direction:row-reverse;align-self:flex-end}.message.user>span{color:var(--ink);background:#b5d51d}.message.user p{background:#dfe0d7;margin-top:0;padding:10px 12px;line-height:1.5}.message.assistant p{white-space:pre-wrap}.message.loading p{align-items:center;gap:4px;height:28px;display:flex}.message.loading p i{background:#767870;border-radius:50%;width:5px;height:5px;animation:1s infinite alternate pulse}.message.loading p i:nth-child(2){animation-delay:.2s}.message.loading p i:nth-child(3){animation-delay:.4s}.starter-questions{gap:6px;padding:5px 20px 18px;display:grid}.starter-questions button{text-align:left;color:#363833;font:11px var(--font-manrope),sans-serif;cursor:pointer;background:0 0;border:1px solid #c7c7c0;padding:10px 11px;transition:all .2s}.starter-questions button:hover{background:var(--acid);border-color:#151715}.starter-questions b{float:right;font:14px var(--font-dm-mono),monospace}.chat-error{color:#9d2828;margin:4px 0;padding:0 20px;font-size:11px;line-height:1.5}.chat-form{border-top:1px solid #bcbdb5;height:61px;display:flex}.chat-form input{min-width:0;font:13px var(--font-manrope),sans-serif;color:var(--ink);background:0 0;border:0;outline:0;flex:1;padding:0 18px}.chat-form input::placeholder{color:#777970}.chat-form button{background:var(--acid);width:61px;color:var(--ink);cursor:pointer;border:0;border-left:1px solid #bcbdb5;font-size:25px;transition:all .2s}.chat-form button:hover:not(:disabled){background:var(--ink);color:var(--acid)}.chat-form button:disabled{cursor:not-allowed;color:#898a82;background:#d2d2ca}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes pulse{to{opacity:.25;transform:translateY(-2px)}}.reveal{animation:.7s cubic-bezier(.2,.7,.2,1) both rise}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.35s}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media (max-width:700px){.nav{height:67px}.menu-button{z-index:2;display:block}.nav-links{background:var(--ink);border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start;padding:85px 28px 30px;display:none;position:absolute;top:0;left:0;right:0}.nav-links.open{display:flex}.nav-links a{font-size:13px}.nav-contact{margin-top:6px}.hero{height:100svh;min-height:740px;padding-top:116px}.hero h1{font-size:clamp(48px,14vw,75px)}.hero-intro{width:235px;margin-left:0;font-size:12px}.portrait-frame{opacity:.6;width:82%;min-width:0;height:48%;right:-7%}.hero-bottom{padding-bottom:30px}.availability{text-align:right;flex-wrap:wrap;justify-content:flex-end;max-width:160px;font-size:8px}.about{padding-top:78px}.about-grid,.journey-head{padding-top:36px;display:block}.about-grid{padding-bottom:70px}.about-body{margin-top:33px}.about-body .lead{font-size:17px}.journey{padding-top:80px;padding-bottom:80px}.journey-head{margin:38px 0 44px}.journey-head>p{margin-top:24px}.timeline-item{grid-template-columns:86px 35px 1fr;min-height:0}.timeline-content{display:block}.timeline-content h3{font-size:17px}.timeline-content>p:last-child{margin-top:20px}.credentials{grid-template-columns:1fr;gap:20px;margin-top:50px}.portfolio{padding-top:78px}.portfolio-head{margin:38px 0 45px;display:block}.pill-link{margin-top:27px;display:inline-block}.project-grid{display:block}.project{min-height:330px;margin-bottom:14px}.knowledge{min-height:280px}.portfolio-note{margin-top:45px;line-height:1.8}.footer{padding-top:75px}.footer-top{padding-bottom:80px;display:block}.footer-top>a{text-align:left;margin-top:28px;font-size:clamp(49px,15vw,75px);display:block}.footer-bottom{grid-template-columns:1fr 1fr;gap:14px;line-height:1.5;display:grid}.footer-bottom a{grid-column:span 2}.twin{padding-top:78px;padding-bottom:78px}.twin-layout{margin-top:37px;display:block}.twin-intro>p:last-child{margin-bottom:36px}.chat-shell{box-shadow:7px 7px #171917}.chat-body{min-height:245px}.message{max-width:94%}}.music-page{min-height:100vh}.music-library{padding-top:156px;padding-bottom:110px}.music-library-head{justify-content:space-between;align-items:end;gap:40px;margin:45px 0 76px;display:flex}.music-library h1{letter-spacing:-.075em;margin:0;font-size:clamp(58px,8vw,128px);font-weight:600;line-height:.88}.music-library h1 em{color:var(--acid);font-family:var(--font-playfair),serif;letter-spacing:-.08em;font-weight:500}.music-library-head p{color:#b8b7ad;max-width:390px;margin:29px 0 0;font-size:14px;line-height:1.75}.track-count,.track-number{font:10px var(--font-dm-mono),monospace;letter-spacing:.1em}.track-count{color:var(--acid);white-space:nowrap}.track-list{border-top:1px solid var(--line)}.track{border-bottom:1px solid var(--line);grid-template-columns:90px minmax(0,1fr) minmax(245px,33%);align-items:center;gap:24px;min-height:124px;transition:background .2s;display:grid}.track:hover{background:#e8e4dc0b}.track-number{color:var(--acid)}.track h2{letter-spacing:-.055em;margin:0;font-size:clamp(24px,3vw,42px);font-weight:500}.track audio{width:100%;height:38px;accent-color:var(--acid)}@media (max-width:700px){.music-library{padding-top:124px;padding-bottom:75px}.music-library-head{margin:38px 0 52px;display:block}.music-library h1{font-size:clamp(52px,15vw,78px)}.music-library-head p{margin-top:25px}.track-count{margin-top:28px;display:block}.track{grid-template-columns:42px 1fr;gap:12px;padding:24px 0}.track h2{font-size:27px}.track audio{grid-column:2;width:100%}}
