*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#252525;color:#f5f5f5;font-family:"Golos Text",Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit}button{font:inherit;border:0}.site-header{position:fixed;z-index:20;top:0;left:0;width:100%;height:97px}.language-switch{position:absolute;left:44px;top:30px;display:flex;gap:10px}.lang{padding:5px;border-radius:5px;background:#252525;color:#f5f5f5;font-size:20px;line-height:.95;letter-spacing:-.6px;cursor:pointer}.lang--active{background:#f5f5f5;color:#252525}.main-nav{position:absolute;right:49px;top:30px;display:flex;gap:10px}.tag{display:inline-flex;align-items:center;justify-content:center;min-height:29px;padding:5px 20px;border:2px solid #f5f5f5;border-radius:20px;color:#f5f5f5;background:transparent;font-size:20px;font-weight:400;line-height:.95;letter-spacing:-.6px;text-align:center;white-space:nowrap;text-decoration:none}.tag--filled{background:#f5f5f5;color:#252525;border-color:#f5f5f5}.star{display:block;width:30px;height:30px;flex:0 0 30px;text-align:center;line-height:0}.star img{display:block;width:30px;height:30px;object-fit:contain}.intro{width:min(726.57px,calc(100vw - 80px));margin:97px auto 0;display:flex;flex-direction:column;align-items:center;gap:25px}.intro-title-frame{width:min(660.215px,100%);height:242.4px;display:flex;align-items:center;justify-content:center}.intro-title-frame img{width:100%;height:100%;object-fit:contain;display:block}.intro-title-text{font-size:clamp(56px,10vw,100px);font-weight:600;letter-spacing:-.1em;line-height:.8;text-align:center}.intro-tags{display:flex;gap:10px;align-items:center;justify-content:center}.intro-photo{width:213.569px;height:213.569px;object-fit:cover;border-radius:10px}.intro-copy{width:726.57px;max-width:100%;margin:0;font-size:25px;line-height:.95;letter-spacing:-.75px;text-align:center}.intro-copy span{display:block}.intro-copy span+span{margin-top:10px}.content{width:min(1840px,calc(100vw - 80px));max-width:calc(100% - 80px);margin:25px auto 0;display:flex;flex-direction:column;align-items:center;gap:25px;padding-bottom:80px}.content>h2,.project-main h1{margin:0;font-size:100px;line-height:.99;letter-spacing:-10px;font-weight:600;text-align:center}.content>h3,.project-info h2{margin:0;font-size:50px;line-height:.95;letter-spacing:-1.5px;font-weight:600;text-align:center}.skills-grid{width:1490px;max-width:100%;display:grid;grid-template-columns:repeat(4,350px);gap:30px}.skill-group{display:flex;flex-direction:column;align-items:center;gap:15px;width:350px}.group-title{margin:0;width:100%;font-size:20px;font-weight:600;line-height:.95;letter-spacing:-.6px;text-align:center}.tags-wrap{display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:10px}.skill-group .tags-wrap{width:350px}.experience-grid{width:1290px;max-width:100%;display:grid;grid-template-columns:repeat(4,300px);gap:30px}.experience-grid article{width:300px;display:flex;flex-direction:column;align-items:center;gap:15px;text-align:center}.experience-grid img{width:150px;height:150px;border-radius:100px;object-fit:cover}.experience-grid p,.experience-grid span{width:300px;margin:0;font-size:20px;line-height:.95;letter-spacing:-.6px;text-align:center;opacity:.75}.experience-grid span{margin-top:0}.media{position:relative;overflow:hidden;border-radius:25px;width:min(1187.617px,100%);aspect-ratio:1187.617/668.119;background:#000}.media iframe,.media img{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}.video-placeholder{display:flex;align-items:center;justify-content:center;color:#f5f5f5;font-size:20px;letter-spacing:-.6px}.project-filters{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}.filter{cursor:pointer}.projects-grid{width:100%;display:grid;grid-template-columns:repeat(5,300px);gap:30px;justify-content:center}.project-card{width:300px;display:flex;flex-direction:column;align-items:center;gap:15px;text-decoration:none;text-align:center}.project-card img{width:250px;height:300px;object-fit:cover;border-radius:10px}.project-card h4,.project-card p{width:300px;margin:0;font-size:20px;line-height:.95;letter-spacing:-.6px;font-weight:600;opacity:.75}.project-card p{font-weight:400}.contacts,.socials{display:flex;gap:30px;align-items:flex-start;justify-content:center;flex-wrap:wrap}.contacts>div{display:flex;flex-direction:column;align-items:center;gap:10px}.contacts a,.contacts>div>span:last-child{font-size:20px;line-height:.95;letter-spacing:-.6px;opacity:.75;text-decoration:none}.project-header{position:fixed;z-index:30;left:0;top:0;width:100%;height:97px}.back-tag{position:absolute;left:14px;top:34px}.close-btn{position:absolute;right:35px;top:20px;width:48px;height:48px;background:none;color:#f5f5f5;font-size:48px;line-height:40px;cursor:pointer}.project-main{width:100%;max-width:100%;display:flex;flex-direction:column;align-items:center;gap:25px;padding-bottom:80px}.project-cover{width:min(1920px,100vw);height:450px;overflow:hidden;border-radius:0 0 10px 10px}.project-cover img{width:100%;height:100%;object-fit:cover}.project-title{display:flex;flex-direction:column;align-items:center;text-align:center}.project-meta{font-size:20px;line-height:.95;letter-spacing:-.6px;opacity:.75;margin-bottom:0}.project-title h1{margin:0;max-width:1580px}.project-description{width:min(1000px,calc(100vw - 80px));margin:0;font-size:25px;line-height:.95;letter-spacing:-.75px;text-align:center}.project-info{width:min(1650px,calc(100vw - 80px));max-width:calc(100% - 80px);display:grid;grid-template-columns:1fr 1fr;gap:50px}.project-info>div{display:flex;flex-direction:column;align-items:center;gap:25px}.project-info h2{margin:0}.project-info .tags-wrap{width:800px;max-width:100%}.project-section-title{max-width:1255px}.gallery{width:min(1793px,calc(100vw - 80px));max-width:calc(100% - 80px);display:grid;gap:10px}.gallery img{width:100%;height:100%;object-fit:cover;border-radius:10px;display:block}.gallery--WSHB_Posts,.gallery--SS_Posts{grid-template-columns:repeat(3,450px);justify-content:center}.gallery--JUD_Book,.gallery--BLOOP_Pckg,.gallery--BLOOP_Idenity{grid-template-columns:repeat(3,1fr);grid-auto-rows:373px}.gallery--SHLM_Idenity{grid-template-columns:repeat(3,1fr);grid-auto-rows:373px}.gallery--SHLM_Frames{grid-template-columns:580px repeat(2,1fr);grid-template-rows:373px 373px}.gallery--SS_Print{grid-template-columns:repeat(3,1fr);grid-template-rows:760px}.gallery--SS_BSS{display:grid;grid-template-columns:537px 418px 418px 259px;grid-template-rows:760px}.gallery--SS_BSS img:nth-child(2),.gallery--SS_BSS img:nth-child(3){height:373px}.gallery--JUD_FP{grid-template-columns:repeat(2,1fr);grid-auto-rows:500px}.gallery--JUD_FONT{grid-template-columns:829px 833px;grid-auto-rows:auto;justify-content:center}.gallery--JUD_FONT img{height:auto;object-fit:contain;align-self:start}.gallery--WSHB_Posts img:nth-child(4){grid-column:1/-1;height:349px}.gallery--WSHB_Posts img{height:450px}.project-main .socials{margin-bottom:0}@media(max-width:1400px){.skills-grid{grid-template-columns:repeat(2,350px);justify-content:center}.experience-grid{grid-template-columns:repeat(2,300px);justify-content:center}.projects-grid{grid-template-columns:repeat(3,300px)}.main-nav{right:30px}.project-title h1,.content>h2,.project-main h1{font-size:clamp(60px,7vw,100px)}}@media(max-width:900px){.main-nav{top:80px;right:20px;left:20px;justify-content:flex-end;flex-wrap:wrap}.intro{margin-top:130px}.content{width:calc(100vw - 40px)}.skills-grid{grid-template-columns:1fr}.experience-grid{grid-template-columns:1fr}.projects-grid{grid-template-columns:repeat(2,300px)}.project-info{grid-template-columns:1fr}.project-cover{height:300px}.project-description{font-size:20px}.gallery{width:calc(100vw - 40px);grid-template-columns:1fr!important;grid-template-rows:auto!important}.gallery img{height:auto!important;min-height:250px;aspect-ratio:1/1;object-fit:cover}.gallery--JUD_FONT{grid-template-columns:1fr}.gallery--JUD_FONT img{aspect-ratio:auto;height:auto;object-fit:contain}.close-btn{right:15px}}@media(max-width:650px){.language-switch{left:18px;top:20px}.main-nav{display:none}.intro{width:calc(100vw - 36px);margin-top:70px}.intro-photo{width:180px;height:180px}.intro-copy{font-size:18px}.content{width:calc(100vw - 36px)}.content>h2,.project-main h1{font-size:clamp(48px,14vw,76px);letter-spacing:-.08em}.content>h3,.project-info h2{font-size:40px}.skills-grid,.experience-grid,.projects-grid{grid-template-columns:1fr}.project-card{max-width:100%}.project-filters{max-width:100%}.project-title h1{max-width:calc(100vw - 30px)}.project-info{width:calc(100vw - 36px)}.project-main .project-description{width:calc(100vw - 36px);font-size:18px}.project-cover{height:220px}}

