/* Eugenie Hang — a continuous, turning artist portfolio. */
[data-page="artist"]{--e-ink:#30394c;--e-muted:#657086;--e-line:#66789130;color:var(--e-ink);background:#e8ebef}
.e-page,.e-page *,.e-page *::before,.e-page *::after{box-sizing:border-box}
.e-page{position:relative;isolation:isolate;overflow:clip;font-family:var(--sans)}
.e-page h1,.e-page h2,.e-page h3{font-family:var(--serif);font-weight:400;margin:0}
.e-page p{margin:0}.e-page a{color:inherit;text-decoration:none}.e-page em{font-weight:400}
/* SVG arrows inherit link colour without relying on a phone's emoji font. */
.e-diagonal-arrow{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0;pointer-events:none}
[data-page="artist"] .nav{color:#fff;z-index:30}[data-page="artist"] .nav.on-paper{color:#596989}[data-page="artist"] #nav>.brand{color:inherit}
.e-atmosphere{position:fixed;inset:0;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 4% 30%,#b3b0daba,transparent 62%),radial-gradient(ellipse at 95% 65%,#9dc5d4a8,transparent 62%),linear-gradient(140deg,#e7e8ef,#e2e9ec 55%,#ece5f0)}
.e-hero{position:relative;min-height:860px;height:100svh;max-height:1200px;color:#fff;isolation:isolate;overflow:hidden}
.e-hero-colour{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 76% 4%,#95c2c7 0%,transparent 53%),radial-gradient(ellipse at 10% 64%,#aaa6ca 0%,transparent 60%),linear-gradient(140deg,#6f839e,#6b6f97 70%,#9aa9b7)}
.e-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#80869c2b,transparent 60%),linear-gradient(0deg,#818ba8aa,transparent 50%);pointer-events:none}
.e-portrait{position:absolute;right:13%;bottom:-12%;height:112%;width:68%;max-width:none;object-fit:contain;object-position:bottom;z-index:-1;opacity:.8;mask-image:linear-gradient(#000 62%,transparent 100%)}
.e-thread{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:-1;opacity:.65}.e-thread path{fill:none;stroke:#fff;stroke-width:1.35;vector-effect:non-scaling-stroke}.e-thread path+path{opacity:.45}
.e-back{position:absolute;top:145px;left:5%;display:flex;align-items:center;gap:8px;font-size:12px;opacity:.85}.e-back>span:first-child{font-size:21px;margin-right:9px}.e-back .enharmonoche-name{font-size:17px}
.e-origin{position:absolute;top:148px;right:5%;display:flex;flex-direction:column;gap:8px;text-align:right;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.e-page .e-hero h1{position:absolute;left:5%;bottom:17%;font-size:clamp(100px,12.5vw,200px);line-height:.79;letter-spacing:-.055em}.e-hero h1 em{display:inline-block;margin-top:20px}
.e-hero-intro{position:absolute;right:5%;bottom:16%;width:265px}.e-kicker{font-size:10px;letter-spacing:.14em;text-transform:uppercase;line-height:1.7}.e-hero-intro>p:nth-child(2){font-family:var(--serif);font-size:31px;line-height:1.12;margin:18px 0 23px}
.e-socials{display:flex;align-items:center;gap:12px}.e-social{width:38px;height:38px;border:1px solid currentColor;border-color:#ffffff40;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:inherit;transition:color .3s,background .3s,transform .3s;cursor:pointer;padding:0}.e-social svg{width:18px;height:18px;fill:currentColor;overflow:visible}.e-social:hover,.e-social:focus-visible{background:#fff;transform:translateY(-3px);color:var(--social-color)}.e-social:focus-visible{outline:2px solid currentColor;outline-offset:5px}.e-social-note{font-size:10px!important;opacity:.7;margin-top:12px!important;line-height:1.5!important}.e-explore{position:absolute;bottom:40px;left:5%;font-size:13px;letter-spacing:.1em;text-transform:uppercase;display:flex;align-items:center;gap:36px}.e-explore span{font-size:24px}.e-hero-foot{position:absolute;right:5%;bottom:47px;font-size:13px}.e-hero-foot .enharmonoche-name{font-size:17px}
.e-section{padding:125px 7%}.e-section-label{display:flex;align-items:center;gap:40px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:60px}.e-fine-line{height:1px;background:var(--e-line);flex:1}.e-page h2{font-size:clamp(50px,5.3vw,85px);line-height:1.02;letter-spacing:-.04em}.e-page h2 em{color:#707b9e}
.e-story-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:12%}.e-story-copy{padding-top:12px}.e-story-copy>p{font-size:17px;line-height:1.8;margin-bottom:25px}.e-story-copy p+p{font-size:15px;color:var(--e-muted)}.e-inline-link{font-size:12px;display:inline-flex;gap:30px;align-items:center;border-bottom:1px solid #697a9560;padding-bottom:8px;margin-top:12px}.e-inline-link span{font-size:21px}.e-inline-link:hover{color:#6d6ca1}
.e-work{position:relative}.e-work-stage{padding:80px 7%;display:grid;grid-template-columns:1fr 1.15fr;align-items:center;gap:9%;min-height:820px}.e-work-copy{position:relative}.e-work-copy h2{margin:25px 0}.e-work-copy>p:not(.e-kicker){font-size:14px;line-height:1.75;color:var(--e-muted)}.e-work-copy>.e-sample-note{font-size:13px!important;max-width:280px;margin-top:30px}.e-work-meta{display:flex;gap:30px;padding-top:35px;margin-top:35px;border-top:1px solid var(--e-line);font-size:13px}.e-work-number{font-variant-numeric:tabular-nums}.e-work-category{color:var(--e-muted)}.e-work-controls{display:none;align-items:center;gap:9px;margin-top:24px}.e-work-controls button{width:35px;height:35px;border:1px solid #66789155;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.e-work-controls button:hover{background:#ffffff70}.e-work-controls span{font-size:9px;color:var(--e-muted);margin-left:10px}
.e-deck{perspective:1500px;position:relative}.e-leaf{position:relative;margin-bottom:30px}.e-sleeve{position:relative;aspect-ratio:4/5;min-height:430px;overflow:hidden;border-radius:3px;box-shadow:0 25px 60px #3f4b6424;isolation:isolate;color:#fff;transform-style:preserve-3d}.e-sleeve:after{content:"";position:absolute;inset:0;border:1px solid #ffffff40;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,#ffffff22,transparent 25%,transparent 70%,#111b3922)}.e-sleeve-live{background:linear-gradient(130deg,#b5c4cc,#5c7691 65%,#4e587e)}.e-sleeve-live>img{position:absolute;width:110%;height:112%;object-fit:contain;right:-14%;top:3%;opacity:.9;mask-image:linear-gradient(#000 45%,transparent 98%)}.e-sleeve-top{position:absolute;top:25px;left:26px;right:26px;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.12em;text-transform:uppercase;z-index:2}.e-sleeve-bottom{position:absolute;bottom:28px;left:28px;right:28px;z-index:2}.e-sleeve-bottom>p:first-child{font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:15px}.e-sleeve-bottom h3{font-size:clamp(40px,4.1vw,66px);line-height:.98;letter-spacing:-.03em}.e-sleeve-caption{font-size:13px;line-height:1.6;max-width:290px;margin-top:19px!important;opacity:.8}.e-sleeve-song{background:linear-gradient(135deg,#bdb5ca,#8e8aa6 60%,#666887)}.e-record{position:absolute;top:14%;right:-30%;width:98%;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:repeating-radial-gradient(circle,#384558 0 2px,#4e596e 3px 4px);box-shadow:-15px 20px 30px #34374840}.e-record:after{content:"";position:absolute;inset:0;border-radius:50%;background:conic-gradient(transparent,#ffffff22,transparent,#ffffff33,transparent)}.e-record span{background:#c6b9c7;width:28%;aspect-ratio:1;border-radius:50%;display:grid;place-content:center;text-align:center;font-size:13px;letter-spacing:.2em;color:#5d5976}.e-sleeve-stage{background:radial-gradient(ellipse at 60% 0,#bdd4d2,transparent 64%),linear-gradient(150deg,#4d8195,#555d8b)}.e-stage-lines{position:absolute;inset:0;background:repeating-linear-gradient(105deg,transparent 0 65px,#d6e3e750 66px 67px,transparent 68px 90px);mask-image:linear-gradient(#000,transparent 83%)}
.e-motion .e-work{height:300svh}.e-motion .e-work-stage{position:sticky;top:0;height:100svh;min-height:680px}.e-motion .e-deck{height:min(620px,72svh)}.e-motion .e-leaf{position:absolute;inset:0;margin:0;will-change:transform,opacity;transform-origin:15% 50%}.e-motion .e-sleeve{height:100%;min-height:0;aspect-ratio:auto}.e-motion .e-work-controls{display:flex}
.e-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12%;margin-bottom:60px}.e-section-heading>p{max-width:330px;color:var(--e-muted);font-size:14px;line-height:1.8}.e-releases{display:grid;grid-template-columns:1fr 1fr;gap:7%}.e-release:nth-child(2){padding-top:110px}.e-release-art{position:relative;aspect-ratio:1;overflow:hidden;isolation:isolate;color:#fff}.e-art-rain{background:linear-gradient(150deg,#b3cdd1,#7194a9 65%,#69729d)}.e-demo{position:absolute;top:25px;left:25px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;border:1px solid #ffffff60;border-radius:20px;padding:6px 10px}.e-art-name{position:absolute;left:9%;bottom:17%;font-family:var(--serif);font-size:clamp(46px,5vw,80px);line-height:.88;letter-spacing:-.04em}.e-art-credit{position:absolute;bottom:7%;left:9%;font-size:10px;letter-spacing:.15em;text-transform:uppercase}.e-rain-rings{position:absolute;width:170%;height:150%;left:15%;top:-30%;background:repeating-radial-gradient(ellipse,transparent 0 37px,#f1f9ff55 38px 39px,transparent 40px 85px);transform:rotate(-20deg)}.e-art-blue{background:linear-gradient(140deg,#aab1d0,#8d92b6 70%,#626e94)}.e-blue-disc{position:absolute;right:-30%;top:12%;width:110%;aspect-ratio:1;border:1px solid #f2f0f699;border-radius:50%;box-shadow:0 0 0 40px #e8e5f11a,0 0 0 80px #e8e5f11a,0 0 0 120px #e8e5f11a}.e-release-caption{display:flex;justify-content:space-between;border-bottom:1px solid var(--e-line);padding:22px 0}.e-release-caption h3{font-size:28px}.e-release-caption p{font-size:13px;color:var(--e-muted);margin-top:5px}.e-release-caption>span{font-size:13px;color:var(--e-muted);padding-top:9px}
.e-teaching-grid{display:grid;grid-template-columns:1fr 1fr;gap:12%}.e-teaching-grid>div>p{color:var(--e-muted);font-size:15px;line-height:1.8;max-width:350px;margin:25px 0}.e-teaching h2{font-size:clamp(45px,4.5vw,70px)}.e-school{padding:25px 0;border-top:1px solid var(--e-line);display:grid;grid-template-columns:30px 1fr;gap:5px 12px}.e-school:last-child{border-bottom:1px solid var(--e-line)}.e-school>span{font-size:10px;padding-top:8px;color:var(--e-muted)}.e-school h3{font-size:30px;line-height:1.2}.e-school p{grid-column:2;font-size:13px;color:var(--e-muted)}
.e-award{display:grid;grid-template-columns:.65fr 1.65fr 1fr auto;align-items:center;gap:20px;padding:32px 0;border-top:1px solid var(--e-line)}.e-award:last-child{border-bottom:1px solid var(--e-line)}.e-award h3{font-size:29px}.e-award>p,.e-award-no{font-size:13px;color:var(--e-muted)}.e-placeholder{font-size:9px;text-transform:uppercase;letter-spacing:.06em;padding:7px 10px;border:1px solid #66789140;border-radius:20px}
.e-outro{text-align:center;padding-top:90px;padding-bottom:100px}.e-outro h2{font-size:clamp(80px,11vw,160px);margin:25px 0}.e-contact{display:inline-flex;align-items:center;gap:50px;font-size:12px;border-bottom:1px solid #66789180;padding:10px 0;margin-bottom:40px}.e-contact span{font-size:23px}.e-outro .e-socials{justify-content:center}.e-outro .e-social{border-color:#66789155}.e-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:35px 7%;border-top:1px solid var(--e-line);background:transparent;font-size:13px;color:var(--e-muted)}.e-footer>.enharmonoche-name{font-size:27px;color:var(--e-ink)}
@media(min-width:821px) and (max-height:780px){.e-motion .e-work-stage{min-height:620px}.e-work-stage{padding-top:75px;padding-bottom:40px}.e-work-copy h2{font-size:62px}.e-work-meta{margin-top:20px;padding-top:20px}}
@media(max-width:1050px){.e-hero-intro{width:225px}.e-hero-intro>p:nth-child(2){font-size:27px}.e-work-stage{gap:5%;grid-template-columns:1fr 1.05fr}.e-work-copy h2{font-size:62px}.e-award{grid-template-columns:.7fr 1.8fr 1fr}.e-award>p{display:none}}
@media(max-width:820px){.e-hero{min-height:930px;height:100svh;max-height:none}.e-back{top:112px;left:24px;font-size:10px}.e-origin{top:170px;right:24px;font-size:8px}.e-portrait{width:130%;right:-33%;height:78%;bottom:24%;opacity:.7}.e-page .e-hero h1{left:24px;bottom:38%;font-size:clamp(100px,20vw,165px)}.e-hero-intro{left:24px;bottom:110px;width:290px}.e-hero-intro>p:nth-child(2){font-size:26px;margin:12px 0 20px}.e-explore{left:24px;bottom:30px;font-size:9px;gap:20px}.e-hero-foot{right:24px;bottom:39px;font-size:9px;max-width:140px;text-align:right}.e-hero-foot .enharmonoche-name{font-size:15px}.e-section{padding:75px 24px}.e-section-label{margin-bottom:35px;gap:15px;font-size:9px}.e-page h2{font-size:clamp(43px,9vw,65px)}.e-story-grid,.e-teaching-grid{grid-template-columns:1fr;gap:30px}.e-story-copy>p{font-size:16px}.e-work-stage{display:block;padding:50px 24px;min-height:0}.e-work-copy h2{font-size:62px}.e-work-meta{display:none}.e-deck{margin-top:40px}.e-sleeve{min-height:440px;aspect-ratio:4/5}.e-sleeve-bottom h3{font-size:52px}.e-section-heading{display:block;margin-bottom:35px}.e-section-heading>p{margin-top:25px;max-width:none}.e-releases{gap:35px;grid-template-columns:1fr}.e-release:nth-child(2){padding-top:0}.e-art-name{font-size:65px}.e-award{grid-template-columns:1fr auto;gap:12px}.e-award-no{grid-column:1}.e-award h3{font-size:27px;grid-column:1;grid-row:2}.e-placeholder{grid-column:2;grid-row:1/3}.e-outro h2{font-size:80px}.e-footer{padding:30px 24px;flex-wrap:wrap}.e-footer>.enharmonoche-name{width:100%}.e-thread{opacity:.4}}
@media(prefers-reduced-motion:reduce){.e-page a,.e-social{transition:none!important}.e-page{scroll-behavior:auto}.e-leaf{transform:none!important;opacity:1!important}}

/* Eugenie's music: two songs and the next release. */
.e-releases{grid-template-columns:repeat(3,minmax(0,1fr));gap:4%}
.e-release:nth-child(2){padding-top:55px}.e-release:nth-child(3){padding-top:110px}
.e-art-name{font-size:clamp(36px,4vw,64px)}
.e-art-drift{background:linear-gradient(145deg,#b7cbd4,#8cacc0 50%,#858ab2)}
.e-art-drift .e-blue-disc{right:-45%;top:-30%;transform:rotate(-20deg);width:130%}
@media(max-width:820px){.e-releases{grid-template-columns:1fr;gap:35px}.e-release:nth-child(2),.e-release:nth-child(3){padding-top:0}.e-art-name{font-size:65px}}

/* Official artwork stays complete, without duplicate lettering or overlays. */
.e-sleeve-official,.e-art-official{background:#d7dad6}
.e-page .e-official-cover{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:1;mask-image:none}
.e-sleeve-official:after{background:none}

/* Eugenie's photography, with space reserved before each image loads. */
.e-page .e-hero h1.e-name-logo{width:38%;max-width:600px;line-height:0}
.e-name-logo img{display:block;width:100%;height:auto}
@media(max-width:820px){.e-page .e-hero h1.e-name-logo{width:76%;max-width:500px}}
.e-portrait{top:clamp(155px,17svh,200px);right:18%;bottom:auto;width:58%;height:103%;opacity:.95}
.e-story-grid{grid-template-columns:.8fr 1fr;gap:12%;align-items:center}
.e-story-photo,.e-music-photo,.e-recognition-photo{margin:0}
.e-story-photo{max-width:390px}
.e-story-photo img{display:block;width:100%;height:auto;border-radius:2px}
.e-story-photo figcaption{margin-top:16px;color:var(--e-muted);font-size:9px;letter-spacing:.12em;text-transform:uppercase}
.e-story-copy{padding-top:0}
.e-story-copy h2{font-size:clamp(43px,4.5vw,72px);margin-bottom:32px}
.e-music-photo{max-width:920px;margin:100px auto 0}
.e-music-photo img{display:block;width:100%;height:auto;border-radius:2px}
.e-recognition-body{display:grid;grid-template-columns:1.3fr .8fr;gap:8%;align-items:center}
.e-recognition-body .e-award{grid-template-columns:1fr auto;gap:12px}
.e-recognition-body .e-award-no{grid-column:1}
.e-recognition-body .e-award h3{grid-column:1;grid-row:2}
.e-recognition-body .e-award>p{display:block;grid-column:1;grid-row:3}
.e-recognition-body .e-placeholder{grid-column:2;grid-row:1/4}
.e-recognition-photo{position:relative;isolation:isolate}
.e-recognition-photo:before{content:"";position:absolute;inset:18% -12% 0;z-index:-1;background:radial-gradient(ellipse,#9aaece60,transparent 70%)}
.e-recognition-photo img{display:block;width:100%;height:auto;mask-image:linear-gradient(#000 76%,transparent 100%)}
@media(max-width:820px){
 .e-portrait{top:150px;width:112%;right:-18%;height:auto;bottom:auto;opacity:.9}
 .e-origin{left:24px;right:auto;text-align:left}
 .e-story-grid{grid-template-columns:1fr;gap:38px}
 .e-story-copy{grid-row:1}.e-story-copy h2{font-size:clamp(43px,9vw,65px)}
 .e-story-photo{width:82%;max-width:350px;justify-self:center}
 .e-music-photo{margin-top:55px}
 .e-recognition-body{grid-template-columns:1fr;gap:40px}
 .e-recognition-photo{width:82%;max-width:350px;justify-self:center}
}

/* A small lift for the desktop wordmark. */
@media(min-width:821px){.e-page .e-hero h1.e-name-logo{bottom:calc(17% + 120px)}}

/* Confirmed achievements keep long event names readable at every width. */
.e-recognition-body .e-award{grid-template-columns:minmax(0,1fr) auto}
.e-recognition-body .e-award h3,.e-recognition-body .e-award>p{grid-column:1/-1}
.e-recognition-body .e-award h3{line-height:1.15}
.e-recognition-body .e-award>p{font-size:13px;line-height:1.7}
.e-award-detail{display:block;margin-top:10px;font-size:13px}
.e-award-tag{grid-column:2;grid-row:1;font-size:10px;color:var(--e-muted);border:1px solid var(--e-line);border-radius:20px;padding:5px 10px}
