:root { color-scheme: dark; font-family: "Andale Mono", "Lucida Console", Monaco, monospace; }
* { box-sizing: border-box; }
html { background: #050505; }
body { margin: 0; min-width: 320px; color: #fff; background: #050505; }
a { color: inherit; }
.hero { position: relative; display: grid; place-items: center; min-height: 100svh; min-height: 100dvh; overflow: hidden; isolation: isolate; background: #050505; }
.hero__image { position: absolute; inset: -3%; z-index: -2; background: url("assets/hero.jpg") center 43% / cover no-repeat; transform: scale(1.04); animation: breathe 24s ease-in-out infinite alternate; will-change: transform; }
.hero__video { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: center 43%; opacity: 0; transition: opacity 1.2s ease; pointer-events: none; }
.hero__video.is-playing { opacity: 1; }
.hero__shade { position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse at center, rgba(0,0,0,.30) 0%, rgba(0,0,0,.12) 34%, rgba(0,0,0,.38) 100%), linear-gradient(180deg, rgba(0,0,0,.22), transparent 28%, transparent 72%, rgba(0,0,0,.48)); }
.hero__content { width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: clamp(18px, 3vh, 30px); padding: 32px 20px; transform: translateY(-1.5vh); text-align: center; }
.logo-slot { width: min(500px, 54vw, 48svh); aspect-ratio: 1; display: grid; place-items: center; }
.logo-slot__image { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 2px 20px rgba(0,0,0,.25)); }
.logo-slot__image:not([hidden]) + .logo-slot__placeholder { display: none; }
.logo-slot__placeholder { display: block; width: 64%; padding: 20px 10px; border: 1px solid rgba(255,255,255,.45); background: rgba(0,0,0,.2); color: rgba(255,255,255,.85); font-size: clamp(12px, 1.2vw, 15px); letter-spacing: .14em; line-height: 1.9; text-transform: uppercase; }
.logo-slot__placeholder small { font-size: .68em; letter-spacing: .07em; opacity: .7; }
.contacts { display: flex; align-items: center; justify-content: center; gap: clamp(18px, 3vw, 30px); font-size: clamp(13px, 1.45vw, 16px); letter-spacing: .045em; text-shadow: 0 2px 14px rgba(0,0,0,.6); }
.contacts a { text-decoration: none; transition: opacity .2s ease; }
.contacts a:hover { opacity: .7; }
.contacts a:focus-visible, .legal a:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
.contacts__email { border-bottom: 1px solid rgba(255,255,255,.55); padding-bottom: 3px; }
.contacts__instagram { width: 30px; height: 30px; display: grid; place-items: center; }
.legal { background: #050505; color: #777; font-size: 11px; line-height: 1.6; letter-spacing: .015em; }
.legal__inner { max-width: 980px; margin: auto; padding: 25px 24px 31px; }
.legal strong { display: block; color: #888; font-weight: 400; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 5px; }
.legal p { margin: 0; }
.legal a { text-underline-offset: 3px; }
@keyframes breathe { from { transform: scale(1.04) translate3d(-.5%, -.4%, 0); } to { transform: scale(1.105) translate3d(.5%, .4%, 0); } }
@media (max-width: 680px) { .hero__image { background-position: 51% center; } .hero__video { object-position: 51% center; } .hero__shade { background: radial-gradient(ellipse at center, rgba(0,0,0,.42), rgba(0,0,0,.18) 48%, rgba(0,0,0,.4)), linear-gradient(180deg,rgba(0,0,0,.15),transparent 28%,transparent 65%,rgba(0,0,0,.35)); } .hero__content { transform: translateY(-1vh); } .logo-slot { width: min(78vw, 380px, 48svh); } .contacts { gap: 18px; } }
@media (prefers-reduced-motion: reduce) { .hero__image { animation: none; transform: none; will-change: auto; } .hero__video { display: none; transition: none; } .contacts a { transition: none; } }