/* v8 fixes */
.site-header,.project-header{transition:transform .28s ease,opacity .28s ease}.site-header.is-collapsed{transform:translateY(-72px)}.site-header.is-collapsed:hover{transform:translateY(0)}.main-nav{transition:opacity .2s ease}.site-header.is-collapsed .main-nav{opacity:.05}.site-header.is-collapsed:hover .main-nav{opacity:1}.project-header{pointer-events:none}.project-header .close-btn{pointer-events:auto}.project-header .back-tag{display:none}.project-sidebar{position:absolute;left:40px;top:500px;width:260px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}.project-sidebar .tag{max-width:260px;white-space:normal;text-align:left}.project-content{width:min(1840px,calc(100vw - 80px));margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:25px}.project-content .project-description,.project-content .project-info,.project-content .gallery,.project-content .media{margin-left:auto;margin-right:auto}.gallery--SHLM_Frames{grid-template-columns:597px 1fr 1fr;grid-template-rows:390px 383px}.gallery--SHLM_Frames img:first-child{grid-row:1 / span 2}.gallery--SHLM_Frames img:not(:first-child){height:100%;object-fit:cover}.gallery--SS_Print{grid-template-columns:repeat(4,1fr);grid-template-rows:760px;align-items:start}.gallery--SS_Print img:nth-child(-n+2){height:373px}.gallery--SS_BSS{grid-template-columns:537px 418px 418px 259px;grid-template-rows:373px 373px}.gallery--SS_BSS img:nth-child(1){grid-row:1 / span 2}.gallery--SS_BSS img:nth-child(4){grid-row:1 / span 2}.gallery--SS_BSS img:nth-child(5){grid-column:4;grid-row:1}.gallery--SS_BSS img:nth-child(6){grid-column:4;grid-row:1}.gallery--SS_BSS img:nth-child(7){grid-column:4;grid-row:2}.gallery--JUD_FONT{grid-template-columns:1fr 1fr;align-items:start}.gallery--JUD_FONT img{max-width:100%;height:auto!important}.gallery--JUD_Book{grid-template-columns:repeat(3,1fr);grid-auto-rows:373px}.project-title h1,.project-section-title{max-width:calc(100vw - 80px)}
@media(max-width:900px){.site-header.is-collapsed{transform:translateY(-55px)}.project-sidebar{position:static;width:calc(100vw - 40px);margin:0 auto;align-items:center}.project-sidebar .tag{max-width:100%}.gallery--SHLM_Frames,.gallery--SS_Print,.gallery--SS_BSS{grid-template-columns:1fr!important;grid-template-rows:auto!important}.gallery--SHLM_Frames img:first-child,.gallery--SS_BSS img:first-child,.gallery--SS_BSS img:nth-child(4){grid-row:auto}.gallery--SS_Print img:nth-child(-n+2){height:auto}}

