.project-card{min-height:360px;background-size:cover!important;background-position:center!important;position:relative;overflow:hidden}.project-top{position:absolute!important;top:18px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:flex-start;z-index:5}.project-top span{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;background:#eaf2ffeb;color:#07111d;border:1px solid #fff7;box-shadow:0 10px 35px #00dbff22}.project-copy{position:absolute!important;left:24px;right:24px;bottom:24px;z-index:4}.project-copy h3{font-size:clamp(24px,2vw,38px);line-height:1.02;margin:0 0 6px}.project-copy p{margin:0 0 12px;color:#c8d0e0}.tag-row{display:flex;gap:8px;flex-wrap:wrap}.tag-row b{font-size:10px;padding:6px 10px;border-radius:999px;background:#14223bd9;border:1px solid #6ba4ff33;color:#dfe9fb}.project-card:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,20%),#18f2cf25,transparent 35%),radial-gradient(circle at 25% 100%,#754bff28,transparent 45%);pointer-events:none}.album-hero{min-height:520px;padding-top:150px;background:#0a1019;background-size:cover!important;background-position:center!important;display:flex;align-items:flex-end}.album-hero .shell{padding-bottom:60px}.album-hero-copy{max-width:950px}.album-hero-copy h1{font-size:clamp(44px,7vw,112px);line-height:.92;margin:18px 0 12px}.backlink{display:inline-flex;margin-bottom:40px;color:#cdd8ec;text-decoration:none}.photo-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.gallery-item{grid-column:span 6;border:0;padding:0;background:#0b111b;border-radius:22px;overflow:hidden;cursor:pointer;min-height:300px}.gallery-item:nth-child(3n){grid-column:span 12}.gallery-item img{width:100%;height:100%;display:block;object-fit:cover;transition:.4s transform}.gallery-item:hover img{transform:scale(1.02)}.photo-filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}.lightbox{position:fixed;inset:0;background:#03050aeb;backdrop-filter:blur(18px);z-index:1000;display:none;align-items:center;justify-content:center}.lightbox.open{display:flex}.lightbox img{max-width:90vw;max-height:84vh;border-radius:18px;box-shadow:0 30px 120px #000}.lb-close,.lb-prev,.lb-next{position:absolute;border:1px solid #ffffff30;background:#111827cc;color:#fff;width:48px;height:48px;border-radius:16px;font-size:24px;cursor:pointer}.lb-close{top:24px;right:24px}.lb-prev{left:24px}.lb-next{right:24px}.lb-caption{position:absolute;bottom:18px;color:#dbe5f7}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.blog-card{overflow:hidden;text-decoration:none;color:#fff}.blog-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.blog-card div{padding:22px}.blog-card h2{margin:8px 0}.post-hero{padding-top:180px}.post-hero h1{font-size:clamp(48px,7vw,100px);line-height:.95}.post-hero>img{width:100%;max-height:680px;object-fit:cover;border-radius:28px;margin-top:34px}.post-body{max-width:900px!important;margin:40px auto 120px!important;padding:34px;white-space:normal;font-size:18px;line-height:1.8}.empty-state.show{display:flex}@media(max-width:900px){.photo-gallery{grid-template-columns:1fr}.gallery-item,.gallery-item:nth-child(3n){grid-column:auto}.blog-grid{grid-template-columns:1fr}.album-hero{min-height:440px}}


/* V14 MOBILE + GAME INDEX FIX */
*,*::before,*::after{box-sizing:border-box}
html,body{max-width:100%;overflow-x:hidden}
img,video,svg{max-width:100%;height:auto}

/* Exact public archive markup */
.game-index{display:flex!important;flex-direction:column!important;gap:2px!important;min-width:0!important;overflow:auto!important;padding-right:5px}
.game-index>.game-index-link,.game-index>a{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:start!important;gap:12px!important;width:100%!important;min-width:0!important;padding:9px 8px!important;border-radius:10px!important;color:#b1bdd2!important;font-size:11px!important;line-height:1.35!important;letter-spacing:.035em!important;text-decoration:none!important}
.game-index>.game-index-link span,.game-index>a span{min-width:0!important;overflow-wrap:anywhere!important;word-break:normal!important;white-space:normal!important}
.game-index>.game-index-link small,.game-index>a small{font-size:9px!important;color:#6680a4!important;white-space:nowrap!important;justify-self:end!important;align-self:start!important}
.alphabet-row{display:flex!important;flex-wrap:wrap!important;gap:6px!important;width:100%!important}
.alphabet-row button{border:0!important;background:transparent!important;color:#737987!important;font-size:10px!important;font-weight:800!important;padding:5px 7px!important;border-radius:8px!important;cursor:pointer!important}
.alphabet-row button:hover,.alphabet-row button.active{color:#fff!important;background:rgba(255,255,255,.08)!important}

/* User requested Filter Collection NOT sticky */
.archive-main .archive-tools{position:relative!important;top:auto!important;z-index:2!important}

@media(max-width:980px){
  .archive-layout{grid-template-columns:1fr!important;display:grid!important;width:100%!important;gap:18px!important}
  .archive-sidebar{position:relative!important;top:auto!important;max-height:none!important;width:100%!important;min-width:0!important;overflow:hidden!important}
  .game-index{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;max-height:320px!important;overflow-y:auto!important}
  .archive-main{width:100%!important;min-width:0!important}
  .archive-main .archive-tools{position:relative!important;top:auto!important}
  .archive-grid-v5{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  .archive-grid-v5 .project-card,.archive-grid-v5 .project-card:nth-child(1),.archive-grid-v5 .project-card:nth-child(6){grid-column:auto!important;min-height:360px!important}
  .photo-gallery{grid-template-columns:1fr!important}
  .gallery-item,.gallery-item:nth-child(3n){grid-column:auto!important}
}

@media(max-width:640px){
  .shell{width:calc(100% - 24px)!important;max-width:none!important}
  .nav-wrap{top:10px!important}
  .nav{width:calc(100% - 24px)!important;min-height:58px!important;padding:8px 10px!important;border-radius:18px!important;position:relative!important;gap:8px!important}
  .brand{min-width:0!important;gap:9px!important;font-size:10px!important;letter-spacing:.08em!important}
  .brand img,.brand-orb{width:30px!important;height:30px!important;flex:0 0 30px!important}
  .menu{display:block!important;flex:0 0 auto!important}
  .nav-social{display:none!important}
  .navlinks{display:none!important;position:absolute!important;top:calc(100% + 8px)!important;left:0!important;right:0!important;z-index:100!important;flex-direction:column!important;gap:5px!important;padding:8px!important;border-radius:18px!important;background:rgba(7,11,20,.94)!important;border:1px solid rgba(255,255,255,.10)!important;box-shadow:0 18px 55px rgba(0,0,0,.55)!important;backdrop-filter:blur(20px)!important}
  .navlinks.open{display:flex!important}
  .navlinks a{width:100%!important;padding:12px 14px!important;border-radius:12px!important}

  .archive-hero{padding:112px 0 32px!important}
  .archive-hero h1{font-size:clamp(46px,15vw,72px)!important;line-height:.88!important;letter-spacing:-.055em!important;margin:14px 0 18px!important}
  .archive-hero p{font-size:15px!important;line-height:1.55!important}
  .archive-browser{padding:4px 0 70px!important}
  .archive-layout{gap:14px!important}
  .archive-sidebar{padding:15px!important;border-radius:22px!important;margin:0!important}
  .sidebar-search{margin-top:12px!important}
  .sidebar-search input,.archive-tools .search input{font-size:16px!important;min-height:46px!important}
  .alphabet-row{margin:12px 0 10px!important;gap:5px!important}
  .alphabet-row button{font-size:10px!important;padding:6px 7px!important}
  .game-index{max-height:310px!important;padding-right:3px!important}
  .game-index>.game-index-link,.game-index>a{grid-template-columns:minmax(0,1fr) 42px!important;gap:8px!important;padding:10px 6px!important;font-size:12px!important;border-bottom:1px solid rgba(255,255,255,.045)!important}
  .game-index>.game-index-link small,.game-index>a small{font-size:9px!important;text-align:right!important}

  .archive-tools{padding:14px!important;border-radius:22px!important;margin:0 0 14px!important;align-items:stretch!important}
  .archive-tools-head{align-items:flex-start!important;gap:12px!important;margin-bottom:12px!important}
  .archive-tools-title{font-size:18px!important;line-height:1.15!important}
  .clear-filter{flex:0 0 auto!important;padding:8px 10px!important}
  .photo-filters{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:7px!important;padding-bottom:4px!important;scrollbar-width:none!important}
  .photo-filters::-webkit-scrollbar{display:none!important}
  .photo-filters .filter{flex:0 0 auto!important;white-space:nowrap!important}
  .result-row{gap:8px!important;flex-wrap:wrap!important}

  .archive-grid-v5{grid-template-columns:1fr!important;gap:13px!important}
  .archive-grid-v5 .project-card,.archive-grid-v5 .project-card:nth-child(1),.archive-grid-v5 .project-card:nth-child(6){grid-column:auto!important;min-height:365px!important;border-radius:22px!important}
  .project-top{top:14px!important;left:14px!important;right:14px!important}
  .project-top span{width:42px!important;height:42px!important;border-radius:13px!important}
  .project-copy{left:18px!important;right:18px!important;bottom:18px!important}
  .project-copy h3{font-size:clamp(25px,8vw,34px)!important;overflow-wrap:anywhere!important}

  .album-hero{min-height:400px!important;padding-top:112px!important}
  .album-hero .shell{padding-bottom:34px!important}
  .album-hero-copy h1{font-size:clamp(42px,13vw,66px)!important;overflow-wrap:anywhere!important}
  .backlink{margin-bottom:26px!important}
  .photo-gallery{grid-template-columns:1fr!important;gap:9px!important}
  .gallery-item,.gallery-item:nth-child(3n){grid-column:auto!important;min-height:220px!important;border-radius:17px!important}
  .photo-filter-row{flex-wrap:nowrap!important;overflow-x:auto!important;scrollbar-width:none!important;padding-bottom:4px!important}
  .photo-filter-row::-webkit-scrollbar{display:none!important}
  .photo-filter{flex:0 0 auto!important;white-space:nowrap!important}
  .lightbox{padding:12px!important}
  .lightbox img{max-width:96vw!important;max-height:78vh!important;border-radius:13px!important}
  .lb-close,.lb-prev,.lb-next{width:42px!important;height:42px!important;border-radius:13px!important}
  .lb-close{top:12px!important;right:12px!important}.lb-prev{left:10px!important}.lb-next{right:10px!important}
  .lb-caption{left:14px!important;right:14px!important;text-align:center!important;font-size:12px!important}

  .blog-grid{grid-template-columns:1fr!important}
  .post-hero{padding-top:120px!important}
  .post-body{margin:24px 12px 70px!important;padding:20px!important;font-size:16px!important;border-radius:20px!important}
}

@media(max-width:390px){
  .shell,.nav{width:calc(100% - 16px)!important}
  .brand span{max-width:150px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
  .archive-sidebar,.archive-tools{border-radius:18px!important}
  .game-index>.game-index-link,.game-index>a{grid-template-columns:minmax(0,1fr) 38px!important;gap:5px!important}
}
\n\n/* V17 - MOBILE HAMBURGER MENU FIX */\n.nav{overflow:visible!important}\n.menu{position:relative;z-index:150;cursor:pointer;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent}\n@media(max-width:980px){\n  .menu{display:grid!important;place-items:center!important;width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;border-radius:13px!important;border:1px solid rgba(255,255,255,.12)!important;background:rgba(255,255,255,.06)!important;color:#fff!important;font-size:23px!important;line-height:1!important}\n  .menu:active{transform:scale(.97)!important;background:rgba(255,255,255,.12)!important}\n  .navlinks{display:none!important;position:absolute!important;top:calc(100% + 10px)!important;left:0!important;right:0!important;z-index:140!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;padding:9px!important;border-radius:18px!important;background:rgba(5,9,17,.97)!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 22px 70px rgba(0,0,0,.65)!important;backdrop-filter:blur(24px) saturate(150%)!important;-webkit-backdrop-filter:blur(24px) saturate(150%)!important}\n  .navlinks.open{display:flex!important}\n  .navlinks a{display:block!important;width:100%!important;padding:13px 14px!important;border-radius:12px!important;color:#e8edf8!important}\n  .mobile-menu-open .nav-wrap{z-index:999!important}\n}\n\n\n/* V18 - MOBILE HAMBURGER BUTTON ONLY FIX */\n@media(max-width:980px){\n  .nav-wrap{z-index:10000!important;overflow:visible!important;pointer-events:auto!important}\n  .nav{position:relative!important;overflow:visible!important;z-index:10001!important;pointer-events:auto!important}\n  .menu{display:block!important;position:relative!important;z-index:10003!important;pointer-events:auto!important;cursor:pointer!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;min-width:44px!important;min-height:44px!important}\n  #mobileNavLinks.navlinks{z-index:10002!important;pointer-events:auto!important}\n  #mobileNavLinks.navlinks.open{display:flex!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}\n}\n

/* V19 - PREMIUM PHOTO VIEWER / ZOOM */
body.lightbox-open{overflow:hidden!important}
.gallery-item{position:relative}
.gallery-item::before{content:"VIEW";position:absolute;right:14px;bottom:14px;z-index:3;padding:7px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(5,10,18,.58);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;font:800 9px/1 Inter,sans-serif;letter-spacing:.14em;opacity:0;transform:translateY(5px);transition:.25s ease;pointer-events:none}
.gallery-item:hover::before{opacity:1;transform:none}
.lightbox{position:fixed!important;inset:0!important;z-index:50000!important;display:none!important;background:radial-gradient(circle at 50% 38%,rgba(28,43,68,.26),rgba(2,5,10,.97) 62%)!important;backdrop-filter:blur(22px) saturate(115%)!important;-webkit-backdrop-filter:blur(22px) saturate(115%)!important;overflow:hidden!important;user-select:none!important}
.lightbox.open{display:block!important;animation:lbFade .22s ease both}
@keyframes lbFade{from{opacity:0}to{opacity:1}}
.lb-topbar{position:absolute;z-index:8;top:0;left:0;right:0;min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:linear-gradient(180deg,rgba(2,5,9,.9),rgba(2,5,9,.22),transparent)}
.lb-meta{display:flex;align-items:center;gap:12px;min-width:0;color:#dce6f7;font-size:12px}
.lb-counter{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);font-weight:800;letter-spacing:.08em}
.lb-caption{position:static!important;max-width:min(48vw,650px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b9c6da!important;font-size:12px!important}
.lb-tools{display:flex;gap:7px;align-items:center;flex:0 0 auto}
.lb-tool{position:relative!important;inset:auto!important;width:42px!important;height:42px!important;min-width:42px!important;display:grid!important;place-items:center!important;border-radius:13px!important;border:1px solid rgba(255,255,255,.13)!important;background:rgba(13,20,31,.7)!important;color:#f5f9ff!important;backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;box-shadow:0 8px 30px rgba(0,0,0,.24)!important;font:700 18px/1 Inter,sans-serif!important;cursor:pointer!important;transition:.2s ease!important}
.lb-tool:hover{background:rgba(255,255,255,.13)!important;transform:translateY(-1px)}
.lb-zoom-reset{width:64px!important;font-size:10px!important;letter-spacing:.06em!important}
.lb-close{font-size:25px!important}
.lb-stage{position:absolute;z-index:2;inset:70px 82px 116px;display:grid;place-items:center;overflow:hidden;touch-action:none;cursor:zoom-in}
.lightbox.is-zoomed .lb-stage{cursor:grab}.lightbox.is-zoomed .lb-stage.dragging{cursor:grabbing}
.lb-media-wrap{width:100%;height:100%;display:grid;place-items:center;overflow:hidden}
.lb-image{display:block!important;max-width:100%!important;max-height:100%!important;width:auto!important;height:auto!important;object-fit:contain!important;border-radius:8px!important;box-shadow:0 30px 120px rgba(0,0,0,.58)!important;transform-origin:center center!important;will-change:transform!important;transition:transform .12s ease-out!important;pointer-events:none!important}
.lb-stage.dragging .lb-image{transition:none!important}
.lb-nav{position:absolute!important;z-index:7!important;top:50%!important;transform:translateY(-50%)!important;width:54px!important;height:72px!important;border-radius:18px!important;border:1px solid rgba(255,255,255,.12)!important;background:rgba(9,14,23,.48)!important;color:#fff!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;box-shadow:0 12px 40px rgba(0,0,0,.22)!important;font:300 42px/1 Inter,sans-serif!important;cursor:pointer!important;transition:.2s ease!important}
.lb-nav:hover{background:rgba(255,255,255,.12)!important}.lb-prev{left:18px!important}.lb-next{right:18px!important}
.lb-filmstrip{position:absolute;z-index:8;left:50%;bottom:18px;transform:translateX(-50%);max-width:min(86vw,1100px);height:76px;display:flex;align-items:center;gap:8px;padding:8px;border-radius:18px;background:rgba(7,12,20,.7);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(20px) saturate(130%);-webkit-backdrop-filter:blur(20px) saturate(130%);overflow-x:auto;overflow-y:hidden;scrollbar-width:none;box-shadow:0 18px 60px rgba(0,0,0,.36)}
.lb-filmstrip::-webkit-scrollbar{display:none}
.lb-thumb{flex:0 0 62px;width:62px;height:58px;padding:0;border-radius:11px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#09111c;opacity:.48;cursor:pointer;transition:.2s ease}
.lb-thumb img{display:block;width:100%;height:100%;object-fit:cover;max-width:none}
.lb-thumb:hover{opacity:.8;transform:translateY(-1px)}
.lb-thumb.active{opacity:1;border-color:rgba(73,231,255,.85);box-shadow:0 0 0 2px rgba(98,91,255,.24),0 0 26px rgba(42,217,255,.16)}
.lb-hint{position:absolute;z-index:6;left:50%;bottom:102px;transform:translateX(-50%);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:rgba(215,226,244,.48);pointer-events:none;white-space:nowrap}

@media(max-width:760px){
 .gallery-item::before{opacity:1;transform:none;right:10px;bottom:10px;font-size:8px;padding:6px 8px}
 .lb-topbar{min-height:62px;padding:9px 10px;gap:8px}.lb-meta{gap:7px}.lb-caption{display:none}.lb-counter{font-size:9px;padding:6px 8px}
 .lb-tools{gap:5px}.lb-tool{width:38px!important;height:38px!important;min-width:38px!important;border-radius:12px!important}.lb-zoom-reset{width:53px!important;min-width:53px!important;font-size:9px!important}.lb-fullscreen{display:none!important}
 .lb-stage{inset:62px 8px 100px!important}.lb-image{border-radius:4px!important;max-width:100%!important;max-height:100%!important}
 .lb-nav{width:42px!important;height:58px!important;border-radius:14px!important;font-size:34px!important;background:rgba(7,12,20,.42)!important}.lb-prev{left:8px!important}.lb-next{right:8px!important}
 .lb-filmstrip{bottom:10px;height:70px;max-width:calc(100vw - 18px);padding:7px;border-radius:15px}.lb-thumb{flex-basis:54px;width:54px;height:52px;border-radius:9px}
 .lb-hint{display:none}
}
@media(max-width:430px){
 .lb-zoom-out,.lb-zoom-reset,.lb-zoom-in{display:none!important}
 .lb-stage{inset:58px 4px 92px!important}.lb-topbar{min-height:58px}.lb-filmstrip{height:64px}.lb-thumb{width:48px;flex-basis:48px;height:46px}
}

/* V20 - ASPECT-AWARE MASONRY + LIGHTBOX PERFORMANCE FIX */
.photo-gallery{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-rows:8px!important;
  grid-auto-flow:dense!important;
  gap:10px!important;
  align-items:start!important;
}
.gallery-item,.gallery-item:nth-child(3n){
  grid-column:auto;
  min-height:0!important;
  height:100%!important;
  width:100%!important;
  border-radius:12px!important;
  overflow:hidden!important;
  background:#070b12!important;
  padding:0!important;
}
.gallery-item img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
}
.gallery-item.is-portrait img{object-fit:cover!important}

/* Faster viewer: no expensive full-screen backdrop blurs. */
.lightbox{
  background:rgba(2,5,10,.985)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  contain:layout paint style!important;
}
.lb-topbar,.lb-tool,.lb-nav,.lb-filmstrip{
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.lb-tool,.lb-nav,.lb-thumb{pointer-events:auto!important;touch-action:manipulation!important}
.lb-tools,.lb-topbar,.lb-filmstrip{pointer-events:auto!important}
.lb-stage{pointer-events:auto!important}
.lb-image{
  transition:none!important;
  will-change:transform!important;
  transform:translateZ(0);
  image-rendering:auto!important;
}
.lb-stage:not(.dragging) .lb-image{transition:transform 70ms linear!important}
.lb-nav:active,.lb-tool:active{transform:scale(.96)!important}
.lb-prev:active,.lb-next:active{transform:translateY(-50%) scale(.96)!important}
.lb-thumb img{pointer-events:none!important}

@media(max-width:1179px){
  .photo-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:719px){
  .photo-gallery{grid-template-columns:1fr!important;grid-auto-rows:8px!important;gap:8px!important}
  .gallery-item,.gallery-item:nth-child(3n){grid-column:span 1!important;border-radius:10px!important}
  .lb-stage{inset:60px 6px 92px!important}
  .lb-nav{z-index:12!important}
  .lb-topbar{z-index:14!important}
  .lb-filmstrip{z-index:14!important}
}

/* V21 - BLOG REDESIGN */
.blog-v21,.post-v21{position:relative;overflow:hidden}
.blog-hero-v21{padding:170px 0 72px;position:relative}
.blog-hero-v21:before{content:"";position:absolute;inset:-20% -10% auto;height:520px;background:radial-gradient(circle at 18% 45%,rgba(31,224,255,.12),transparent 32%),radial-gradient(circle at 72% 20%,rgba(120,82,255,.14),transparent 30%);pointer-events:none}
.blog-hero-inner-v21{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.blog-hero-copy-v21{max-width:780px}.blog-hero-copy-v21 h1{margin:18px 0 14px;font-size:clamp(62px,9vw,138px);line-height:.82;letter-spacing:-.07em}.blog-hero-copy-v21 h1 span{color:#65edff;text-shadow:0 0 34px rgba(84,227,255,.26)}
.blog-hero-copy-v21 p{max-width:650px;margin:0;color:#9fb0c7;font-size:clamp(16px,1.4vw,20px);line-height:1.65}
.blog-hero-orb-v21{width:180px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(104,235,255,.85),rgba(111,73,255,.28) 32%,rgba(0,0,0,0) 68%);filter:blur(8px);opacity:.55}
.blog-feed-v21{padding:10px 0 120px}.blog-grid-v21{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.blog-card-v21{display:grid;grid-template-rows:auto 1fr;min-width:0;overflow:hidden;border-radius:28px;text-decoration:none;color:#fff;background:linear-gradient(180deg,rgba(13,22,36,.83),rgba(7,12,21,.9));transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.blog-card-v21:hover{transform:translateY(-5px);border-color:rgba(94,224,255,.35);box-shadow:0 24px 70px rgba(0,0,0,.28),0 0 60px rgba(48,123,255,.08)}
.blog-card-media-v21{position:relative;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,#0d1626,#101b31)}
.blog-card-media-v21 img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}.blog-card-v21:hover img{transform:scale(1.035)}
.blog-card-fallback-v21{width:100%;height:100%;background:radial-gradient(circle at 25% 25%,rgba(47,229,255,.18),transparent 32%),radial-gradient(circle at 75% 65%,rgba(123,80,255,.18),transparent 30%),#09111d}
.blog-card-arrow-v21{position:absolute;top:16px;right:16px;width:46px;height:46px;display:grid;place-items:center;border-radius:15px;background:rgba(242,248,255,.93);color:#09101a;font-size:18px;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.blog-card-body-v21{padding:24px 26px 27px;min-width:0}.blog-card-meta-v21{display:flex;justify-content:space-between;gap:12px;color:#8293ad;text-transform:uppercase;letter-spacing:.12em;font-size:10px;font-weight:700}
.blog-card-v21 h2{margin:15px 0 10px;font-size:clamp(28px,3.2vw,54px);line-height:.98;letter-spacing:-.045em;overflow-wrap:anywhere}.blog-card-v21 p{margin:0;color:#aab8cb;font-size:15px;line-height:1.62;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blog-read-v21{display:inline-flex;align-items:center;gap:8px;margin-top:22px;font-size:13px;font-weight:800;color:#e8f6ff}.blog-read-v21 b{color:#5de7ff;font-size:17px}
.blog-card-v21.is-featured{grid-column:1/-1;grid-template-columns:minmax(0,1.45fr) minmax(320px,.75fr);grid-template-rows:none}.blog-card-v21.is-featured .blog-card-media-v21{aspect-ratio:auto;min-height:460px}.blog-card-v21.is-featured .blog-card-body-v21{display:flex;flex-direction:column;justify-content:flex-end;padding:34px}.blog-card-v21.is-featured h2{font-size:clamp(42px,5vw,74px)}
.blog-empty-v21{padding:36px;border-radius:24px;color:#9eb0c7}

.post-head-v21{padding:150px 0 36px;position:relative}.post-head-v21:before{content:"";position:absolute;inset:0 0 auto;height:520px;background:radial-gradient(circle at 15% 10%,rgba(42,216,255,.09),transparent 33%),radial-gradient(circle at 78% 0%,rgba(116,75,255,.12),transparent 30%);pointer-events:none}
.post-head-v21 .shell{position:relative}.post-topline-v21{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:66px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.08)}
.post-back-v21{display:inline-flex;align-items:center;gap:10px;color:#c9d5e7;text-decoration:none;font-size:13px;font-weight:750;letter-spacing:.03em}.post-back-v21 span{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.035)}.post-back-v21:hover{color:#fff}
.post-date-v21{display:inline-flex;align-items:center;min-height:34px;padding:0 13px;border-radius:999px;border:1px solid rgba(65,215,255,.25);background:rgba(31,126,160,.08);color:#93a7c2;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
.post-title-wrap-v21{max-width:1120px}.post-kicker-v21{display:block;margin-bottom:15px;color:#6fe9ff;text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:800}.post-title-wrap-v21 h1{margin:0;font-size:clamp(54px,8vw,126px);line-height:.86;letter-spacing:-.065em;overflow-wrap:anywhere}.post-deck-v21{max-width:760px;margin:26px 0 0;color:#aebcd0;font-size:clamp(17px,1.55vw,23px);line-height:1.58}
.post-cover-v21{margin:52px 0 0;border-radius:28px;overflow:hidden;border:1px solid rgba(255,255,255,.1);box-shadow:0 25px 90px rgba(0,0,0,.3);background:#09111b}.post-cover-v21 img{display:block;width:100%;max-height:720px;object-fit:cover}
.post-content-wrap-v21{padding:14px 20px 120px}.post-body-v21{max-width:900px;margin:0 auto;padding:1px;border-radius:30px;background:linear-gradient(135deg,rgba(93,229,255,.18),rgba(120,80,255,.08),rgba(255,255,255,.04))}.post-body-inner-v21{padding:46px 50px;border-radius:29px;background:rgba(6,11,19,.92);color:#d5deea;font-size:18px;line-height:1.9;overflow-wrap:anywhere;white-space:normal}.post-body-inner-v21::first-line{color:#f7fbff}

@media(max-width:900px){
 .blog-hero-v21{padding:130px 0 52px}.blog-hero-orb-v21{display:none}.blog-grid-v21{grid-template-columns:1fr}.blog-card-v21.is-featured{grid-column:auto;grid-template-columns:1fr;grid-template-rows:auto 1fr}.blog-card-v21.is-featured .blog-card-media-v21{min-height:0;aspect-ratio:16/9}.blog-card-v21.is-featured .blog-card-body-v21{padding:24px 26px 27px}.blog-card-v21.is-featured h2{font-size:clamp(30px,8vw,52px)}
 .post-head-v21{padding-top:120px}.post-topline-v21{margin-bottom:48px}.post-cover-v21{margin-top:38px}
}
@media(max-width:600px){
 .blog-hero-v21{padding:112px 0 38px}.blog-hero-copy-v21 h1{font-size:clamp(58px,22vw,88px)}.blog-feed-v21{padding-bottom:80px}.blog-grid-v21{gap:14px}.blog-card-v21{border-radius:22px}.blog-card-body-v21{padding:20px}.blog-card-v21 h2{font-size:clamp(28px,10vw,42px)}
 .post-head-v21{padding:104px 0 24px}.post-topline-v21{margin-bottom:36px;align-items:flex-start}.post-back-v21{font-size:12px}.post-date-v21{font-size:8px;padding:0 10px;min-height:30px}.post-title-wrap-v21 h1{font-size:clamp(48px,17vw,78px);line-height:.9}.post-deck-v21{font-size:16px}.post-cover-v21{border-radius:20px;margin-top:30px}.post-content-wrap-v21{padding:8px 12px 80px}.post-body-v21{border-radius:22px}.post-body-inner-v21{padding:28px 22px;border-radius:21px;font-size:16px;line-height:1.8}
}

/* V25 — Game Index interaction restored */
.game-index > a,
.game-index > .game-index-link{
  position:relative!important;
  overflow:hidden!important;
  transition:transform .18s cubic-bezier(.2,.8,.2,1), background .18s ease, color .18s ease, box-shadow .18s ease!important;
  -webkit-tap-highlight-color:transparent;
  will-change:transform;
}
.game-index > a::before,
.game-index > .game-index-link::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:0;
  background:linear-gradient(90deg,rgba(118,87,255,.24),rgba(49,214,226,.12) 55%,transparent);
  transform:translateX(-18%);
  transition:opacity .18s ease,transform .28s cubic-bezier(.2,.8,.2,1);
}
.game-index > a:hover,
.game-index > .game-index-link:hover{
  color:#fff!important;
  background:rgba(255,255,255,.045)!important;
  transform:translateX(4px)!important;
  box-shadow:inset 2px 0 0 rgba(83,220,255,.8),0 8px 24px rgba(26,106,160,.10)!important;
}
.game-index > a:hover::before,
.game-index > .game-index-link:hover::before{
  opacity:1;
  transform:translateX(0);
}
.game-index > a:active,
.game-index > a.is-pressing,
.game-index > .game-index-link:active,
.game-index > .game-index-link.is-pressing{
  color:#fff!important;
  background:linear-gradient(90deg,rgba(105,73,255,.24),rgba(35,211,210,.10))!important;
  transform:translateX(5px) scale(.985)!important;
  box-shadow:inset 3px 0 0 rgba(95,231,255,.95),0 0 22px rgba(89,115,255,.16)!important;
}
.game-index > a:active::before,
.game-index > a.is-pressing::before,
.game-index > .game-index-link:active::before,
.game-index > .game-index-link.is-pressing::before{
  opacity:1;
  transform:translateX(0);
}
.game-index > a span,
.game-index > a small,
.game-index > .game-index-link span,
.game-index > .game-index-link small{position:relative;z-index:1}

@media (hover:none){
  .game-index > a:hover,
  .game-index > .game-index-link:hover{transform:none!important;background:transparent!important;box-shadow:none!important}
  .game-index > a.is-pressing,
  .game-index > .game-index-link.is-pressing{transform:translateX(4px) scale(.985)!important;background:linear-gradient(90deg,rgba(105,73,255,.24),rgba(35,211,210,.10))!important;box-shadow:inset 3px 0 0 rgba(95,231,255,.95),0 0 22px rgba(89,115,255,.16)!important}
}

/* V29 — ALBUM TONE SYSTEM: make Admin "Tone" visible on the public site */
.ocean{--tone:#42e8ff;--tone2:#2f7cff;--tone-rgb:66,232,255}
.ember{--tone:#ff9a45;--tone2:#ff5a35;--tone-rgb:255,154,69}
.midnight{--tone:#7895ff;--tone2:#3546a8;--tone-rgb:120,149,255}
.red{--tone:#ff5267;--tone2:#9f2035;--tone-rgb:255,82,103}
.gold{--tone:#ffd76a;--tone2:#c28b28;--tone-rgb:255,215,106}
.magenta{--tone:#ff5be7;--tone2:#8f4cff;--tone-rgb:255,91,231}
.crimson{--tone:#ff3d59;--tone2:#671321;--tone-rgb:255,61,89}
.toxic{--tone:#8dff6a;--tone2:#2ecb72;--tone-rgb:141,255,106}
.sand{--tone:#e7bd7e;--tone2:#9e6634;--tone-rgb:231,189,126}
.desert{--tone:#ffb65c;--tone2:#b6602f;--tone-rgb:255,182,92}
.forest{--tone:#65e59e;--tone2:#1f7255;--tone-rgb:101,229,158}

/* Project cards: border, atmosphere, arrow and tags follow the chosen tone */
.project-card.ocean,.project-card.ember,.project-card.midnight,.project-card.red,.project-card.gold,.project-card.magenta,.project-card.crimson,.project-card.toxic,.project-card.sand,.project-card.desert,.project-card.forest{
  border-color:rgba(var(--tone-rgb),.26)!important;
  box-shadow:0 18px 50px rgba(0,0,0,.32),0 0 0 1px rgba(var(--tone-rgb),.035) inset!important;
}
.project-card.ocean::after,.project-card.ember::after,.project-card.midnight::after,.project-card.red::after,.project-card.gold::after,.project-card.magenta::after,.project-card.crimson::after,.project-card.toxic::after,.project-card.sand::after,.project-card.desert::after,.project-card.forest::after{
  background:
    radial-gradient(circle at var(--mx,72%) var(--my,18%),rgba(var(--tone-rgb),.22),transparent 36%),
    linear-gradient(145deg,rgba(var(--tone-rgb),.025),transparent 45%,rgba(var(--tone-rgb),.08))!important;
  mix-blend-mode:screen;
  opacity:.9;
}
.project-card.ocean:hover,.project-card.ember:hover,.project-card.midnight:hover,.project-card.red:hover,.project-card.gold:hover,.project-card.magenta:hover,.project-card.crimson:hover,.project-card.toxic:hover,.project-card.sand:hover,.project-card.desert:hover,.project-card.forest:hover{
  border-color:rgba(var(--tone-rgb),.72)!important;
  box-shadow:0 26px 72px rgba(0,0,0,.46),0 0 32px rgba(var(--tone-rgb),.16),0 0 0 1px rgba(var(--tone-rgb),.18) inset!important;
}
.project-card.ocean .project-top span,.project-card.ember .project-top span,.project-card.midnight .project-top span,.project-card.red .project-top span,.project-card.gold .project-top span,.project-card.magenta .project-top span,.project-card.crimson .project-top span,.project-card.toxic .project-top span,.project-card.sand .project-top span,.project-card.desert .project-top span,.project-card.forest .project-top span{
  box-shadow:0 10px 35px rgba(var(--tone-rgb),.24)!important;
}
.project-card.ocean .tag-row b,.project-card.ember .tag-row b,.project-card.midnight .tag-row b,.project-card.red .tag-row b,.project-card.gold .tag-row b,.project-card.magenta .tag-row b,.project-card.crimson .tag-row b,.project-card.toxic .tag-row b,.project-card.sand .tag-row b,.project-card.desert .tag-row b,.project-card.forest .tag-row b{
  border-color:rgba(var(--tone-rgb),.28)!important;
  background:linear-gradient(135deg,rgba(var(--tone-rgb),.13),rgba(9,17,31,.84))!important;
  box-shadow:0 0 18px rgba(var(--tone-rgb),.045) inset!important;
}

/* Homepage featured project */
.feature-cover.ocean,.feature-cover.ember,.feature-cover.midnight,.feature-cover.red,.feature-cover.gold,.feature-cover.magenta,.feature-cover.crimson,.feature-cover.toxic,.feature-cover.sand,.feature-cover.desert,.feature-cover.forest{
  box-shadow:inset 0 0 0 1px rgba(var(--tone-rgb),.25),0 0 42px rgba(var(--tone-rgb),.12)!important;
}
.feature-cover.ocean::before,.feature-cover.ember::before,.feature-cover.midnight::before,.feature-cover.red::before,.feature-cover.gold::before,.feature-cover.magenta::before,.feature-cover.crimson::before,.feature-cover.toxic::before,.feature-cover.sand::before,.feature-cover.desert::before,.feature-cover.forest::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(circle at 74% 18%,rgba(var(--tone-rgb),.28),transparent 38%),linear-gradient(180deg,rgba(var(--tone-rgb),.035),transparent 45%);
  mix-blend-mode:screen;
}
.feature-cover .feature-copy,.feature-cover .glass-streak{z-index:3}

/* Album page hero */
.album-hero.ocean,.album-hero.ember,.album-hero.midnight,.album-hero.red,.album-hero.gold,.album-hero.magenta,.album-hero.crimson,.album-hero.toxic,.album-hero.sand,.album-hero.desert,.album-hero.forest{
  position:relative;
  border-bottom:1px solid rgba(var(--tone-rgb),.20);
  box-shadow:0 24px 90px rgba(var(--tone-rgb),.065);
}
.album-hero.ocean::before,.album-hero.ember::before,.album-hero.midnight::before,.album-hero.red::before,.album-hero.gold::before,.album-hero.magenta::before,.album-hero.crimson::before,.album-hero.toxic::before,.album-hero.sand::before,.album-hero.desert::before,.album-hero.forest::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(circle at 82% 25%,rgba(var(--tone-rgb),.24),transparent 34%),linear-gradient(90deg,rgba(var(--tone-rgb),.065),transparent 48%);
  mix-blend-mode:screen;
}
.album-hero .shell{position:relative;z-index:1}
.album-hero.ocean .eyebrow,.album-hero.ember .eyebrow,.album-hero.midnight .eyebrow,.album-hero.red .eyebrow,.album-hero.gold .eyebrow,.album-hero.magenta .eyebrow,.album-hero.crimson .eyebrow,.album-hero.toxic .eyebrow,.album-hero.sand .eyebrow,.album-hero.desert .eyebrow,.album-hero.forest .eyebrow{
  border-color:rgba(var(--tone-rgb),.28);box-shadow:0 0 24px rgba(var(--tone-rgb),.075)
}

@media (max-width:700px){
  .project-card.ocean,.project-card.ember,.project-card.midnight,.project-card.red,.project-card.gold,.project-card.magenta,.project-card.crimson,.project-card.toxic,.project-card.sand,.project-card.desert,.project-card.forest{
    box-shadow:0 12px 34px rgba(0,0,0,.32),0 0 18px rgba(var(--tone-rgb),.06)!important;
  }
}


/* V31 — FINAL MOBILE NAV TAP FIX */
@media(max-width:980px){
  .nav-wrap{z-index:2147483000!important;pointer-events:none!important}
  .nav{overflow:visible!important;pointer-events:auto!important}
  .nav::before,.nav::after{pointer-events:none!important}
  #mobileMenuButton.menu{
    appearance:none!important;-webkit-appearance:none!important;
    display:grid!important;place-items:center!important;
    position:relative!important;z-index:2147483003!important;
    width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;
    margin:0!important;padding:0!important;
    border:1px solid rgba(57,218,224,.55)!important;border-radius:15px!important;
    background:linear-gradient(145deg,rgba(19,37,61,.96),rgba(7,25,33,.96))!important;
    color:#fff!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 22px rgba(35,216,223,.11)!important;
    cursor:pointer!important;pointer-events:auto!important;touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;user-select:none!important;-webkit-user-select:none!important;
  }
  #mobileMenuButton.menu span{display:block!important;pointer-events:none!important;font:700 23px/1 Arial,sans-serif!important;transform:translateY(-1px)}
  #mobileMenuButton.menu:active{transform:scale(.95)!important}
  #mobileMenuButton.menu.is-open{border-color:rgba(106,233,255,.85)!important;background:linear-gradient(145deg,rgba(43,56,102,.98),rgba(9,49,53,.98))!important}
  #mobileNavLinks.navlinks{
    display:none!important;position:absolute!important;top:calc(100% + 10px)!important;left:0!important;right:0!important;
    z-index:2147483002!important;pointer-events:none!important;visibility:hidden!important;opacity:0!important;
    transform:translateY(-6px)!important;
  }
  #mobileNavLinks.navlinks.open{
    display:flex!important;pointer-events:auto!important;visibility:visible!important;opacity:1!important;transform:none!important;
  }
  #mobileNavLinks.navlinks.open a{pointer-events:auto!important;touch-action:manipulation!important}
}
