*{margin:0;padding:0}html,body,body.about-open,body.gallery-open{overflow:hidden}.webgl{position:fixed;top:0;left:0;outline:none}.about-card{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#030509b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility .35s ease;z-index:8}.about-card.is-open{opacity:1;visibility:visible;pointer-events:auto}.about-card__panel{position:relative;width:min(820px,92vw);min-height:320px;display:grid;grid-template-columns:minmax(220px,1fr) 1.4fr;gap:24px;padding:26px;background:#060a0ef2;border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 70px #00000073;transform:translateY(18px) scale(.97);transition:transform .35s ease}.about-card.is-open .about-card__panel{transform:translateY(0) scale(1)}.about-card__media{width:100%;height:100%;min-height:220px;border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.08)}.about-card__media img{width:100%;height:100%;object-fit:cover;display:block}.about-card__content{color:#f2f4f8;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;display:flex;flex-direction:column;gap:12px;line-height:1.5}.about-card__content h2{font-size:22px;letter-spacing:.06em;text-transform:uppercase}.about-card__content p{font-size:16px;color:#ffffffc7}.about-card__close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#00000080;color:#fff;font-size:20px;cursor:pointer;display:grid;place-items:center}.about-card__close:hover{background:#ffffff1f}.gallery-ui{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-end;justify-content:center;padding:24px;background:radial-gradient(circle at center,#05080c59,#020306b3);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility .35s ease;z-index:7}.gallery-ui.is-open{opacity:1;visibility:visible;pointer-events:auto}.gallery-ui__panel{width:min(560px,92vw);padding:16px 18px;background:#060a0ee0;border:1px solid rgba(255,255,255,.08);box-shadow:0 18px 50px #00000073;display:flex;flex-direction:column;gap:12px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#f2f4f8}.gallery-ui__header{display:flex;align-items:center;justify-content:space-between;gap:16px}.gallery-ui__header h2{font-size:18px;letter-spacing:.08em;text-transform:uppercase}.gallery-ui__close{width:30px;height:30px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#00000080;color:#fff;font-size:18px;cursor:pointer;display:grid;place-items:center}.gallery-ui__controls{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px}.gallery-ui__btn{padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:#fff;cursor:pointer}.gallery-ui__btn:hover{background:#ffffff2e}@media(max-width:720px){.about-card__panel{grid-template-columns:1fr;padding:16px;gap:16px;max-height:90vh;overflow:hidden}.about-card__content{text-align:left;gap:8px}.about-card__content h2{font-size:18px}.about-card__content p{font-size:clamp(12px,3.4vw,14px);line-height:1.35}.about-card__media{min-height:180px;max-height:220px}}.mobile-loader{position:fixed;top:0;right:0;bottom:0;left:0;background:#060a06;color:#78ff96;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;font-family:Courier New,Courier,monospace;font-size:13px;letter-spacing:.16em;text-transform:uppercase;z-index:10;opacity:1;visibility:visible;transition:opacity .4s ease,visibility .4s ease;text-shadow:0 0 8px rgba(120,255,150,.5)}.mobile-loader:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(to bottom,#0003 0,#0003 2px,#0000,#0000 4px),radial-gradient(circle at center,rgba(120,255,150,.12),transparent 55%);opacity:.7;pointer-events:none}.mobile-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.mobile-loader__text{position:relative;padding:14px 18px;border:1px solid rgba(120,255,150,.4);box-shadow:0 0 16px #78ff9633;background:#00000059;animation:crt-flicker 2.4s infinite;text-align:center}.mobile-loader__bar{position:relative;width:220px;height:10px;border:1px solid rgba(120,255,150,.35);background:#00000059;box-shadow:0 0 12px #78ff9633;overflow:hidden}.mobile-loader__fill{display:block;height:100%;width:100%;background:linear-gradient(90deg,#78ff961a,#78ff96e6);transform-origin:left center;animation:bar-fill var(--loader-duration, 1.9s) linear forwards}.mobile-loader__dots{animation:dots 1.2s steps(4,end) infinite;display:inline-block;width:18px;overflow:hidden;vertical-align:bottom}.mobile-loader__cursor{display:inline-block;margin-left:6px;animation:blink .8s step-end infinite}@media(min-width:769px){.mobile-loader{display:none}}.tap-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#060a06;color:#78ff96;display:flex;align-items:center;justify-content:center;font-family:Courier New,Courier,monospace;font-size:13px;letter-spacing:.16em;text-transform:uppercase;z-index:9;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;text-shadow:0 0 8px rgba(120,255,150,.5)}.tap-only .tap-overlay{opacity:1;visibility:visible}.tap-only .mobile-loader{display:none}.tap-overlay:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(to bottom,#0003 0,#0003 2px,#0000,#0000 4px),radial-gradient(circle at center,rgba(120,255,150,.12),transparent 55%);opacity:.7;pointer-events:none}.tap-overlay.is-visible{opacity:1;visibility:visible}.tap-overlay__text{position:relative;padding:14px 18px;border:1px solid rgba(120,255,150,.4);box-shadow:0 0 16px #78ff9633;background:#00000059;animation:crt-flicker 2.4s infinite;text-align:center}.tap-overlay__cursor{display:inline-block;margin-left:6px;animation:blink .8s step-end infinite}@media(min-width:769px){.tap-overlay{display:none}}@keyframes blink{50%{opacity:0}}@keyframes dots{0%{width:0}to{width:18px}}@keyframes crt-flicker{0%,to{opacity:.95}20%{opacity:.85}35%{opacity:1}55%{opacity:.9}}@keyframes bar-fill{0%{transform:scaleX(.05)}50%{transform:scaleX(1)}to{transform:scaleX(.2)}}