/* v9 layout corrections */
html,body{max-width:100%;overflow-x:hidden}
.content{width:min(1840px,calc(100vw - 80px));max-width:none;padding-left:0;padding-right:0}
.projects-grid{width:100%;max-width:1620px;margin:0 auto;grid-template-columns:repeat(5,minmax(0,300px));overflow:visible}
.project-card{min-width:0}
.project-card h4,.project-card p{max-width:300px}
.project-filters{width:100%;max-width:1620px;margin:0 auto}

/* Project-page tags stay in one horizontal row and remain visible near the top. */
.project-main{width:100%;padding-top:0}
.project-sidebar{position:sticky;z-index:16;left:auto;top:110px;width:min(1840px,calc(100vw - 80px));margin:0 auto;padding:0;min-height:29px;display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-start;align-self:center}
.project-sidebar .tag{max-width:none;white-space:nowrap;text-align:center}
.project-content{width:min(1840px,calc(100vw - 80px));max-width:calc(100vw - 80px);margin:0 auto}
.project-info{width:min(1290px,100%);max-width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-left:auto;margin-right:auto}
.project-info>div{width:100%;min-width:0;align-items:center}
.project-info .tags-wrap{width:100%;max-width:620px}

/* Posters: preserve original proportions instead of cropping them into squares. */
.gallery--POSTERS{width:min(1290px,calc(100vw - 80px));grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:30px}
.poster-item{min-width:0;display:flex;flex-direction:column;align-items:center;gap:10px}
.poster-item .poster-media{width:100%;height:auto;aspect-ratio:auto;background:transparent;border-radius:10px;overflow:hidden}
.poster-item .poster-media img{position:static;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:10px}
.poster-item .poster-media iframe{position:static;width:100%;height:auto;aspect-ratio:16/9;border:0;border-radius:10px}
.poster-caption{width:100%;margin:0;font-size:20px;line-height:.95;letter-spacing:-.6px;text-align:center;opacity:.75}

