:root{--paper:#fafafa;--deep:#f1f1ef;--player-x:-2vw;--player-y:.5vh;--player-angle:12deg;--player-scale:.95;--player-start-x:0vw;--player-start-y:-70vh;--player-start-angle:-34deg;--player-duration:1.2s;--player-delay:.9s;--player-tail:1;--headphone-x:-5.5vw;--headphone-y:-15vh;--headphone-angle:-23.5deg;--headphone-scale:1.5;--headphone-start-x:10vw;--headphone-start-y:72vh;--headphone-start-angle:40deg;--headphone-duration:1s;--headphone-delay:.4s;--headphone-tail:1;--audio-x:24vw;--audio-y:65.5vh;--scene-end:2.1s;--ink:#141414;--soft:#62625f;--rule:#c9c9c4;--red:#ff5a00;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html{overflow-x:hidden;scroll-behavior:smooth;background:var(--paper)}body{margin:0;overflow-x:hidden;color:var(--ink);background:var(--paper);font-family:"Inter Tight",Arial,sans-serif;letter-spacing:0}a{color:inherit}.skip-link{position:fixed;z-index:100;top:12px;left:12px;padding:10px 14px;color:var(--paper);background:var(--ink);transform:translateY(-160%)}.skip-link:focus{transform:none}
.site-header{position:fixed;z-index:50;top:0;left:0;width:100%;display:flex;justify-content:flex-end;padding:20px 28px;mix-blend-mode:multiply;pointer-events:none}.site-header a{pointer-events:auto;text-decoration:none}.wordmark{font-size:14px;font-weight:900}.wordmark span,.footer-name span,.statement-band span{color:var(--red)}nav{display:flex;gap:24px;font:600 13px "JetBrains Mono",monospace;text-transform:uppercase}.site-header nav{opacity:0;transform:translateY(-8px);animation:hero-text-in .55s var(--ease) calc(var(--scene-end) + .13s) both}
.desk-hero{position:relative;min-height:100svh;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 18% 13%,#fff 0,transparent 35%),radial-gradient(ellipse at 68% 70%,rgba(255,255,255,.4),transparent 40%),linear-gradient(118deg,#f2f2f1,#ffffff 46%,#ededeb);box-shadow:inset 0 -1px var(--rule)}.desk-hero:before{content:"";position:absolute;inset:0;z-index:-1;opacity:.3;background:repeating-linear-gradient(93deg,transparent 0 8px,rgba(20,20,20,.025) 9px,transparent 10px 18px),repeating-linear-gradient(3deg,rgba(255,255,255,.18) 0 1px,transparent 1px 7px)}
.player-object{position:absolute;z-index:5;top:var(--player-y);left:var(--player-x);width:clamp(280px,29vw,430px);aspect-ratio:.78/1;transform:translate3d(var(--player-start-x),var(--player-start-y),0) rotate(var(--player-start-angle)) scale(var(--player-scale));transform-origin:45% 45%;animation:player-in var(--player-duration) cubic-bezier(.2,var(--player-tail),.3,1) var(--player-delay) forwards;will-change:transform}.player-object iframe{width:100%;height:108%;border:0}@keyframes player-in{0%{transform:translate3d(var(--player-start-x),var(--player-start-y),0) rotate(var(--player-start-angle)) scale(var(--player-scale))}100%{transform:translate3d(0,0,0) rotate(var(--player-angle)) scale(var(--player-scale))}}
.headphone-object{position:absolute;z-index:4;left:var(--headphone-x);bottom:var(--headphone-y);width:clamp(430px,47vw,700px);filter:drop-shadow(0 24px 20px rgba(25,25,22,.25));transform:translate3d(var(--headphone-start-x),var(--headphone-start-y),0) rotate(var(--headphone-start-angle)) scale(var(--headphone-scale));animation:headphone-in var(--headphone-duration) cubic-bezier(.2,var(--headphone-tail),.3,1) var(--headphone-delay) forwards;will-change:transform}@keyframes headphone-in{0%{transform:translate3d(var(--headphone-start-x),var(--headphone-start-y),0) rotate(var(--headphone-start-angle)) scale(var(--headphone-scale))}100%{transform:translate3d(0,0,0) rotate(var(--headphone-angle)) scale(var(--headphone-scale))}}
.hero-copy{position:absolute;z-index:10;top:15vh;right:clamp(28px,5vw,80px);width:min(53vw,810px)}.eyebrow,.section-label,.surface-mark,.listening-note span{margin:0;font:500 11px/1.3 "JetBrains Mono",monospace;text-transform:uppercase}.hero-copy h1{margin:20px 0;font-size:clamp(44px,4.35vw,72px);font-weight:900;line-height:1.02}.hero-copy h1 em,.section-intro h2 em,.about-layout h2 em{color:var(--red);font-style:normal}.hero-copy>p:last-of-type{max-width:620px;font-size:clamp(18px,1.65vw,25px);line-height:1.25}.scroll-cue{display:inline-flex;gap:28px;margin-top:12px;padding:12px 0;border-bottom:2px solid;font:600 14px "JetBrains Mono",monospace;text-decoration:none;text-transform:uppercase}.hero-copy>*{opacity:0;transform:translateY(18px);animation:hero-text-in .65s var(--ease) both}.hero-copy>:nth-child(1){animation-delay:calc(var(--scene-end) + .2s)}.hero-copy>h1{opacity:1;transform:none;animation:none}.hero-copy>:nth-child(3){animation-delay:calc(var(--scene-end) + .8s)}.hero-copy>:nth-child(4){animation-delay:calc(var(--scene-end) + .93s)}.hero-line{display:block;overflow:hidden;padding-bottom:.15em;margin-bottom:-.09em}.hero-line>span{display:block;opacity:0;transform:translateY(112%);animation:hero-line-in .78s var(--ease) both}.hero-line:nth-child(1)>span{animation-delay:calc(var(--scene-end) + .31s)}.hero-line:nth-child(2)>span{animation-delay:calc(var(--scene-end) + .44s)}.hero-line:nth-child(3)>span{animation-delay:calc(var(--scene-end) + .57s)}@keyframes hero-text-in{to{opacity:1;transform:none}}@keyframes hero-line-in{to{opacity:1;transform:none}}
.listening-note{position:absolute;z-index:11;left:3vw;bottom:5vh;margin:0;padding-left:8px;border-left:3px solid var(--red);color:#b8b8b4;font-size:14px;font-weight:600;line-height:1.2;opacity:0;animation:note-in 2s var(--ease) calc(var(--scene-end) - .4s) both;transition:opacity .4s ease}.listening-note span{display:block;margin-bottom:7px;color:var(--red);font-size:8px}.listening-note.playback-controlled{opacity:1;animation:none}body.audio-playing .listening-note.playback-controlled{opacity:0;pointer-events:none}@keyframes note-in{to{opacity:1}}.surface-mark{position:absolute;color:rgba(20,20,20,.4)}.mark-a{right:28px;bottom:24px}.mark-b{top:50%;left:52%;transform:rotate(90deg)}
.proof-strip{padding:32px 4vw 54px;border-bottom:1px solid var(--rule)}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:28px;border-top:1px solid}.proof-grid p{display:flex;gap:16px;align-items:end;min-height:108px;margin:0;padding:20px 24px 8px;border-right:1px solid var(--rule)}.proof-grid p:first-child{padding-left:0}.proof-grid p:last-child{border:0}.proof-grid strong{font-size:clamp(34px,4vw,62px);line-height:.85}.proof-grid span{color:var(--soft);font:10px/1.25 "JetBrains Mono",monospace;text-transform:uppercase}
.work-section{padding:110px 4vw 140px}.section-intro{display:grid;grid-template-columns:1fr 3fr;gap:32px;margin-bottom:78px}.section-intro h2,.about-layout h2{margin:0;font-size:clamp(48px,6.4vw,100px);font-weight:900;line-height:.9}.focus-status{margin:24px 0 0;color:var(--soft);font:11px "JetBrains Mono",monospace;text-transform:uppercase}.focus-status strong{color:var(--red)}
.project-list{border-top:1px solid}.project-row{position:relative;border-bottom:1px solid var(--rule);transition:opacity .25s,transform .55s var(--ease)}.project-row a,.project-row-content{display:grid;grid-template-columns:52px minmax(180px,1.1fr) minmax(280px,1.7fr) minmax(210px,1fr) 32px;gap:20px;align-items:center;min-height:148px;text-decoration:none}.project-row a{cursor:pointer}.project-row a:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ink);transform:scaleY(0);transform-origin:bottom;transition:transform .4s var(--ease)}.project-row a:hover,.project-row a:focus-visible{color:var(--paper)}.project-row a:hover:before,.project-row a:focus-visible:before{transform:scaleY(1)}.num,.project-row small{font:10px/1.4 "JetBrains Mono",monospace}.project-row strong{font-size:clamp(34px,4vw,62px);line-height:.95}.project-row strong i{color:var(--red);font:9px "JetBrains Mono",monospace;vertical-align:top}.project-row p{max-width:600px;color:var(--soft);font-size:clamp(16px,1.45vw,21px);line-height:1.3}.project-row small{color:var(--soft)}.project-row a:hover p,.project-row a:hover small{color:var(--paper)}.project-row b{font-size:22px}.project-row-coming-soon .project-row-content{cursor:default}.project-row-coming-soon strong i{display:block;margin-top:12px;line-height:1.3;white-space:nowrap}.project-row-coming-soon b{color:var(--soft);font:12px "JetBrains Mono",monospace}.project-list.sorting .project-row{opacity:.35}
.statement-band{--statement-bg-opacity:0;--statement-text-color:var(--ink);position:relative;display:grid;min-height:96svh;place-items:center;overflow:hidden;isolation:isolate;padding:80px 6vw;color:var(--statement-text-color);background:transparent}.statement-band::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ink);opacity:var(--statement-bg-opacity);will-change:opacity}.statement-band p{width:100%;margin:0;font-size:clamp(58px,10.1vw,164px);font-weight:900;line-height:.94}.statement-band .statement-last{display:block;margin-top:.45em;color:inherit;font-size:.64em;line-height:1.08}.about-preview{padding:120px 4vw 150px}.about-layout{display:grid;grid-template-columns:1.7fr .8fr;gap:8vw;align-items:end;margin-top:64px}.about-layout>div{font-size:23px;line-height:1.45}.about-layout>div p{font-size:23px}.about-layout a{display:inline-block;margin-top:26px;padding-bottom:9px;border-bottom:2px solid;font:600 14px "JetBrains Mono",monospace;text-decoration:none;text-transform:uppercase}
footer{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;padding:72px 4vw 40px;color:var(--paper);background:var(--ink)}.footer-name{grid-row:span 2;font-size:clamp(46px,7vw,112px);font-weight:900;line-height:.8;text-decoration:none}footer p{margin:0;font:12px/1.6 "JetBrains Mono",monospace}.footer-contact{font-size:15px;font-weight:600}.footer-note{color:#9b9b97}.footer-note a{color:var(--paper)}
.reveal{opacity:0;transform:translateY(32px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.reveal.visible{opacity:1;transform:none}
@media(max-width:1000px){:root{--player-x:-8px;--player-y:-52px;--headphone-x:-72px;--headphone-y:8px}.desk-hero{min-height:980px}.player-object{width:340px}.headphone-object{width:520px}.hero-copy{top:390px;right:6vw;width:72vw}.hero-copy h1{font-size:clamp(54px,9vw,86px)}.listening-note{right:24px;bottom:30px;left:auto}.proof-grid{grid-template-columns:repeat(2,1fr)}.proof-grid p:nth-child(2){border-right:0}.section-intro,.about-layout{grid-template-columns:1fr}.project-row a,.project-row-content{grid-template-columns:42px 1fr 1.5fr 28px;padding:24px 0}.project-row small{grid-column:2/4}}
@media(max-width:640px){.site-header{padding:16px}.site-header nav{gap:12px}.site-header nav a:nth-child(2){display:none}:root{--player-x:-4px;--player-y:-30px;--headphone-x:-82px;--headphone-y:4px}.desk-hero{min-height:900px}.player-object{width:min(72vw,280px)}.headphone-object{width:440px}.hero-copy{top:370px;right:20px;left:20px;width:auto}.hero-copy h1{font-size:54px}.surface-mark{display:none}.listening-note{right:18px;bottom:22px;font-size:12px}.proof-grid p{min-height:94px;gap:8px;padding:16px 8px 6px}.proof-grid strong{font-size:31px}.proof-grid span{font-size:8px}.work-section{padding-top:80px;padding-bottom:90px}.section-intro{margin-bottom:44px}.section-intro h2,.about-layout h2{font-size:48px}.project-row a,.project-row-content{grid-template-columns:30px 1fr 24px;gap:10px}.project-row strong{font-size:34px}.project-row p,.project-row small{grid-column:2/4}.statement-band{min-height:72svh}.statement-band p{font-size:56px;line-height:.96}.about-preview{padding-top:90px;padding-bottom:100px}footer{grid-template-columns:1fr}.footer-name{grid-row:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.player-object,.headphone-object,.listening-note,.hero-copy>*,.hero-line>span,.site-header nav{animation:none;opacity:1}.player-object{transform:rotate(var(--player-angle)) scale(var(--player-scale))}.headphone-object{transform:rotate(var(--headphone-angle)) scale(var(--headphone-scale))}.listening-note,.hero-copy>*,.hero-line>span,.site-header nav{transform:none}.reveal{opacity:1;transform:none;transition:none}}

.scene-tuner{
  position:fixed;
  z-index:90;
  top:58px;
  right:18px;
  width:244px;
  padding:13px;
  border:1px solid #2a2a2a;
  background:rgba(250,250,250,.96);
  box-shadow:0 12px 30px rgba(0,0,0,.14);
  font:10px/1.3 "JetBrains Mono",monospace;
}
.scene-placement{display:none!important}
.tuner-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.tuner-heading span{color:var(--red);text-transform:uppercase}.scene-tuner fieldset{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:0 0 10px;padding:9px;border:1px solid var(--rule)}.scene-tuner legend{padding:0 5px;font-weight:700;text-transform:uppercase}.scene-tuner label{display:grid;gap:3px;color:var(--soft);text-transform:uppercase}.scene-tuner input{width:100%;height:28px;padding:4px 6px;border:1px solid var(--rule);border-radius:0;color:var(--ink);background:#fff;font:11px "JetBrains Mono",monospace}.tuner-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:7px}.tuner-slots button{height:30px;border:1px solid var(--ink);border-radius:0;background:#fff;color:var(--ink);font:700 11px "JetBrains Mono",monospace;cursor:pointer}.tuner-slots button.has-save::after{content:"";display:inline-block;width:5px;height:5px;margin-left:6px;border-radius:50%;background:var(--red);vertical-align:2px}.tuner-slots button.is-active{color:#fff;background:var(--ink)}.tuner-actions{display:grid;grid-template-columns:1.2fr 1fr .75fr .75fr;gap:7px}.tuner-actions button{height:30px;border:1px solid var(--ink);border-radius:0;background:var(--ink);color:#fff;font:10px "JetBrains Mono",monospace;text-transform:uppercase;cursor:pointer}.tuner-actions button:last-child{color:var(--ink);background:#fff}.tuner-replay{width:100%;height:34px;margin:0 0 8px;border:1px solid var(--red);border-radius:0;color:#fff;background:var(--red);font:700 10px "JetBrains Mono",monospace;text-transform:uppercase;cursor:pointer}.scene-tuner output{display:block;margin-top:8px;color:var(--soft)}
@media(max-width:700px){.scene-tuner{top:auto;right:10px;bottom:10px;width:210px;max-height:42vh;overflow:auto}}
.scene-tuner pre{display:none}
.scene-tuner{width:330px;padding:11px}
.scene-tuner{display:none}
.scene-tuner fieldset{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:8px;padding:7px}
.scene-tuner input{height:25px;padding:3px 5px;font-size:10px}
.tuner-slots{display:none}
.tuner-actions{grid-template-columns:1fr 1fr}
.tuner-actions [data-tuner-load],.tuner-actions [data-tuner-reset]{display:none}
.tuner-replay{height:31px;margin-bottom:7px}
.scene-tuner output{margin-top:6px}

.credential-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin:34px 0 0;
  padding:0;
  border-top:1px solid var(--rule);
  list-style:none;
}
.credential-list li{
  position:relative;
  min-height:72px;
  padding:18px 28px 18px 22px;
  border-bottom:1px solid var(--rule);
  font-size:16px;
  font-weight:600;
  line-height:1.25;
}
.credential-list li:nth-child(odd){border-right:1px solid var(--rule)}
.credential-list li::before{content:"";position:absolute;left:0;top:24px;width:7px;height:7px;background:var(--red)}

@media(min-width:1001px){
  .player-object,.headphone-object,.listening-note{position:fixed}
  .desk-hero{overflow:visible;background:transparent}
  .desk-hero::before{position:fixed}
  .hero-copy{right:4vw;width:52vw}
  .proof-strip{
    position:relative;
    z-index:20;
    background:rgba(250,250,250,.84);
    box-shadow:0 -1px var(--rule),0 1px var(--rule);
  }
  .work-section,.statement-band,.about-preview,footer{
    position:relative;
    z-index:10;
    width:58%;
    margin-left:42%;
  }
  .work-section,.about-preview{padding-right:3.5vw;padding-left:3.5vw;background:rgba(250,250,250,.97)}
  .section-intro h2{font-size:clamp(62px,7vw,108px)}
  .project-row a,.project-row-content{
    grid-template-columns:36px minmax(140px,.85fr) minmax(230px,1.45fr) 28px;
    gap:16px;
    min-height:134px;
    padding:22px 0;
  }
  .project-row small{grid-column:2/4;grid-row:2}
  .project-row strong{font-size:clamp(34px,3.4vw,54px)}
  .project-row[data-project="brightcanary"] strong{font-size:clamp(32px,2.45vw,40px)}
  .statement-band{min-height:100svh;padding-right:3.5vw;padding-left:3.5vw}
  .statement-band p{font-size:clamp(54px,6.3vw,98px);line-height:.94}
  .about-layout{grid-template-columns:1fr;gap:70px}
  footer{grid-template-columns:1fr;padding-right:3.5vw;padding-left:3.5vw}
  .footer-name{grid-row:auto;margin-bottom:10px}
}

@media(max-width:700px){
  .credential-list{grid-template-columns:1fr}
  .credential-list li:nth-child(odd){border-right:0}
}

.proof-strip{background:#fff!important;border:0;box-shadow:none!important}
.proof-grid{gap:28px;padding-bottom:28px;border:0!important;border-top:0!important;border-bottom:1px solid var(--rule)!important}
.proof-grid p{min-height:92px;padding:20px 0 8px!important;border:0!important}
.credential-list{gap:18px 42px;border:0}
.credential-list li{min-height:0;padding:8px 0 8px 18px;border:0!important;font-weight:400}
.credential-list li::before{display:block;top:13px}

@media(min-width:1001px){
  .listening-note{
    top:auto;
    right:auto;
    bottom:var(--audio-y);
    left:calc(var(--player-x) + clamp(280px,29vw,430px) - 20px);
    width:110px;
  }
}

.desk-hero{box-shadow:none}

.band-title{
  margin:0;
  font-size:clamp(27px,2.7vw,42px);
  font-weight:800;
  line-height:1;
}
.band-title span,.section-intro h2 span,.about-heading h2 span{color:var(--red)}
.section-intro{display:block;max-width:1120px}
.section-intro h2{font-size:clamp(64px,9vw,142px);line-height:.82}
.work-deck{max-width:760px;margin:34px 0 0;font-size:clamp(24px,3vw,44px);font-weight:600;line-height:1.05}
.work-deck em,.about-statement em{color:var(--red);font-style:normal}
.about-heading h2{margin:0;font-size:clamp(64px,8vw,126px);font-weight:900;line-height:.84}
.about-statement{max-width:760px;margin:36px 0 0;font-size:clamp(30px,4vw,62px);font-weight:700;line-height:.96}
@media(max-width:640px){.section-intro h2,.about-heading h2{font-size:60px}.work-deck{font-size:27px}.about-statement{font-size:34px}}

.proof-grid .app-stat strong{font-size:clamp(32px,3vw,46px);white-space:nowrap}
.proof-grid .app-stat span{font-size:9px}
.footer-note{margin-top:40px}
.footer-note a{color:inherit;font-weight:700;text-decoration:none;cursor:pointer}
@media(min-width:1001px){.hero-copy{width:56vw}.hero-copy h1{font-size:clamp(56px,6.65vw,108px)}}
.statement-band .statement-last{margin-top:.75em}
.proof-grid span{font-size:11px}
.proof-grid .app-stat span{font-size:10px}
@media(max-width:640px){.proof-grid span,.proof-grid .app-stat span{font-size:9px}}
@media(min-width:701px){.credential-list{grid-template-rows:repeat(4,auto);grid-auto-flow:column}}
.hero-copy>h1{opacity:0;transform:translateY(18px);animation:hero-text-in .75s var(--ease) calc(var(--scene-end) + .31s) both}
.hero-copy>h1{opacity:1;transform:none;animation:none}
.hero-word{display:inline-block;opacity:0;transform:translateY(.32em);animation:hero-word-in .58s var(--ease) calc(var(--scene-end) + var(--word-delay)) both}
@keyframes hero-word-in{to{opacity:1;transform:none}}
.listening-note{font-weight:400}
.work-deck[data-scroll-fill]{--fill-progress:0%;position:relative}
.scroll-fill-base{display:block;opacity:.4}
.scroll-fill-active{position:absolute;inset:0;clip-path:inset(0 0 0 calc(100% - var(--fill-progress)));will-change:clip-path}
@media(prefers-reduced-motion:reduce){.work-deck[data-scroll-fill]{--fill-progress:100%}}
.scroll-fill-visual{display:block}
.work-deck .scroll-fill-word{--word-progress:0%;--word-active:var(--ink);--word-muted:rgba(20,20,20,.4);color:transparent;background:linear-gradient(90deg,var(--word-active) 0 var(--word-progress),var(--word-muted) var(--word-progress) 100%);background-clip:text;-webkit-background-clip:text}
.work-deck em .scroll-fill-word{--word-active:var(--red);--word-muted:rgba(255,90,0,.4)}
.orange-wipe-word{--word-progress:0%;color:transparent;background:linear-gradient(90deg,var(--red) 0 var(--word-progress),var(--ink) var(--word-progress) 100%);background-clip:text;-webkit-background-clip:text}

body.route-home .route-view{background:var(--ink)}
body.route-home main{background:var(--paper)}

@media(max-width:640px){
  :root{--player-angle:7deg;--player-scale:.92;--player-start-y:-72vh;--player-start-angle:-24deg}
  html{background:var(--ink)}
  .site-header{height:calc(48px + env(safe-area-inset-top));align-items:flex-end;padding:0 14px 13px;background:rgba(250,250,250,.94);backdrop-filter:blur(10px);mix-blend-mode:normal}
  .site-header nav{gap:14px;font-size:11px}
  .desk-hero{min-height:0;padding-bottom:74px;overflow:hidden}
  .player-object{top:var(--mobile-player-top,390px);left:0;width:min(92vw,360px)}
  .headphone-object,.listening-note{display:none}
  .hero-copy{position:relative;top:auto;right:auto;left:auto;width:auto;padding:calc(76px + env(safe-area-inset-top)) 20px 0}
  .hero-copy h1{font-size:50px;line-height:1.02}
  .hero-copy>p:last-of-type{margin-top:calc(min(118vw,480px) + 118px);font-size:19px;line-height:1.32}
  .scroll-cue{font-size:13px}
  .proof-strip{padding-right:20px;padding-left:20px}
  .proof-grid{gap:16px}
  .proof-grid p{min-height:126px;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:12px;padding:18px 0 12px!important}
  .proof-grid strong{line-height:.88}
  .proof-grid span,.proof-grid .app-stat span{font-size:9px;line-height:1.35}
  .work-section,.about-preview{padding-right:20px;padding-left:20px}
  .project-row a,.project-row-content{grid-template-columns:30px minmax(0,1fr) 34px;gap:10px;min-height:0;padding:28px 0}
  .project-row strong{grid-column:2;font-size:36px}
  .project-row p,.project-row small{grid-column:2/4;margin-top:0}
  .project-row p{font-size:17px;line-height:1.36}
  .project-row small{font-size:10px}
  .project-row b{grid-column:3;grid-row:1;align-self:center;justify-self:end;color:var(--red);font-size:0}
  .project-row b::after{content:"->";font:700 15px "JetBrains Mono",monospace}
  footer{min-height:calc(320px + env(safe-area-inset-bottom));padding:62px 20px calc(72px + env(safe-area-inset-bottom));background:var(--ink)}
  .footer-contact{font-size:13px}
  .footer-note{font-size:11px}

  body.route-home.home-mini-player [data-persistent-player]{
    position:fixed;
    z-index:160;
    top:calc(env(safe-area-inset-top) - 12px);
    left:50%;
    width:126px;
    height:44px;
    aspect-ratio:auto;
    animation:notch-pop .3s cubic-bezier(.2,.82,.24,1) both;
    transform:translateX(-50%);
    filter:drop-shadow(0 5px 8px rgba(0,0,0,.2));
  }
  body.route-home.home-mini-player [data-persistent-player] iframe{display:block;width:100%;height:100%;border:0}
  body.route-home.home-player-restored:not(.home-mini-player) [data-persistent-player]{animation:none;transform:rotate(var(--player-angle)) scale(var(--player-scale))}
}
