.email-contact[data-astro-cid-dypdmzfv]{display:inline-flex;max-width:100%;align-items:center;gap:.6rem}.email-link[data-astro-cid-dypdmzfv]{min-width:0;overflow-wrap:anywhere}.copy-email[data-astro-cid-dypdmzfv]{display:inline-grid;flex:none;width:1.9rem;height:1.9rem;place-items:center;border:0;border-radius:2px;background:transparent;padding:0;color:var(--text);cursor:pointer}.copy-email[data-astro-cid-dypdmzfv]:hover{opacity:.75}.copied-icon[data-astro-cid-dypdmzfv],.copy-email[data-astro-cid-dypdmzfv][data-state=copied] .copy-icon[data-astro-cid-dypdmzfv]{display:none}.copy-email[data-astro-cid-dypdmzfv][data-state=copied] .copied-icon[data-astro-cid-dypdmzfv]{display:inline-flex}@font-face{font-family:Inter;src:url(/fonts/InterVariable.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{--bg: #fff;--title-bg: transparent;--paper: #fff;--text: #111;--text-strong: #000;--muted: #686868;--line: #111;--soft: #f1f1ef;--accent: #111;--cyan: #111;--meta-font: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;--yellow: #fff;--media-opacity: 1;--media-hover-opacity: 1}html{background-color:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;font-size:15px;overflow-y:scroll;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}*{box-sizing:border-box;color:inherit;margin:0;padding:0;-webkit-font-smoothing:antialiased}body{min-height:100vh}a{text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--text-strong);outline-offset:3px}.site-shell{width:100%;min-height:100vh;background:var(--paper);display:flex;flex-direction:column}.site-shell>header{border-bottom:1px solid var(--line);background:var(--paper)}.page{width:100%;max-width:90rem;margin:0 auto;padding-inline:clamp(1rem,3vw,2.5rem)}.page-header{margin-bottom:2.25rem;padding-bottom:1.25rem}.page-title{display:block;font-size:clamp(2.5rem,7vw,6.5rem);font-weight:500;letter-spacing:-.065em;line-height:.95;text-transform:uppercase}.page-title.home-title{display:block;width:100%;margin:0;font-size:clamp(3.4rem,10vw,9rem);white-space:nowrap}.home-role{margin-top:.85rem;font-size:.875rem;font-weight:650;line-height:1.4;text-align:center}.muted{color:var(--muted)}.text-link{color:var(--text);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;transition:background-color .14s ease,color .14s ease}.text-link:hover,.text-link:focus-visible,.text-link:active,.text-link[aria-current]{background:transparent;text-decoration-thickness:2px}.home-links{display:grid;gap:0;border-top:1px solid var(--line)}.primary-link{display:grid;grid-template-columns:1fr auto;min-height:3rem;align-items:center;border:0;border-bottom:1px solid var(--line);background:transparent;padding:.6rem 0;color:var(--text-strong);font-weight:500;text-decoration:none}.primary-link:before{content:none}.primary-link:nth-child(odd){background:transparent}.primary-link>div{display:block;grid-column:2;grid-row:1}.primary-link span{width:-moz-fit-content;width:fit-content;transition:background-color .14s ease}.primary-link:hover span,.primary-link:focus-visible span{text-decoration:underline;text-underline-offset:.25em}.project-row img,.music-card-cover img{filter:saturate(.78) contrast(1.06);opacity:var(--media-opacity);transition:filter .18s ease,opacity .18s ease,transform .18s ease}.project-row:hover img,.project-row:focus-visible img,.music-card:hover .music-card-cover img,.music-card:focus-within .music-card-cover img{filter:saturate(1) contrast(1.03);opacity:var(--media-hover-opacity)}.project-row{display:grid;gap:.85rem;border-top:2px solid var(--line);padding:1.1rem 0}.project-row>:first-child,.music-card-cover{border:0;border-radius:0!important;box-shadow:none}.kamehouse-list>.music-card-compact:before{background:var(--accent)!important}.kamehouse-label{color:var(--text)!important}.invalid-feedback,.empty-feedback{color:#97152e!important}.media-project-row{grid-template-columns:clamp(6rem,22vw,9rem) minmax(0,1fr);align-items:start;padding:.95rem 0}@media (min-width: 640px){html{font-size:16px}.page-header{margin-bottom:3.5rem}.page-title{font-size:clamp(3.5rem,7vw,6.5rem)}.page-title.home-title{font-size:clamp(4rem,7.5vw,7rem)}.home-role{font-size:1rem}.project-row{grid-template-columns:11rem 1fr;gap:1.5rem;padding:1.75rem 0}}.field{width:100%;border:1px solid var(--line);border-radius:0;background:var(--paper);padding:.75rem .9rem;color:var(--text);outline:none}.field::-moz-placeholder{color:var(--muted)}.field::placeholder{color:var(--muted)}.field:focus{background:var(--soft)}.button{border:1px solid var(--line);border-radius:0;background:var(--text-strong);padding:.75rem 1rem;color:var(--paper);font-weight:600;transition:background-color .14s ease,color .14s ease}.button:hover,.button:focus-visible,.button:active{background:var(--paper);color:var(--text-strong)}@media (min-width: 640px){.field{padding:.85rem 1rem}.button{padding:.85rem 1.1rem}.site-shell>header>.page{padding-block:1rem}}@media (max-width: 639px){.site-shell{min-height:100svh}.site-shell>header{box-shadow:none}.site-shell>header>.page{padding-block:.75rem}.site-header{display:flex;align-items:center;justify-content:space-between}.site-header>a{display:block;width:-moz-fit-content;width:fit-content}.site-header>a img{height:2.25rem}.header-actions{width:auto;margin-left:auto}.site-nav{display:none}.page-header{margin-bottom:1.75rem;padding-bottom:1rem}.page-title{font-size:clamp(2.5rem,12vw,4rem)}.page-title.home-title{font-size:clamp(2.8rem,14vw,4rem);line-height:.86}.project-row{border-top-width:1px}.primary-link{border-bottom-width:1px;min-height:3.25rem}.social-link{display:inline-flex;min-height:2.75rem;align-items:center}.field{font-size:16px}.button{width:100%;min-height:3rem}.language-selector a{display:inline-flex;min-height:2.75rem;align-items:center}.language-selector{position:static;border-left:0;padding-left:0}}@media (prefers-reduced-motion: reduce){.text-link,.social-link,.primary-link,.project-row img,.music-card-cover img,.button{transition:none;animation:none}}.site-shell .contact-field-row:nth-child(odd),.site-shell .contact-submit{background:var(--paper)}.site-shell .contact-form-block,.site-shell .form-result{border-radius:0;box-shadow:none}.site-shell>main{flex:1}.site-nav,.language-selector,.context-links,.direct-links,.section-heading,.site-footer{font-family:var(--meta-font);letter-spacing:.055em;text-transform:uppercase}.site-footer{border-top:1px solid var(--line);padding-block:1.25rem;font-size:.75rem;text-transform:uppercase}.portfolio-hero{padding-top:clamp(1.5rem,2.5vw,3rem)}.portfolio-title{border-bottom:0;padding-bottom:clamp(.75rem,1.5vw,1.25rem)}.portfolio-alias{display:block;margin-top:clamp(.75rem,1.25vw,1rem);font-family:var(--meta-font);font-size:clamp(1.1rem,2.5vw,2.4rem);font-weight:400;letter-spacing:.055em;line-height:1.1;text-align:right;text-transform:lowercase;white-space:nowrap}.portfolio-title .name-line{display:inline}.portfolio-title .name-line+.name-line:before{content:" "}.portfolio-identity{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;border-bottom:1px solid var(--line);padding-block:clamp(1rem,2vw,1.5rem)}.portfolio-role{max-width:34rem;font-family:var(--meta-font);font-size:clamp(1.35rem,2.5vw,2.4rem);font-weight:500;letter-spacing:.035em;line-height:1.08;text-transform:uppercase}.context-links,.direct-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem 1.25rem;padding:0;list-style:none}.context-links a,.direct-links a{display:inline-flex;min-height:2.75rem;align-items:center}.portfolio-section{padding-top:clamp(2.25rem,3vw,3.5rem)}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;border-bottom:1px solid var(--line);padding-block:1rem}.section-heading h2{font-size:clamp(1.35rem,2vw,2rem);font-weight:500;letter-spacing:.035em;text-transform:uppercase}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2.5rem,5vw,5rem) clamp(1rem,2.5vw,2.25rem);padding-top:clamp(1.5rem,2vw,2rem)}.secondary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-info{display:grid;grid-template-columns:minmax(0,1fr) minmax(18rem,1fr);align-items:center;gap:clamp(2rem,6vw,6rem);margin-top:clamp(4rem,8vw,8rem);border-top:1px solid var(--line);padding-block:clamp(2rem,4vw,4rem)}.portfolio-info h2{font-size:clamp(2.25rem,5vw,5rem);font-weight:500;letter-spacing:-.055em;line-height:.95;text-transform:uppercase}.portfolio-info-copy{max-width:34rem;font-size:.95rem;line-height:1.45}.portfolio-info-copy .direct-links{justify-content:flex-start;margin-top:1rem}@media (max-width: 760px){.portfolio-hero{padding-top:1rem}.portfolio-title{padding-bottom:.75rem}.portfolio-identity{display:block;padding-block:.85rem}.portfolio-role{font-size:clamp(1.1rem,5vw,1.4rem)}.context-links{justify-content:flex-start;width:100%;margin-top:.85rem;gap:.35rem 1rem}.context-links a{min-height:2rem;overflow-wrap:anywhere}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,8vw,3rem) .75rem;padding-top:1.25rem}.portfolio-section{padding-top:2.5rem}.section-heading{align-items:flex-end;padding-block:.8rem}.section-heading h2{font-size:clamp(1.3rem,6vw,1.75rem);line-height:1}.section-heading .text-link{flex:0 0 40%;min-width:0;font-size:.78rem;line-height:1.25;overflow-wrap:anywhere;text-align:right}.portfolio-info{grid-template-columns:1fr;gap:1.5rem;margin-top:4rem;padding-block:1.5rem 2.5rem}.portfolio-info h2{font-size:clamp(2.5rem,13vw,4rem)}.portfolio-info-copy .direct-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem;margin-top:1.25rem;border-top:1px solid var(--line)}.portfolio-info-copy .direct-links li{border-bottom:1px solid var(--line)}.portfolio-info-copy .direct-links a{width:100%;overflow-wrap:anywhere}}@media (max-width: 639px){.portfolio-title .name-line{display:block;white-space:nowrap}.portfolio-title .name-line+.name-line:before{content:none}.portfolio-section{padding-top:2rem}.section-heading{border-top:0;border-bottom:1px solid var(--line);padding-top:0}.project-grid{padding-top:1.5rem}}@media (max-width: 480px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer a{overflow-wrap:anywhere}.site-footer .page{align-items:flex-start;flex-direction:column;gap:.35rem}}