@media(max-width:1400px){
  .projects-grid{grid-template-columns:repeat(3,minmax(0,300px));max-width:960px}
  .gallery--POSTERS{grid-template-columns:repeat(2,minmax(0,1fr));max-width:960px}
}
@media(max-width:900px){
  .content{width:calc(100vw - 40px)}
  .projects-grid{grid-template-columns:repeat(2,minmax(0,300px));max-width:630px}
  .project-sidebar{width:calc(100vw - 40px);top:72px;justify-content:center}
  .project-sidebar .tag{white-space:normal}
  .project-content{width:calc(100vw - 40px);max-width:calc(100vw - 40px)}
  .project-info{width:100%;grid-template-columns:1fr;gap:25px}
  .gallery--POSTERS{width:calc(100vw - 40px);grid-template-columns:1fr;max-width:none}
}
@media(max-width:650px){
  .content{width:calc(100vw - 36px)}
  .projects-grid{grid-template-columns:1fr;max-width:300px}
  .project-sidebar{width:calc(100vw - 36px)}
  .project-content{width:calc(100vw - 36px);max-width:calc(100vw - 36px)}
}

/* v10 fixes */
.project-header{
  position:fixed;
  z-index:40;
  top:0;
  left:0;
  width:100%;
  height:72px;
  background:#252525;
  pointer-events:none;
  transform:none!important;
  opacity:1!important;
}
.project-sidebar{
  position:absolute!important;
  left:20px!important;
  right:90px!important;
  top:20px!important;
  width:auto!important;
  height:32px;
  min-height:29px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  align-items:center!important;
  justify-content:flex-start!important;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  white-space:nowrap;
}
.project-sidebar::-webkit-scrollbar{display:none}
.project-sidebar .tag{flex:0 0 auto;max-width:none!important;white-space:nowrap!important;text-align:center!important}
.close-btn{
  position:absolute!important;
  right:25px!important;
  top:14px!important;
  width:48px!important;
  height:48px!important;
  z-index:2;
}
.project-main{padding-top:0!important}
.project-content{position:relative;z-index:1}
.project-card h4{width:250px!important;max-width:250px!important;font-size:18px!important;line-height:.95!important;overflow-wrap:break-word}
.project-card p{width:250px!important;max-width:250px!important;font-size:18px!important;line-height:.95!important;overflow-wrap:break-word}
.project-image-full{width:min(1290px,calc(100vw - 80px));max-width:100%;margin:0 auto}
.project-image-full img{display:block;width:100%;height:auto;border-radius:10px}

@media(max-width:900px){
  .project-header{height:64px}
  .project-sidebar{left:12px!important;right:70px!important;top:16px!important}
  .close-btn{right:10px!important;top:8px!important}
  .project-image-full{width:calc(100vw - 40px)}
}
@media(max-width:650px){
  .project-sidebar{left:10px!important;right:58px!important}
  .project-card h4,.project-card p{width:250px!important;max-width:250px!important}
}


