@import url("https://use.typekit.net/wxj2pvz.css");@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Instrument+Serif:ital@0;1&display=swap");:root{--bg:#f6f8ff;--panel:rgba(255,255,255,0.9);--panel-strong:#eaf0ff;--text:#0d1833;--muted:#4c5b82;--line:#c4d1f0;--line-strong:#8ea8e6;--accent:#003bff;--accent-soft:rgba(0,59,255,0.08)}:root[data-theme=dark]{--bg:#0a1224;--panel:rgba(19,28,52,0.86);--panel-strong:#111c37;--text:#e6ecff;--muted:#b2c0e6;--line:#2a3a67;--line-strong:#4a67ad;--accent:#7ea2ff;--accent-soft:rgba(126,162,255,0.2)}.music-ref-page{position:relative;min-height:100vh;min-height:100svh;padding:clamp(1rem,2.8vw,1.6rem);background:#000;color:#f5f5f2;font-family:GtAlpina,"Instrument Serif",serif;overflow:hidden}.music-ref-bg{position:absolute;inset:0;z-index:0}.music-ref-bg-slide{position:absolute;inset:0;background-size:cover;background-position:50%;background-repeat:no-repeat;opacity:0;transform:none;will-change:opacity;transition:opacity 1.3s ease}.music-ref-bg-slide.is-active{opacity:1;transform:none}.music-ref-bg-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,5,5,.1),rgba(0,0,0,.68)),radial-gradient(150% 120% at 50% 8%,rgba(29,29,29,.2),rgba(0,0,0,.72))}.music-ref-top{position:relative;z-index:2;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.music-ref-brand p{margin:0;font-family:GtAlpinaItalic,"Instrument Serif",serif;font-size:clamp(1.05rem,2.4vw,1.45rem);line-height:1;color:#b3a99d}.music-ref-brand h1{margin:.15rem 0 0;font-family:GtAlpina,"Instrument Serif",serif;font-size:clamp(1rem,2.25vw,1.35rem);font-variant:small-caps;font-weight:400;line-height:1;color:#b3a99d}.music-ref-controls{display:inline-flex;align-items:center}.music-ref-menu-button{position:relative;width:clamp(4.1rem,9vw,5.3rem);height:clamp(4.1rem,9vw,5.3rem);border:0;background:transparent;color:#b3a99d;font-family:GtAlpina,"Instrument Serif",serif;font-size:clamp(1rem,2vw,1.35rem);font-variant:small-caps;cursor:pointer;isolation:isolate}.music-ref-menu-button:after,.music-ref-menu-button:before{content:"";position:absolute;inset:.6rem;border:.5px solid rgba(179,169,157,.86);animation:menuRingDrift 6s ease-in-out infinite;z-index:-1;transition:border-color .18s ease}.music-ref-menu-button:after{animation:menuRingDriftAlt 5.4s ease-in-out infinite}.music-ref-menu-button:hover,.music-ref-menu-button:hover:after,.music-ref-menu-button:hover:before{color:#ffffff;border-color:rgba(255,255,255,.85)}@keyframes menuRingDrift{0%,to{border-radius:41% 52% 47% 43%;transform:rotate(0deg)}50%{border-radius:53% 43% 48% 54%;transform:rotate(180deg)}}@keyframes menuRingDriftAlt{0%,to{border-radius:49% 44% 51% 41%;transform:rotate(0deg)}50%{border-radius:42% 53% 46% 57%;transform:rotate(-180deg)}}.music-ref-listen-dock{position:fixed;z-index:230;left:clamp(.8rem,2.5vw,1.4rem);bottom:clamp(.8rem,2.5vw,1.4rem);display:inline-flex;align-items:center;gap:.6rem}.music-ref-listen-button{border:0;background:transparent;color:#b3a99d;font-family:GtAlpina,"Instrument Serif",serif;font-size:clamp(1.05rem,2vw,1.35rem);font-variant:small-caps;cursor:pointer;transition:color .18s ease}.music-ref-listen-button.is-on,.music-ref-listen-button:hover{color:#ffffff}.music-ref-listen-button.is-off{color:#b3a99d}.music-reactive-waves{width:clamp(3.3rem,10vw,5.1rem);height:1rem;opacity:.78;padding:0;border:0;background:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.music-reactive-waves svg{display:block;width:100%;height:100%}.music-reactive-wave-line{fill:none;stroke:rgba(242,238,232,.92);stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.music-reactive-waves.is-playing{opacity:1}.music-ref-audio-note{margin:0;position:fixed;z-index:230;left:clamp(.8rem,2.5vw,1.4rem);bottom:clamp(2.45rem,7.5vw,3.45rem);color:rgba(227,221,214,.88);font-family:rubik,IBM Plex Mono,sans-serif;font-size:clamp(.72rem,1.4vw,.83rem)}.music-ref-back{position:fixed;z-index:2;right:clamp(.8rem,2.5vw,1.4rem);bottom:clamp(.8rem,2.5vw,1.4rem);color:#b3a99d;font-family:GtAlpina,"Instrument Serif",serif;font-size:clamp(.92rem,1.8vw,1.08rem);text-decoration:none}.music-ref-back:hover{color:#ffffff}@media (max-width:900px){.music-ref-top{align-items:center}.music-ref-menu-button{width:3.9rem;height:3.9rem;font-size:1rem}.music-ref-menu-button:after,.music-ref-menu-button:before{inset:.52rem}.music-ref-brand p{font-size:1rem}.music-ref-brand h1{font-size:.95rem}.music-ref-listen-dock{gap:.48rem}.music-reactive-waves{width:3.8rem;height:.95rem}.music-ref-back{max-width:56vw;text-align:right}}*{box-sizing:border-box}html{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}html{scroll-behavior:smooth}.site-theme-toggle{position:fixed;top:.9rem;left:.9rem;z-index:500}body:has(.music-ref-page) .site-theme-toggle{display:none}@media (min-width:640px){.site-theme-toggle{top:1.25rem;left:1.25rem}}body{margin:0;min-height:100vh;font-family:IBM Plex Mono,monospace;font-size:16px;color:var(--text);background:radial-gradient(150% 120% at 90% -10%,rgba(19,98,255,.15),transparent 60%),radial-gradient(120% 110% at -10% -10%,rgba(99,149,255,.16),transparent 60%),var(--bg)}a{color:inherit}.site-home{background:transparent}.hero{position:relative;width:100%;min-height:100vh;min-height:100svh;overflow:hidden;border-bottom:1px solid var(--line);background:#02040a}.hero-waves-layer{position:absolute;inset:0;z-index:2}.hero-waves-instance{width:100%;height:100%}.hero-content{position:relative;z-index:3;min-height:100vh;min-height:100svh;padding:clamp(1rem,4vw,2.8rem);display:flex;align-items:flex-end;justify-content:flex-start}.hero-name{margin:0;max-width:none;white-space:nowrap;font-family:"Instrument Serif",serif;font-size:clamp(2.2rem,10vw,7.2rem);line-height:.9;letter-spacing:-.02em;color:#edf3ff;text-transform:uppercase;text-shadow:0 8px 34px rgba(5,22,73,.48)}.hero-scroll-cue{position:absolute;left:50%;bottom:clamp(.7rem,2.4vh,1.4rem);transform:translateX(-50%);z-index:3;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;border-radius:999px;color:rgba(236,243,255,.88);text-decoration:none;font-size:1.08rem;line-height:1;background:rgba(10,17,42,.42);border:1px solid rgba(179,197,247,.45);animation:heroScrollBounce 2.4s ease-in-out infinite}@keyframes heroScrollBounce{0%,to{transform:translateX(-50%) translateY(0);opacity:.72}50%{transform:translateX(-50%) translateY(8px);opacity:1}}.hero-music-easter-egg{position:absolute;top:clamp(.8rem,2.5vw,1.6rem);right:clamp(.8rem,2.5vw,1.6rem);z-index:4;width:2.2rem;height:2.2rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;text-decoration:none;font-size:1.2rem;line-height:1;background:rgba(9,16,38,.55);border:1px solid rgba(180,198,245,.5);color:#edf3ff;cursor:pointer}.hero-music-easter-egg:hover{background:rgba(13,25,56,.72);border-color:rgba(210,224,255,.75)}.section-shell{padding:clamp(4rem,9vw,7rem) clamp(1rem,4vw,2rem);border-bottom:1px solid var(--line)}.section-inner{width:min(1120px,100%);margin:0 auto}.section-header{margin:0 0 2.4rem;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.section-kicker{color:var(--accent);font-size:.9rem;letter-spacing:.08em;text-transform:uppercase}.section-title{margin:.5rem 0 0;font-size:clamp(2.5rem,7vw,5.25rem);font-family:"Instrument Serif",serif;font-weight:400;line-height:.9;letter-spacing:-.015em}.section-note{margin:0;max-width:56ch;color:var(--muted);font-size:clamp(1rem,1.4vw,1.14rem);line-height:1.62}.project-grid{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(255px,1fr))}.project-card{display:flex;flex-direction:column;gap:1rem;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:.9rem;text-decoration:none;transition:border-color .2s ease,transform .2s ease,background-color .2s ease}.project-card:hover{border-color:var(--line-strong);background:var(--panel-strong);transform:translateY(-2px)}.project-card-link,.project-card-link:focus,.project-card-link:hover,.project-card-link:visited{display:flex;flex-direction:column;gap:1rem;color:inherit;text-decoration:none}.project-thumb-wrap{border-radius:10px;border:1px solid #b8c9ef;background:#edf3ff;overflow:hidden}.project-thumb{width:100%;aspect-ratio:16/9;border:0;display:block;-o-object-fit:cover;object-fit:cover;background:#edf3ff}.project-thumb-live{pointer-events:none}.project-name{margin:0;font-family:"Instrument Serif",serif;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:400;line-height:.92}.project-copy{margin:0;font-size:.95rem;line-height:1.6;color:var(--muted)}.project-meta{margin:0;font-size:.88rem}#projects .section-kicker,.project-meta{color:var(--muted)}.experience-shell{background:linear-gradient(180deg,var(--panel-strong),var(--bg))}.experience-list{display:grid;gap:.95rem}.experience-card{border:1px solid var(--line);border-radius:13px;background:var(--panel);padding:1.15rem;transition:border-color .4s ease,background-color .4s ease}.experience-card.is-visible{border-color:var(--line-strong);background:var(--panel-strong)}.experience-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.experience-title{margin:0;font-size:1.05rem;font-weight:500}.experience-logo-white{display:inline-flex;align-items:center;justify-content:flex-end;width:auto;max-width:11.1rem;height:2.775rem;flex-shrink:0;margin-left:auto}.experience-logo-img{display:block;width:auto;height:100%;max-width:11.1rem;-o-object-fit:contain;object-fit:contain;-o-object-position:right center;object-position:right center}.experience-team{margin:.44rem 0 0;font-size:.95rem;color:var(--muted)}.experience-period{margin:.44rem 0 .8rem;font-size:.84rem;color:var(--muted)}.experience-details{margin:0;padding-left:1.1rem;display:grid;gap:.45rem;color:var(--text);line-height:1.55}.contact-grid{display:grid;gap:1.2rem;grid-template-columns:minmax(0,1fr)}.contact-photo-wrap{position:relative;display:flex;justify-content:center;align-items:center;width:min(100%,250px);aspect-ratio:3/4;margin:0;justify-self:start;border:1px solid var(--line);border-radius:14px;background:#040916;overflow:hidden}.contact-photo{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:top;object-position:top}.contact-panel{border:1px solid var(--line);border-radius:14px;padding:1rem;background:var(--panel);min-height:100%;display:grid}.contact-card-grid{display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(108px,1fr);height:100%}.contact-card-link{border:1px solid var(--line);border-radius:14px;padding:.9rem;text-decoration:none;display:grid;place-items:center;min-height:108px;background:var(--panel-strong);transition:border-color .2s ease,transform .2s ease,background-color .2s ease}.contact-card-link:hover{border-color:var(--line-strong);background:var(--accent-soft);transform:translateY(-2px)}.contact-card-title{font-family:IBM Plex Mono,monospace;font-size:.9rem;font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-page{min-height:100vh;padding:clamp(1rem,4vw,2rem)}.detail-shell{width:min(1120px,100%);margin:0 auto}.detail-back{display:inline-block;margin-bottom:1.4rem;text-decoration:none;color:var(--muted);font-size:.95rem}.detail-back:hover{color:var(--accent)}.detail-title{margin:0;font-family:"Instrument Serif",serif;font-size:clamp(2.8rem,8vw,5.6rem);font-weight:400;line-height:.9}.detail-summary{margin:1rem 0 1.2rem;max-width:66ch;color:var(--muted);font-size:clamp(1rem,1.4vw,1.14rem);line-height:1.65}.detail-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:1rem}.project-live-wrap{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.project-live{width:100%;min-height:70vh;border:0;display:block}.project-live-fallback{display:flex;min-height:50vh;align-items:center;justify-content:center;flex-direction:column;gap:.8rem;padding:1.4rem;text-align:center}.project-live-fallback p{margin:0;color:var(--muted)}.detail-section{margin-top:1.2rem;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:1rem}.detail-section h2{margin:0 0 .7rem;font-size:1rem}.detail-list{margin:0;padding-left:1rem;color:#223055;line-height:1.55}.detail-tags{display:flex;flex-wrap:wrap;gap:.45rem}.contact-link,.detail-tag{font-size:.88rem;text-decoration:none;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.42rem .86rem;background:var(--panel-strong);transition:border-color .2s ease,color .2s ease,background-color .2s ease}.contact-link:hover,.detail-tag:hover{color:var(--accent);border-color:var(--line-strong);background:var(--accent-soft)}@media (min-width:900px){.contact-grid{grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:stretch}.contact-photo-wrap{margin:0;justify-self:start;align-self:stretch;width:100%}.contact-card-grid{height:100%}}@media (max-width:760px){body{font-size:17px}.hero-name{font-size:clamp(1.4rem,8.3vw,2.4rem);letter-spacing:-.01em}.contact-card-grid{grid-template-columns:minmax(0,1fr)}.project-live{min-height:62vh}}::view-transition-new(root),::view-transition-old(root){animation:none;mix-blend-mode:normal}