/* Clear project overview on desktop, natural document scrolling on mobile. */
body[data-scene="work"] {height:auto!important;min-height:100dvh;overflow-y:auto!important;overflow-x:hidden;}
body[data-scene="work"] #main {position:relative!important;inset:auto!important;
  margin:86px 6% 0!important;padding:0!important;min-height:calc(100dvh - 86px);overflow:visible;}
body[data-scene="work"] #main > #work.scene-active {position:relative!important;inset:auto!important;
  display:block!important;height:auto!important;max-height:none!important;overflow:visible!important;
  padding:20px 0 35px!important;animation:none!important;scroll-margin-top:85px!important;}
body[data-scene="work"] .chapter-controls {position:relative;inset:auto;margin:0 6% 32px;}
#work .portfolio-stage,#work .portfolio-bottom {display:none!important;}
#work .portfolio-heading {padding-bottom:25px;align-items:end;}
#work .portfolio-heading h2 {font-size:clamp(34px,4.2vw,54px);letter-spacing:-1.7px;}
#work .portfolio-heading p {display:block;max-width:280px;font-size:13px;line-height:1.7;color:#a6bbce;}
.project-grid {display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;}
.project-card {grid-column:span 6;min-width:0;display:grid;grid-template-columns:.82fr 1.18fr;
  border:1px solid #6085a33b;border-radius:17px;overflow:hidden;background:#08192bea;
  box-shadow:0 15px 40px #0002;transition:border-color .2s,transform .2s;}
.project-card:hover {border-color:#82c4e580;transform:translateY(-3px);}
.project-card.is-featured {grid-column:span 8;grid-template-columns:1.04fr 1fr;
  border-color:#79b4cf66;background:linear-gradient(125deg,#12334c,#0b1c30 74%);}
.project-card.is-compact {grid-column:span 4;display:flex;flex-direction:column;}
.project-media {position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:195px;
  background:#152d42;overflow:hidden;border-right:1px solid #78a7c92b;}
.project-media img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top left;}
.project-card.is-featured .project-media img {object-fit:contain;object-position:center;background:#eaf1f7;padding:9px;}
.project-card.is-compact .project-media {min-height:145px;max-height:145px;border-right:0;border-bottom:1px solid #78a7c92b;}
.project-cover-label {position:absolute;left:11px;bottom:11px;padding:4px 8px;border-radius:5px;
  font:8px/1.4 Arial,sans-serif;letter-spacing:.5px;color:#dcecf5;background:#091928db;border:1px solid #8fb5cd42;}
.project-card-body {min-width:0;padding:23px 23px 20px;display:flex;flex-direction:column;}
.project-card.is-compact .project-card-body {padding:18px 21px 20px;}
.project-card-top {display:flex;align-items:center;justify-content:space-between;gap:12px;
  color:#83afc7;font:8px/1.5 Consolas,monospace;letter-spacing:1.5px;}
.project-state {display:inline-flex;align-items:center;gap:5px;color:#b4d3e0;font:9px/1.5 Arial,sans-serif;letter-spacing:.3px;}
.project-state i {width:4px;height:4px;border-radius:50%;background:#87b7d0;}
.project-state.is-live i {background:#9ed9b3;box-shadow:0 0 6px #9ed9b355;}
.project-card h3 {font:500 clamp(19px,1.8vw,26px)/1.2 Arial,sans-serif;letter-spacing:-.65px;
  margin:13px 0 11px;color:#ecf5fc;overflow-wrap:break-word;}
.project-question {font:12px/1.7 Arial,sans-serif;color:#b1c6d6;margin:0 0 13px;}
.project-contribution {font:11px/1.65 Arial,sans-serif;color:#8eabc0;margin:0 0 14px;}
.project-contribution strong {display:block;color:#bdd8e6;font-size:9px;font-weight:400;letter-spacing:.6px;margin-bottom:3px;}
.project-card-tags {display:flex;gap:5px;flex-wrap:wrap;margin-top:auto;margin-bottom:16px;}
.project-card-tags span {font:8px/1.5 Consolas,monospace;color:#9cc2da;border:1px solid #7ba9c52b;
  border-radius:4px;padding:3px 6px;background:#203d5226;}
.project-card-actions {display:flex;align-items:center;flex-wrap:wrap;gap:13px;}
.project-card-actions a {font:11px/1.5 Arial,sans-serif;color:#e4f6ff;border-bottom:1px solid #8ccde56b;padding:5px 0;}
.project-card-actions a:hover {color:#9ae8ff;}
.project-card-actions button {background:none;border:0;padding:6px 0;color:#a4bed0;
  font:10px/1.5 Arial,sans-serif;cursor:pointer;}
.project-card-actions button:hover {color:#e1f6ff;}
.project-card-actions a:focus-visible,.project-card-actions button:focus-visible {outline:2px solid #8ad9f4;outline-offset:5px;}
.project-no-demo {font:9px/1.5 Arial,sans-serif;color:#7e9aac;}
.project-concept {width:100%;height:100%;min-height:195px;display:flex;flex-direction:column;
  justify-content:center;padding:24px;background:linear-gradient(145deg,#192f40,#0a1625);position:relative;}
.project-film-edge {display:flex;gap:8px;position:absolute;left:18px;right:18px;top:16px;}
.project-film-edge i {height:5px;flex:1;background:#7894a533;border-radius:1px;}
.project-concept b {font:600 34px/1 Arial,sans-serif;color:#e7c66f;letter-spacing:-2px;}
.project-concept em {font:normal 9px/1.6 Consolas,monospace;color:#92adc0;letter-spacing:1px;margin-top:12px;}
.project-concept small {font:8px/1.7 Arial,sans-serif;color:#718fa6;margin-top:26px;}
@media(max-width:1050px) and (min-width:761px) {
  .project-card,.project-card.is-featured,.project-card.is-compact {grid-column:span 6;display:flex;flex-direction:column;}
  .project-media,.project-card.is-compact .project-media {height:170px;min-height:170px;max-height:170px;border-right:0;}
  .project-card-body {flex:1;}
}
@media(max-width:760px) {
  body[data-scene="home"],body[data-scene="work"] {height:auto!important;min-height:100dvh;
    overflow-y:auto!important;overflow-x:hidden;}
  body[data-scene="home"] #main,body[data-scene="work"] #main {
    position:relative!important;inset:auto!important;margin:70px 5% 0!important;
    padding:0!important;min-height:calc(100dvh - 70px);overflow:visible!important;}
  body[data-scene="home"] #main > #home.scene-active,body[data-scene="work"] #main > #work.scene-active {
    position:relative!important;inset:auto!important;height:auto!important;max-height:none!important;
    min-height:0!important;overflow:visible!important;padding:24px 0 35px!important;scroll-margin-top:76px!important;}
  body[data-scene="home"] .chapter-controls,body[data-scene="work"] .chapter-controls {
    position:relative;inset:auto;margin:0 5% 32px;
  }
  body[data-scene="home"] #main > #home.scene-active {
    display:flex!important;flex-direction:column;align-items:stretch;gap:112px;}
  body[data-scene="home"] #home .portrait {width:min(65vw,265px)!important;max-width:none;
    height:auto!important;aspect-ratio:.72;flex:0 0 auto;position:relative;top:auto;right:auto;
    order:-1;align-self:center;margin:0!important;transform:none!important;background:#152c40;}
  body[data-scene="home"] #home .portrait img {object-fit:contain;}
  body[data-scene="home"] #main > #home > div:not(.hero-coordinate):not(.city-portals) {
    position:relative;flex:0 0 auto!important;align-self:stretch!important;min-height:0;
    max-height:none!important;overflow:visible!important;padding:0!important;}
  #home .eyebrow {font-size:8px!important;letter-spacing:1.5px;line-height:1.6;}
  #home .hello {font-size:15px!important;margin:12px 0 4px!important;}
  #home h1 {font-size:clamp(48px,13vw,70px)!important;line-height:1.05;margin:8px 0 20px!important;}
  #home .lead {font-size:23px!important;line-height:1.45;margin:0 0 20px;}
  #home .description {display:block!important;width:100%;max-width:100%!important;font-size:14px!important;
    line-height:1.85;overflow-wrap:break-word;margin:0;}
  #home .credentials {display:block;font-size:10px!important;line-height:1.9;margin-top:18px;}
  #home .actions {display:flex;gap:10px!important;flex-wrap:wrap;margin-top:25px!important;}
  #home .actions .btn {font-size:12px!important;padding:13px 17px!important;min-height:46px;}
  #home .hero-linkedin {font-size:12px;padding:13px 4px;}
  body[data-scene="home"] .cinematic-city {animation:none!important;transform:none!important;opacity:.65;}
  body[data-scene="home"] .cyber-world:after {background:linear-gradient(#06101b9c,#06101bc9 60%,#06101be8)!important;}
  body[data-scene="home"] header,body[data-scene="work"] header {background:#071222eb;backdrop-filter:blur(14px);}
  .badge-tools {position:absolute;top:var(--badge-tools-y,460px);left:var(--badge-center-x,50%);
    right:auto;bottom:auto;transform:translateX(-50%);max-width:92vw;padding:5px;gap:2px;width:max-content;}
  .badge-tools button {width:37px;height:38px;font-size:15px;}
  .badge-tools #badge-reset {padding:0 10px;font-size:10px;}
  .badge-tip {position:absolute;top:var(--badge-tip-y,515px);bottom:auto;left:var(--badge-center-x,50%);
    right:auto;transform:translateX(-50%);width:90vw;text-align:center;font-size:9px;line-height:1.6;margin:0;}
  #work .portfolio-heading {display:block;padding-bottom:23px;}
  #work .portfolio-heading h2 {font-size:36px;margin-top:10px;}
  #work .portfolio-heading p {display:block;max-width:100%;font-size:13px;margin:14px 0 0;}
  .project-grid {grid-template-columns:minmax(0,1fr);gap:22px;}
  .project-card,.project-card.is-featured,.project-card.is-compact {grid-column:auto;display:flex;flex-direction:column;}
  .project-media,.project-card.is-compact .project-media {width:100%;height:auto;aspect-ratio:16/10;
    min-height:0;max-height:none;border-right:0;border-bottom:1px solid #78a7c92b;}
  .project-card.is-featured .project-media img {padding:8px;}
  .project-concept {min-height:0;aspect-ratio:16/10;padding:25px;}
  .project-card-body,.project-card.is-compact .project-card-body {padding:22px;}
  .project-card h3 {font-size:25px;margin:14px 0 12px;}
  .project-question {font-size:14px;line-height:1.8;margin-bottom:17px;}
  .project-contribution {font-size:12px;line-height:1.8;margin-bottom:18px;}
  .project-contribution strong {font-size:10px;}
  .project-card-tags {margin-bottom:18px;gap:6px;}
  .project-card-tags span {font-size:9px;padding:4px 7px;}
  .project-card-actions {gap:20px;}
  .project-card-actions a,.project-card-actions button {font-size:12px;min-height:42px;display:inline-flex;align-items:center;}
  body.welcome-open {overflow:hidden!important;}
}
@media(prefers-reduced-motion:reduce) {.project-card {transition:none;}.project-card:hover {transform:none;}}

html:has(body[data-scene=work]) {overflow-x:hidden!important;overflow-y:auto!important;height:auto!important;}
@media(max-width:760px){html:has(body[data-scene=home]){overflow-x:hidden!important;overflow-y:auto!important;height:auto!important;}}
@media(max-width:760px){body[data-scene=home] header{z-index:50!important;}}

.project-details-cover{width:100%;max-height:330px;object-fit:contain;border-radius:12px;margin:20px 0;background:#07121d;}.project-details-actions{display:flex;gap:12px;flex-wrap:wrap;}.project-details-actions .btn{font-size:13px;}#project-grid[data-loading="true"]:before{content:'Loading projects…';display:block;padding:80px;text-align:center;color:#b3d4e8;}#project-grid[data-empty="true"]{display:grid;place-items:center;min-height:220px;color:#c5e0ef;}