/* v12 fixes */
.project-card[hidden]{display:none!important}
.project-card h4,.project-card p{width:250px;max-width:250px;overflow-wrap:anywhere}
.site-header.is-collapsed{transform:translateY(-100%)!important;opacity:0!important}
.site-header.is-collapsed:hover{transform:translateY(0)!important;opacity:1!important}
.project-header{background:transparent!important;height:72px;pointer-events:none}
.project-sidebar{
  position:absolute!important;left:20px!important;right:90px!important;top:20px!important;
  width:auto!important;height:32px!important;min-height:29px!important;margin:0!important;padding:0!important;
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;gap:10px!important;
  align-items:center!important;justify-content:flex-start!important;overflow:visible!important;white-space:nowrap;
}
.project-sidebar .tag{flex:0 0 auto;transition:transform .16s ease,opacity .16s ease}
.project-sidebar:has(.tag:hover) .tag{opacity:.9}
.project-sidebar:has(.tag:hover) .tag:hover{opacity:1;transform:scale(1.055);animation:tag-jitter .2s ease-in-out infinite}
@keyframes tag-jitter{
  0%{translate:0 0}25%{translate:-.5px .25px}50%{translate:.5px -.25px}75%{translate:-.25px .5px}100%{translate:0 0}
}
.close-btn{background:transparent!important}
@media(max-width:900px){
  .site-header.is-collapsed{transform:translateY(-100%)!important}
  .project-header{height:64px}
  .project-sidebar{left:12px!important;right:70px!important;top:16px!important;overflow-x:auto!important;overflow-y:hidden!important}
}
@media(max-width:650px){.project-sidebar{left:10px!important;right:58px!important}}


