.site-main { min-height: 100vh; }
.hero { position: relative; min-height: max(100svh, 44rem); display: grid; align-items: end; isolation: isolate; overflow: clip; }
.hero-media, .hero-media img, .hero-shade, .hero-grain { position: absolute; inset: 0; width: 100%; height: 100%; }
.hero-media { z-index: -3; overflow: hidden; background: #03050b; }
.hero-media img { object-fit: cover; object-position: 52% center; transform: scale(1.035); animation: hero-in 1.6s var(--ease) both; }
.hero-shade { z-index: -2; background: linear-gradient(180deg, rgba(4,5,8,.16) 15%, rgba(4,5,8,.05) 42%, rgba(4,5,8,.86) 100%), linear-gradient(90deg, rgba(4,5,8,.72), transparent 72%); }
.hero-content { width: 100%; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--grid-gap); padding: 8rem var(--pad) 10.5rem; }
.hero-content > * { min-width: 0; grid-column: 1 / -1; }
.hero-content .eyebrow { margin-bottom: 1.4rem; }
.hero-copy { max-width: 34rem; margin-top: 1.6rem; color: #dedbd5; font-size: clamp(.95rem, 2.1vw, 1.25rem); line-height: 1.55; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 1.8rem; }
.hero-actions .button { width: 100%; }
.social-rail { position: absolute; z-index: 2; right: var(--pad); bottom: 5.6rem; display: flex; gap: .4rem; }
.social-rail a { width: 2.65rem; height: 2.65rem; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.22); background: rgba(8,9,11,.25); backdrop-filter: blur(12px); font-size: var(--type-label); font-weight: 900; line-height: 1; }
.social-rail a:hover { color: var(--ink); background: var(--paper); }
.hero-scroll { display: none; position: absolute; left: var(--pad); bottom: 2rem; align-items: center; gap: .8rem; color: var(--paper-soft); font-size: var(--type-label); font-weight: 700; letter-spacing: .14em; line-height: 1.2; }
.hero-scroll i { width: 3rem; height: 1px; background: currentColor; transform-origin: left; animation: breathe 2s ease-in-out infinite; }
footer { min-height: 78svh; align-content: space-between; row-gap: 6rem; padding: clamp(5.5rem, 12vw, 10rem) var(--pad) max(6rem, calc(env(safe-area-inset-bottom) + 5rem)); color: var(--ink); background: var(--paper); }
footer h2 { max-width: 13ch; margin: 1.2rem 0 1.6rem; }
footer p:not(.eyebrow) { margin-bottom: 1.7rem; color: #424348; }
footer .eyebrow { color: #585952; }
footer .button-primary { color: var(--paper); background: var(--ink); border-color: var(--ink); }
.footer-meta { display: grid; gap: .55rem; padding-top: 1.4rem; border-top: 1px solid rgba(8,9,11,.22); font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; }
.footer-meta strong { margin-bottom: .25rem; }
.project-float { position: fixed; z-index: 30; left: var(--pad); right: var(--pad); bottom: max(1rem, env(safe-area-inset-bottom)); min-height: 3rem; display: flex; align-items: center; justify-content: center; padding: 0 1rem; color: var(--ink); background: var(--signal); font-size: var(--type-label); font-weight: 900; letter-spacing: .12em; line-height: 1.2; text-transform: uppercase; box-shadow: 0 1.2rem 3rem rgba(0,0,0,.3); }
@keyframes hero-in { from { opacity: 0; transform: scale(1.12); } to { opacity: 1; transform: scale(1.035); } }
@keyframes breathe { 50% { transform: scaleX(.55); opacity: .5; } }
@media (min-width: 36rem) {
  .hero { min-height: 100svh; }
  .hero-content { padding-bottom: 7.75rem; }
  .hero-actions .button { width: auto; }
  .social-rail { top: 6.2rem; bottom: auto; }
  .hero-scroll { display: flex; }
  .project-float { left: auto; right: var(--pad); }
}
@media (min-width: 48rem) {
  .hero-content { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .hero-content h1 { grid-column: 1 / span 11; }
  .hero-copy { grid-column: 1 / span 7; }
  .hero-actions { grid-column: 1 / span 8; }
}
:lang(en) .hero h1 { font-size: clamp(2.35rem, 11.6vw, 9.75rem); }
:lang(lt) .studio-intro h2 { font-size: clamp(1.9rem, 7.8vw, 7rem); }
