:root{--surface:#dce5d8;--surface-soft:#cedbc9;--ink:#262629;--inverse:#ffffff;--muted:#5e6064;--accent:#6f5e45;--line:#b6c4b1;--serif:'Bodoni Moda',Georgia,serif;--sans:Manrope,Arial,sans-serif;color-scheme:light;font-family:var(--sans);font-size:16px;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;background:var(--surface);color:var(--ink)}body.dialog-open{overflow:hidden}button,input,a{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button,a{outline-offset:6px}button:focus-visible,a:focus-visible{outline:2px solid var(--accent)}img{display:block;max-width:100%;height:auto}button{border:0}p,h1,h2,h3,figure{margin:0}p{line-height:1.8}a,button{transition:background-color .2s,color .2s,opacity .2s,transform .25s}.section-wrap{width:min(100% - 8rem,1440px);margin-inline:auto}.eyebrow{font-size:.875rem;line-height:1.6;letter-spacing:.15em;text-transform:uppercase;font-weight:500}.skip-link{position:fixed;top:1rem;left:1rem;z-index:100;background:var(--accent);color:var(--surface);padding:1rem;transform:translateY(-180%)}.skip-link:focus{transform:none}
.site-header{position:relative;z-index:5;min-height:6.4rem;display:flex;align-items:center;justify-content:space-between;padding:1rem 4rem;gap:2rem;border-bottom:1px solid var(--line)}.wordmark{font-size:1.22rem;font-weight:500;letter-spacing:-.055em;white-space:nowrap}.wordmark span{color:var(--accent)}.desktop-nav{display:flex;gap:2.1rem;font-size:.875rem}.desktop-nav a{padding:.8rem 0;position:relative}.desktop-nav a:after{content:'';position:absolute;bottom:.35rem;left:0;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s}.desktop-nav a:hover:after{transform:scaleX(1)}.header-actions{display:flex;gap:1.5rem;align-items:center}.language{display:flex;align-items:center;gap:.25rem;font-size:.875rem}.language button{background:none;min-width:2.25rem;min-height:2.75rem;padding:.35rem;color:var(--muted)}.language button[aria-pressed=true]{color:var(--accent)}.language>span{opacity:.4}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}
.hero{position:relative;padding-top:4.5rem;display:grid;grid-template-columns:1.15fr 1fr;column-gap:5%;align-items:start}.hero-copy{padding-top:3.5rem}.hero-copy .eyebrow{color:var(--accent)}h1{font-family:var(--serif);font-size:clamp(5.2rem,9.3vw,9.8rem);font-weight:400;font-style:normal;letter-spacing:-.055em;line-height:1.03;margin:1.7rem 0 2rem}h1>span{display:block;font:inherit;letter-spacing:inherit;color:inherit}.hero-intro{padding-left:.4rem;max-width:27rem}.hero-intro>p{font-size:1.1rem;color:var(--muted);margin-bottom:1.7rem}.text-link{display:inline-flex;align-items:center;gap:2.5rem;padding:.8rem 0;border-bottom:1px solid currentColor;font-size:.875rem}.text-link>span:last-child{font-size:1.2rem}.text-link:hover{color:var(--accent)}.hero-visual{width:100%;max-width:32rem;justify-self:end;position:relative}.hero-visual>img{width:100%;background:#b9b9b9}.hero-visual figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.3rem 1rem;font-size:.75rem;line-height:1.7;color:var(--muted);padding-top:.8rem}.hero-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;font-size:.875rem;padding:2rem 0 1.8rem;margin-top:2.2rem;border-top:1px solid var(--line);color:var(--muted)}.sound-shortcut{display:flex;gap:.9rem;align-items:center}.sound-shortcut:hover{color:var(--accent)}.sound-bars{height:1.1rem;display:flex;gap:3px;align-items:center}.sound-bars i{width:2px;height:.55rem;background:var(--accent)}.sound-bars i:nth-child(2){height:1rem}.sound-bars i:nth-child(3){height:.75rem}.sound-bars i:nth-child(4){height:.35rem}.scroll-link{display:grid;place-items:center;border:1px solid var(--line);width:2.8rem;height:2.8rem;border-radius:50%;font-size:1.2rem}
.light-section{background:var(--surface);color:var(--ink);color-scheme:light}.portfolio{padding:7rem 0 6rem;border-bottom:1px solid var(--line)}.section-heading{display:grid;grid-template-columns:1fr 2fr;gap:2rem;margin-bottom:4rem}.section-heading>.eyebrow{padding-top:1rem}h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.8rem,4vw,4.5rem);line-height:1.17;letter-spacing:-.035em}.section-intro{font-size:1rem;max-width:35rem;margin-top:1.5rem;color:var(--muted)}.project-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:4rem 7%;align-items:start}.project-breath-column{grid-column:2;grid-row:1/3;margin-top:7rem}.project-breath{width:100%}.project-motion{grid-column:1}.project-photo{position:relative;overflow:hidden;background:var(--surface-soft)}.project-photo img{width:100%;transition:filter .5s}.project-open{position:absolute;bottom:1rem;left:1rem;display:flex;gap:2rem;align-items:center;background:var(--ink);color:var(--inverse);padding:.7rem 1rem;font-size:.875rem;border:1px solid rgba(255,255,255,.22);transition:background .3s}.project-link:hover .project-open{background:#444447}.project-link:hover img{filter:brightness(.93)}.project-caption{display:flex;gap:1rem;padding:1.3rem 0;border-bottom:1px solid var(--line);align-items:baseline}.project-number,.photo-count{font-size:.75rem;white-space:nowrap;color:var(--muted)}.photo-count{margin-left:auto}.project-caption h3{font-family:var(--serif);font-size:clamp(1.5rem,2.1vw,2.3rem);font-weight:400;line-height:1.3;letter-spacing:-.025em}.project-caption p{font-size:.875rem;margin-top:.4rem;color:var(--muted)}.portfolio-note{margin-top:3rem;max-width:22rem;font-family:var(--serif);font-size:1.8rem;line-height:1.45;align-self:center;padding-left:1.8rem;border-left:1px solid var(--line)}.project-link:focus-visible{display:block;outline-color:var(--ink)}
.about{display:grid;grid-template-columns:1fr 1.1fr;align-items:center;gap:11%;padding-block:7rem}.about-image{max-width:29rem;width:100%;position:relative}.about-image img{width:100%}.about-copy .eyebrow{color:var(--accent);margin-bottom:2rem}.about-copy h2{margin-bottom:2rem}.about-copy>p:not(.eyebrow){color:var(--muted);margin-bottom:1.2rem}.disciplines{display:flex;gap:.6rem 1.4rem;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:1.3rem;margin:1.8rem 0 1.5rem;font-size:.875rem}.about-copy .text-link{color:var(--accent)}
.music-section{background:var(--surface);padding:5rem 0;border-block:1px solid var(--line)}.music-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%;align-items:center}.music-grid .eyebrow{color:var(--accent)}.music-grid h2{margin:1.4rem 0}.music-grid>div>p:last-child{color:var(--muted)}.music-card{border:1px solid var(--line);padding:2rem;background:var(--surface)}.track-label{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.875rem;margin-bottom:1.8rem}.track-title{font-family:var(--serif);font-size:2.5rem;line-height:1.2}.track-title span{font-family:var(--sans);font-size:.9rem;color:var(--muted)}.track-artist{font-size:.875rem;color:var(--muted);margin-top:.65rem}.player-load{display:flex;align-items:center;gap:.8rem;background:var(--accent);color:var(--surface);font-weight:600;font-size:.875rem;padding:.9rem 1.2rem;min-height:3rem;margin:1.8rem 0 .8rem}.player-load:hover{background:#514431}.play-icon{font-size:.9rem}.player-notice{font-size:.75rem;color:var(--muted);line-height:1.6}.spotify-direct{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1rem}.spotify-direct:hover{color:var(--accent)}#spotify-container iframe{width:100%;height:152px;border:0;border-radius:12px;margin-top:1.5rem;display:block}.stop-spotify{background:none;padding:.65rem 0;font-size:.875rem;color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.contact{padding-top:6rem;padding-bottom:4rem}.contact>.eyebrow{color:var(--accent);margin-bottom:2rem}.contact-row{display:flex;align-items:center;justify-content:space-between;gap:4rem}.contact h2{max-width:50rem;font-size:clamp(3rem,5.2vw,5.5rem)}.contact-row p{color:var(--muted);margin-top:1.4rem}.contact-button{flex-shrink:0;width:10.5rem;height:10.5rem;border-radius:50%;border:1px solid var(--accent);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;font-size:.9rem;color:var(--accent);text-align:center;padding:1rem}.contact-button>span:last-child{font-size:2rem}.contact-button:hover{background:var(--accent);color:var(--surface)}.social-links{display:flex;flex-wrap:wrap;gap:2.5rem;margin-top:3.5rem;font-size:.9rem}.social-links a{display:flex;align-items:center;gap:1.6rem;padding:.7rem 0}.social-links a:hover{color:var(--accent)}.site-footer{display:flex;align-items:center;flex-wrap:wrap;gap:1.3rem 2rem;justify-content:space-between;padding:2.2rem 0;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted)}.site-footer .wordmark{color:var(--ink)}.plain-button{background:none;padding:.6rem 0;font-size:.875rem}.back-top{padding:.6rem 0}.plain-button:hover,.back-top:hover{color:var(--accent)}
dialog{color:var(--ink);background:var(--surface);border:1px solid var(--line);max-height:94dvh}dialog::backdrop{background:rgba(38,38,41,.28);backdrop-filter:blur(7px)}.gallery-dialog{width:min(1400px,calc(100% - 2rem));max-width:none;padding:0;overscroll-behavior:contain}.gallery-shell{padding:1.6rem 2rem}.gallery-header{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding-bottom:1rem;border-bottom:1px solid var(--line)}.gallery-header .eyebrow{font-size:.75rem;color:var(--accent)}.gallery-header h2{font-size:2rem;margin-top:.4rem}.icon-button{background:transparent;width:2.8rem;height:2.8rem;flex-shrink:0;display:grid;place-items:center;border:1px solid var(--line);font-size:1.6rem;border-radius:50%}.icon-button:hover{background:var(--surface-soft);color:var(--accent)}.gallery-stage{display:grid;grid-template-columns:3rem 1fr 3rem;gap:1.2rem;align-items:center;padding:1.4rem 0}.gallery-stage figure{min-width:0}.gallery-stage img{max-height:57dvh;width:100%;height:57dvh;object-fit:contain;transition:opacity .18s}.gallery-stage figcaption{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;font-size:.75rem;color:var(--muted);line-height:1.6}.gallery-stage figcaption>span:last-child{white-space:nowrap}.gallery-bottom{display:grid;grid-template-columns:1.1fr 1fr;gap:2rem;border-top:1px solid var(--line);padding-top:1rem;align-items:start}.gallery-bottom>p{font-size:.875rem;max-width:40rem;color:var(--muted);line-height:1.65}.gallery-thumbnails{display:flex;gap:.5rem;overflow-x:auto;padding:.15rem .15rem .6rem;scrollbar-width:thin;scrollbar-color:var(--muted) var(--surface-soft)}.gallery-thumbnails button{background:var(--surface-soft);padding:0;min-width:3.5rem;width:3.5rem;height:4.1rem;flex-shrink:0;border:2px solid transparent;opacity:.6}.gallery-thumbnails button[aria-current=true]{border-color:var(--accent);opacity:1}.gallery-thumbnails img{width:100%;height:100%;object-fit:contain}.gallery-thumbnails button:hover{opacity:1}.credits-dialog{width:min(600px,calc(100% - 2rem));padding:0}.credits-inner{padding:2rem}.credits-inner .icon-button{margin-left:auto}.credits-inner h2{font-size:2.5rem;margin:1.5rem 0}.credits-inner p{margin:1rem 0;color:var(--muted);font-size:.9rem}.credits-inner>a{font-size:.85rem;text-decoration:underline;text-underline-offset:4px;color:var(--accent)}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:arrive .85s ease-out both}.hero-visual{animation:arrive 1.1s .12s ease-out both}.reveal-pending{opacity:0;transform:translateY(20px);transition:opacity .7s ease-out,transform .7s ease-out}.reveal-visible{opacity:1;transform:none}@keyframes arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}}
@media(min-width:1650px){.hero{column-gap:8%}.hero-visual{max-width:35rem}.hero-copy{padding-top:5rem}h1{font-size:11rem}}
@media(max-width:1100px){.section-wrap{width:calc(100% - 5rem)}.site-header{padding-inline:2.5rem}.desktop-nav{gap:1.3rem}.hero{padding-top:3rem;column-gap:4%;grid-template-columns:1.05fr 1fr}.hero-copy{padding-top:2rem}h1{font-size:clamp(4.8rem,9.7vw,7rem)}.hero-intro>p{font-size:1rem}.project-grid{gap:3rem 5%}.project-caption{gap:.7rem}.photo-count{display:none}.project-caption h3{font-size:1.8rem}.about{gap:7%;padding-block:5rem}.music-grid{gap:7%}.section-heading{grid-template-columns:1fr 2.2fr}.contact-row{gap:2rem}.gallery-bottom{grid-template-columns:1fr}.gallery-thumbnails{grid-row:1}.gallery-stage img{height:50dvh;max-height:50dvh}.portfolio-note{font-size:1.6rem}}
@media(max-width:760px){.section-wrap{width:calc(100% - 2.5rem)}.site-header{padding:.7rem 1.25rem;min-height:5rem;gap:1rem;flex-wrap:wrap}.wordmark{font-size:1.15rem}.desktop-nav{display:none}.header-actions{gap:.6rem}.language{font-size:.875rem}.language button{min-width:2rem}.menu-toggle{display:flex;align-items:center;gap:.6rem;background:none;font-size:.875rem;min-height:2.75rem;padding:.35rem}.menu-lines{width:1.15rem;height:10px;display:block;border-top:1px solid currentColor;border-bottom:1px solid currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true] .menu-lines{transform:rotate(45deg)}.mobile-nav{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:.3rem 1rem;border-top:1px solid var(--line);padding-top:1rem}.mobile-nav a{padding:.8rem .2rem;font-size:.9rem}.hero{display:flex;flex-direction:column;padding-top:2.5rem}.hero-copy{padding-top:0;width:100%;position:relative;z-index:1}.hero-copy>.eyebrow{font-size:.75rem;letter-spacing:.13em}h1{font-size:clamp(4rem,18vw,8rem);line-height:1.04;margin:1.1rem 0 1.4rem;letter-spacing:-.065em}.hero-intro{padding-left:0;display:flex;flex-wrap:wrap;gap:.3rem 1.5rem;max-width:none;align-items:center;justify-content:space-between}.hero-intro>p{margin:0;font-size:.9rem;line-height:1.6}.text-link{font-size:.875rem;gap:1.4rem}.hero-visual{width:87%;max-width:29rem;margin-top:2rem;align-self:flex-end}.hero-visual figcaption{font-size:.75rem}.hero-bottom{width:100%;padding:1.2rem 0;margin-top:1.8rem;gap:1rem;font-size:.75rem}.hero-bottom>span{display:none}.sound-shortcut{gap:.65rem}.scroll-link{width:2.5rem;height:2.5rem;flex-shrink:0}.portfolio{padding:4rem 0}.section-heading{display:block;margin-bottom:2.5rem}.section-heading>.eyebrow{padding-top:0;margin-bottom:1.4rem}h2{font-size:clamp(2.65rem,8vw,3.7rem)}.section-intro{font-size:1rem;margin-top:1.2rem;max-width:30rem}.project-grid{display:flex;flex-direction:column;gap:2.75rem}.project{width:100%}.project-breath-column{margin-top:0;width:88%;align-self:flex-end}.project-breath{width:100%}.project-motion{width:100%}.project-open{font-size:.875rem;padding:.65rem .8rem;bottom:.65rem;left:.65rem;gap:1.2rem}.project-caption{padding:1rem 0}.project-caption h3{font-size:1.85rem}.project-caption p{font-size:.875rem}.photo-count{display:block;font-size:.75rem}.project-number{font-size:.75rem}.portfolio-note{border-left:0;border-top:1px solid var(--line);padding:1.5rem 0 0;margin-top:2.75rem;max-width:26rem;font-size:1.75rem;align-self:flex-start}.about{display:flex;flex-direction:column;align-items:stretch;padding-block:4rem;gap:2.5rem}.about-image{width:80%;max-width:23rem}.about-copy .eyebrow{margin-bottom:1.3rem}.about-copy h2{max-width:32rem;margin-bottom:1.4rem}.disciplines{font-size:.875rem}.music-section{padding:3.5rem 0}.music-grid{grid-template-columns:1fr;gap:2.5rem}.music-grid h2{max-width:28rem}.music-card{padding:1.5rem}.contact{padding-top:4rem;padding-bottom:2.7rem}.contact>.eyebrow{margin-bottom:1.4rem}.contact-row{display:block}.contact h2{font-size:clamp(3rem,10vw,4.5rem);max-width:34rem}.contact-row p{margin-top:1.2rem}.contact-button{margin-top:2rem;width:auto;height:auto;min-height:3.5rem;display:inline-flex;flex-direction:row;border-radius:0;padding:.8rem 1.3rem;gap:2rem}.contact-button>span:last-child{font-size:1.4rem}.social-links{margin-top:2rem;gap:1.5rem;font-size:.875rem}.social-links a{gap:1rem}.site-footer{padding:1.5rem 0;gap:.6rem 1.5rem;display:grid;grid-template-columns:1fr 1fr}.site-footer .wordmark{grid-column:1/-1;margin-bottom:.7rem}.site-footer .plain-button{justify-self:end}.site-footer .back-top{grid-column:1/-1;margin-top:.4rem}.gallery-dialog{width:calc(100% - 1rem);max-height:96dvh}.gallery-shell{padding:1rem}.gallery-header h2{font-size:1.75rem}.gallery-header .eyebrow{font-size:.75rem;letter-spacing:.08em}.gallery-stage{grid-template-columns:1fr 1fr;gap:.8rem;padding:1rem 0}.gallery-stage figure{grid-column:1/-1;grid-row:1}.gallery-stage .photo-arrow{grid-row:2;width:3rem;height:2.7rem;border-radius:2rem;font-size:1.4rem}.gallery-stage .photo-arrow:last-child{justify-self:end}.gallery-stage img{height:48dvh;max-height:48dvh}.gallery-stage figcaption{font-size:.75rem;min-height:2rem}.gallery-bottom{gap:.8rem;padding-top:.8rem}.gallery-bottom>p{font-size:.875rem}.gallery-thumbnails button{width:3rem;min-width:3rem;height:3.5rem}.credits-inner{padding:1.3rem}}
@media(max-width:380px){.section-wrap{width:calc(100% - 2rem)}.site-header{padding-inline:1rem}.wordmark{font-size:1rem}.header-actions{gap:.2rem}.menu-toggle{gap:.4rem}.hero-visual{width:94%}.photo-count{display:none}.project-caption h3{font-size:1.65rem}.project-caption{gap:.7rem}.social-links{gap:1rem}.social-links a{gap:.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-pending{opacity:1;transform:none}}

/* Language and script support, preserving the portfolio's visual identity. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.language select{font-family:var(--sans);font-size:.875rem;line-height:1.6;color:var(--accent);background:var(--surface);border:1px solid var(--line);border-radius:0;padding:.55rem .5rem;min-height:2.75rem;width:8.2rem;max-width:100%;cursor:pointer}
.language select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.contact-actions{display:flex;flex-direction:column;align-items:center;gap:1.1rem;flex-shrink:0;max-width:100%}
.contact-email{font-family:Manrope,Arial,sans-serif;font-size:.875rem;color:var(--accent);overflow-wrap:anywhere;text-underline-offset:4px}
.contact-email:hover{text-decoration:underline}
.wordmark{font-family:Manrope,Arial,sans-serif}h1{font-family:'Bodoni Moda',Georgia,serif}
html:lang(hi){--sans:'Noto Sans Devanagari','Nirmala UI',sans-serif;--serif:'Noto Serif Devanagari','Nirmala UI',serif}
html:lang(zh){--sans:'PingFang SC','Microsoft YaHei','Noto Sans CJK SC',sans-serif;--serif:'Songti SC','Noto Serif CJK SC','SimSun',serif}
html:lang(ja){--sans:'Hiragino Kaku Gothic ProN','Yu Gothic','Meiryo','Noto Sans CJK JP',sans-serif;--serif:'Hiragino Mincho ProN','Yu Mincho','Noto Serif CJK JP',serif}
html:lang(hi) h2,html:lang(hi) h3{line-height:1.5;letter-spacing:0}
html:lang(zh) h2,html:lang(zh) h3,html:lang(ja) h2,html:lang(ja) h3{line-height:1.5;letter-spacing:.01em;font-size:clamp(2rem,3.4vw,3.8rem)}
html:lang(zh) h3,html:lang(ja) h3{font-size:clamp(1.4rem,2vw,2rem)}
html:lang(hi) .eyebrow,html:lang(zh) .eyebrow,html:lang(ja) .eyebrow{letter-spacing:.02em;line-height:1.9;text-transform:none}
html:lang(hi) p,html:lang(zh) p,html:lang(ja) p{line-height:1.95}
html:lang(hi) .contact-button,html:lang(ja) .contact-button{font-size:.85rem}
html:lang(zh) .gallery-header h2,html:lang(ja) .gallery-header h2{font-size:1.8rem}
.project-caption>div{min-width:0}.project-caption h3{overflow-wrap:break-word}.contact-row>div:first-child{min-width:0}
@media(max-width:1000px) and (min-width:761px){.desktop-nav{gap:.85rem}.site-header{gap:1rem}}
@media(max-width:760px){.language select{width:7.5rem;padding:.45rem .3rem}.contact-actions{align-items:flex-start;gap:.85rem}.contact-actions .contact-button{margin-top:2rem}html:lang(hi) h2{font-size:clamp(2.2rem,7.5vw,3.3rem)}html:lang(zh) h2,html:lang(ja) h2{font-size:clamp(2rem,7.5vw,3.2rem)}html:lang(hi) .hero-copy>.eyebrow,html:lang(zh) .hero-copy>.eyebrow,html:lang(ja) .hero-copy>.eyebrow{letter-spacing:0;font-size:.8rem}.language select option{font-family:system-ui,sans-serif}}
@media(max-width:380px){.site-header{gap:.35rem}.header-actions{gap:.2rem}.language select{width:6.8rem}}