/* v15 interaction + project media fixes */
a[href], button { transition: transform .16s ease, opacity .16s ease; }
a[href]:hover, button:hover { transform: scale(1.055); animation: link-jitter .2s ease-in-out infinite; }
@keyframes link-jitter {
  0%{rotate:0deg} 25%{rotate:-.5deg} 50%{rotate:.5deg} 75%{rotate:-.3deg} 100%{rotate:0deg}
}
.project-sidebar .tag--filled { background:#f5f5f5; color:#252525; border-color:#f5f5f5; }
.project-sidebar:empty { display:none !important; }
.project-card.filter-out { opacity:0; transform:scale(.92) translateY(8px); transition:opacity .18s ease, transform .18s ease; }
.project-card.filter-in { animation: card-filter-in .28s ease both; }
@keyframes card-filter-in {
  0%{opacity:0;transform:scale(.92) translateY(8px)}
  65%{opacity:1;transform:scale(1.025) translateY(-2px)}
  100%{opacity:1;transform:scale(1) translateY(0)}
}
.gallery--POSTERS{grid-template-columns:repeat(4,minmax(0,1fr));}
.gallery--SS_BSS{grid-template-columns:537px 418px 418px 259px;grid-template-rows:373px 373px;align-items:start;}
.gallery--SS_BSS img:nth-child(1){grid-column:1;grid-row:1 / span 2;}
.gallery--SS_BSS img:nth-child(2){grid-column:2;grid-row:1;}
.gallery--SS_BSS img:nth-child(3){grid-column:2;grid-row:2;}
.gallery--SS_BSS img:nth-child(4){grid-column:3;grid-row:1 / span 2;}
.gallery--SS_BSS .gallery-stack{grid-column:4;grid-row:1 / span 2;display:flex;flex-direction:column;gap:10px;width:259px;height:100%;}
.gallery--SS_BSS .gallery-stack img{width:259px;height:auto;object-fit:cover;flex:1 1 0;min-height:0;}
@media(max-width:1400px){.gallery--POSTERS{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:900px){
  .gallery--POSTERS{grid-template-columns:1fr!important;}
  .gallery--SS_BSS{grid-template-columns:1fr!important;grid-template-rows:auto!important;}
  .gallery--SS_BSS img{grid-column:auto!important;grid-row:auto!important;height:auto!important;}
  .gallery--SS_BSS .gallery-stack{grid-column:auto;grid-row:auto;width:100%;height:auto;}
  .gallery--SS_BSS .gallery-stack img{width:100%;height:auto;flex:none;}
}
@media(prefers-reduced-motion:reduce){a[href]:hover,button:hover,.project-card.filter-in{animation:none;}*{scroll-behavior:auto!important;}}


/* v16 refinements */
.contact-copy{
  appearance:none;
  background:none;
  color:inherit;
  padding:0;
  margin:0;
  font-size:20px;
  line-height:.95;
  letter-spacing:-.6px;
  opacity:.75;
  cursor:pointer;
}
.contact-copy:focus-visible{outline:2px solid #f5f5f5;outline-offset:4px;border-radius:4px}
.gallery--SS_Posts{grid-template-columns:repeat(3,450px);grid-template-rows:repeat(2,450px);justify-content:center;align-items:start}
.gallery--SS_Posts img{width:450px;height:450px;object-fit:cover}
.gallery--SS_Print{grid-template-columns:repeat(3,498px);grid-template-rows:repeat(2,373px);justify-content:center;align-items:start}
.gallery--SS_Print img:nth-child(1){grid-column:3;grid-row:1}
.gallery--SS_Print img:nth-child(2){grid-column:3;grid-row:2}
.gallery--SS_Print img:nth-child(3){grid-column:2;grid-row:1 / span 2}
.gallery--SS_Print img:nth-child(4){grid-column:1;grid-row:1 / span 2}
.gallery--SS_Print img{width:498px;object-fit:cover}
.gallery--SS_Print img:nth-child(1),.gallery--SS_Print img:nth-child(2){height:373px}
.gallery--SS_Print img:nth-child(3),.gallery--SS_Print img:nth-child(4){height:760px}
@media(max-width:1400px){
  .gallery--SS_Posts{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto}
  .gallery--SS_Posts img{width:100%;height:auto;aspect-ratio:1}
  .gallery--SS_Print{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto}
  .gallery--SS_Print img{width:100%;height:auto!important}
}
@media(max-width:900px){
  .gallery--SS_Posts,.gallery--SS_Print{grid-template-columns:1fr!important;grid-template-rows:auto!important}
  .gallery--SS_Posts img,.gallery--SS_Print img{width:100%;height:auto!important;aspect-ratio:auto}
}


/* v17: Student Council uses the three supplied composite assets, one per section. */
.gallery--SS_Posts,
.gallery--SS_Print,
.gallery--SS_BSS{
  display:block!important;
  width:min(1840px,calc(100vw - 80px))!important;
  max-width:100%!important;
  height:auto!important;
}
.gallery--SS_Posts img,
.gallery--SS_Print img,
.gallery--SS_BSS img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  object-fit:contain!important;
  aspect-ratio:auto!important;
}
.gallery--SS_BSS .gallery-stack{display:none!important}
@media(max-width:900px){
  .gallery--SS_Posts,.gallery--SS_Print,.gallery--SS_BSS{width:calc(100vw - 40px)!important}
}


/* v18 refinements */
.header-hover-zone{
  position:fixed;
  z-index:25;
  top:0;
  left:0;
  width:100%;
  height:22px;
  pointer-events:auto;
}
.header-hover-zone:hover ~ .site-header{
  transform:translateY(0)!important;
  opacity:1!important;
}
a[href]:hover,button:hover{
  transform:scale(1.08);
  animation:link-jitter .45s ease-in-out infinite;
}
@keyframes link-jitter{
  0%{rotate:0deg}
  20%{rotate:-1.15deg}
  40%{rotate:.9deg}
  60%{rotate:-.95deg}
  80%{rotate:.7deg}
  100%{rotate:0deg}
}
.gallery--POSTERS .media{
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  position:relative;
  overflow:hidden;
  border-radius:10px;
  background:#000;
}
.gallery--POSTERS .media--portrait{aspect-ratio:1080/1920;}
.gallery--POSTERS .media iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  object-fit:cover;
}
@media(max-width:900px){
  .gallery--POSTERS .media,.gallery--POSTERS .media--portrait{aspect-ratio:auto;height:auto;min-height:0;}
  .gallery--POSTERS .media iframe{position:static;display:block;width:100%;height:auto;aspect-ratio:16/9;}
  .gallery--POSTERS .media--portrait iframe{aspect-ratio:1080/1920;}
}
@media(prefers-reduced-motion:reduce){
  a[href]:hover,button:hover{animation:none;}
}


/* v19 typography + contact refinements */
.tag{padding:3px 20px 7px;}
.tag--filled:not(a):not(button){background:transparent!important;color:#f5f5f5!important;border-color:#f5f5f5!important;}
.intro-copy,.project-description,.experience-grid p,.experience-grid span,.project-card h4,.project-card p,.project-meta,.poster-caption{line-height:1.08;letter-spacing:-.35px;}
.group-title,.project-card h4{font-size:22px!important;}
.content>h2,.project-main h1,.content>h3,.project-info h2,.project-section-title{font-weight:800;}
a[href]:hover,button:hover{transform:scale(1.085);animation:link-jitter .65s ease-in-out infinite;}
@keyframes link-jitter{
  0%{rotate:0deg} 16%{rotate:-1.8deg} 33%{rotate:1.5deg} 50%{rotate:-1.7deg} 66%{rotate:1.4deg} 83%{rotate:-1deg} 100%{rotate:0deg}
}
.contacts{gap:30px;}
.contacts>div{gap:7px;}
.contact-item{display:flex;flex-direction:column;align-items:center;gap:7px;}
.contact-action,.contact-copy{font:inherit;}
.contact-label{font-size:18px;line-height:1;letter-spacing:-.3px;color:#8f8f8f;opacity:1!important;transform:none!important;animation:none!important;}
.contact-label:hover{transform:none!important;animation:none!important;}
@media(max-width:650px){.group-title,.project-card h4{font-size:20px!important}.contact-label{font-size:16px;}}

/* v20 refinements */
html{scrollbar-width:thin;scrollbar-color:rgba(245,245,245,.35) transparent;}
html::-webkit-scrollbar{width:5px;height:5px;}
html::-webkit-scrollbar-track{background:transparent;}
html::-webkit-scrollbar-thumb{background:rgba(245,245,245,.35);border-radius:10px;}
html::-webkit-scrollbar-thumb:hover{background:rgba(245,245,245,.5);}

/* Optical centering for tag text */
.tag{padding:4px 20px 6px;line-height:1;text-indent:-.3px;}

/* Keep contact captions in the same muted white used elsewhere */
.contact-label{color:inherit!important;opacity:.75!important;}

/* Slow, wider jitter without changing the stronger scale */
a[href]:hover,button:hover{transform:scale(1.085);animation:link-jitter .65s ease-in-out infinite;}
@keyframes link-jitter{
  0%{rotate:0deg}
  16%{rotate:-2.4deg}
  33%{rotate:2deg}
  50%{rotate:-2.3deg}
  66%{rotate:1.9deg}
  83%{rotate:-1.5deg}
  100%{rotate:0deg}
}

/* Horizontal posters occupy two poster columns */
.gallery--POSTERS .poster-item:nth-child(1),
.gallery--POSTERS .poster-item:nth-child(2),
.gallery--POSTERS .poster-item:nth-child(15),
.gallery--POSTERS .poster-item:nth-child(16){grid-column:span 2;}
.gallery--POSTERS .poster-item:nth-child(1) .media,
.gallery--POSTERS .poster-item:nth-child(2) .media{width:100%;}
@media(max-width:900px){
  .gallery--POSTERS .poster-item:nth-child(1),
  .gallery--POSTERS .poster-item:nth-child(2),
  .gallery--POSTERS .poster-item:nth-child(15),
  .gallery--POSTERS .poster-item:nth-child(16){grid-column:auto;}
}


/* v21 refinements */
/* Contact controls are fully opaque filled tags; captions stay muted and static. */
.contacts .contact-action,
.contacts .contact-copy{
  background:#f5f5f5!important;
  color:#252525!important;
  border-color:#f5f5f5!important;
  opacity:1!important;
}
.contacts .contact-action:hover,
.contacts .contact-copy:hover{opacity:1!important;}

/* Keep full-width project graphics mathematically centered. */
.project-image-full{
  position:relative;
  left:0;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Poster videos: Snow + Humanize are vertical. */
.gallery--POSTERS .media--portrait{
  aspect-ratio:1080/1920!important;
}
.gallery--POSTERS .poster-item:nth-child(3) .media,
.gallery--POSTERS .poster-item:nth-child(4) .media{
  aspect-ratio:1080/1920!important;
}
.gallery--POSTERS .poster-item:nth-child(3) .media iframe,
.gallery--POSTERS .poster-item:nth-child(4) .media iframe{
  object-fit:cover;
}

/* v24: mobile scale refinement — keep the desktop composition, but reduce the oversized mobile elements. */
@media(max-width:650px){
  .site-header{height:64px;}
  .language-switch{left:18px;top:16px;gap:8px;}
  .lang{font-size:16px;padding:4px 5px;}

  .intro{
    width:calc(100vw - 48px);
    margin-top:72px;
    gap:16px;
  }
  .intro-title-frame{
    width:min(330px,100%);
    height:150px;
  }
  .intro-tags{
    width:100%;
    flex-wrap:wrap;
    gap:7px;
  }
  .intro-tags .tag{
    font-size:16px;
    min-height:25px;
    padding:3px 13px 5px;
  }
  .intro-photo{width:150px;height:150px;border-radius:8px;}
  .intro-copy{
    width:100%;
    font-size:17px;
    line-height:1.08;
    letter-spacing:-.25px;
  }
  .intro-copy span+span{margin-top:8px;}

  .content{
    width:calc(100vw - 48px);
    max-width:calc(100vw - 48px);
    gap:16px;
  }
  .content>h2,.project-main h1{
    font-size:clamp(42px,12vw,58px);
    letter-spacing:-.07em;
  }
  .content>h3,.project-info h2{font-size:32px;}
  .group-title,.project-card h4{font-size:18px!important;}
  .tag{font-size:16px;padding:3px 14px 5px;min-height:26px;}
  .tags-wrap{gap:7px;}
  .skill-group .tags-wrap{width:100%;}
  .skills-grid{gap:24px;}
  .experience-grid{gap:24px;}
  .experience-grid p,.experience-grid span,.project-card h4,.project-card p{
    font-size:17px;
    line-height:1.08;
    letter-spacing:-.25px;
  }

  .project-filters{gap:7px;width:100%;}
  .project-filters .tag{font-size:16px;padding:3px 13px 5px;}
  .projects-grid{gap:24px;}
  .project-card{gap:10px;}
  .project-card img{width:220px;height:265px;}

  .project-main{gap:16px;}
  .project-description{font-size:17px!important;line-height:1.08;letter-spacing:-.25px;}
  .project-meta{font-size:16px;}
  .project-cover{height:190px;}
  .project-sidebar .tag{font-size:15px;padding:3px 11px 5px;}

  .contacts,.socials{gap:20px;}
  .contacts .contact-action,.contacts .contact-copy{font-size:16px;}
  .contact-label{font-size:14px!important;}
}

/* v25 mobile: compact two-column projects + fully visible top navigation/tags */
@media(max-width:650px){
  /* Keep the main navigation visible on phones without making it oversized. */
  .main-nav{
    display:flex!important;
    top:47px!important;
    left:10px!important;
    right:10px!important;
    gap:5px!important;
    justify-content:center!important;
    flex-wrap:wrap!important;
    overflow:visible!important;
  }
  .main-nav .tag{
    font-size:12px!important;
    min-height:22px!important;
    padding:2px 8px 4px!important;
    border-width:1.5px!important;
  }
  .intro{margin-top:100px;}
  .intro-title-frame{width:min(300px,100%);height:135px;}
  .intro-tags .tag{font-size:14px;min-height:23px;padding:2px 10px 4px;}

  /* Two project cards per row, with enough breathing room for titles. */
  .projects-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:20px 10px!important;
    width:100%!important;
  }
  .project-card{width:100%!important;min-width:0;gap:8px;}
  .project-card img{
    width:min(145px,100%)!important;
    height:auto!important;
    aspect-ratio:5/6;
    object-fit:cover;
  }
  .project-card h4,.project-card p{
    width:100%!important;
    max-width:100%!important;
    font-size:15px!important;
    line-height:1.06!important;
    letter-spacing:-.2px!important;
  }

  /* Project-page achievements: wrap instead of hiding the rest behind horizontal scrolling. */
  .project-sidebar{
    left:10px!important;
    right:10px!important;
    width:calc(100vw - 20px)!important;
    top:12px!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    gap:6px!important;
    padding-right:42px!important;
  }
  .project-sidebar .tag{
    font-size:12px!important;
    min-height:22px!important;
    padding:2px 8px 4px!important;
    white-space:normal!important;
    max-width:100%!important;
  }
}
