@tailwind base;
@tailwind components;
@tailwind utilities;

@layer base {
  :root {
    color-scheme: dark;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
  }

  * {
    @apply border-white/10;
  }

  html {
    @apply bg-ink-950;
  }

  body {
    min-width: 320px;
  }

  h1,
  h2,
  h3 {
    text-wrap: balance;
    overflow-wrap: anywhere;
  }

  p,
  li,
  a,
  small {
    text-wrap: pretty;
    overflow-wrap: anywhere;
  }

  ::selection {
    @apply bg-signal-500 text-white;
  }

  :focus-visible {
    @apply outline-none ring-2 ring-signal-400 ring-offset-2 ring-offset-ink-950;
  }
}

@layer components {
  .page-container {
    @apply mx-auto w-full max-w-[1440px] px-5 sm:px-8 lg:px-12 xl:px-16;
  }

  .site-shell {
    @apply min-h-screen overflow-x-clip bg-ink-950;
  }

  body.has-entry-loader {
    @apply overflow-hidden;
  }

  .entry-loader {
    @apply fixed inset-0 z-[200] grid place-items-center overflow-hidden bg-ink-950 px-5 text-white transition duration-700;
  }

  .entry-loader.is-finished {
    @apply pointer-events-none scale-[1.03] opacity-0;
  }

  .entry-loader-grid {
    @apply absolute inset-0 opacity-[0.12];
    background-image:
      linear-gradient(rgba(142, 220, 255, 0.18) 1px, transparent 1px),
      linear-gradient(90deg, rgba(142, 220, 255, 0.18) 1px, transparent 1px);
    background-size: 58px 58px;
    mask-image: radial-gradient(circle at center, black 0%, transparent 75%);
  }

  .entry-loader-glow {
    @apply absolute left-1/2 top-1/2 h-[520px] w-[520px] -translate-x-1/2 -translate-y-1/2 rounded-full bg-signal-500/[0.12] blur-[120px];
  }

  .entry-loader-content {
    @apply relative z-10 flex w-full max-w-2xl flex-col items-center text-center;
  }

  .entry-loader-logo {
    @apply relative grid h-40 w-40 place-items-center sm:h-48 sm:w-48;
  }

  .entry-loader-logo img {
    @apply relative z-10 h-[82%] w-[82%] object-contain drop-shadow-[0_25px_45px_rgba(0,0,0,0.7)] transition duration-700;
  }

  .entry-loader-ring {
    @apply absolute inset-0 rounded-full border border-signal-400/25;
  }

  .entry-loader-ring::before,
  .entry-loader-ring::after {
    content: "";
    @apply absolute rounded-full border border-white/10;
  }

  .entry-loader-ring::before {
    @apply inset-3;
  }

  .entry-loader-ring::after {
    @apply -inset-3 border-dashed border-signal-400/20;
    animation: loader-spin 14s linear infinite;
  }

  .entry-loader-kicker {
    @apply mt-6 text-[10px] font-extrabold uppercase tracking-[0.34em] text-signal-400;
  }

  .entry-loader h1 {
    @apply mt-4 font-display text-3xl font-extrabold tracking-tight sm:text-5xl;
  }

  .entry-loader-copy {
    @apply mt-4 max-w-lg text-sm leading-7 text-white/45;
  }

  .entry-loader-actions {
    @apply mt-7 flex flex-col items-center gap-4 sm:flex-row;
  }

  .entry-loader-silent {
    @apply px-3 py-2 text-xs font-semibold text-white/40 underline-offset-4 transition hover:text-white hover:underline;
  }

  .entry-loader-equalizer {
    @apply mt-3 flex h-9 items-end gap-1 opacity-0 transition duration-500;
  }

  .entry-loader-equalizer span {
    @apply block h-2 w-1 rounded-full bg-signal-400;
    transform-origin: bottom;
  }

  .entry-loader-progress {
    @apply mt-5 h-0.5 w-full max-w-sm overflow-hidden rounded-full bg-white/10;
  }

  .entry-loader-progress span {
    @apply block h-full w-full origin-left scale-x-0 bg-gradient-to-r from-signal-600 via-signal-300 to-white;
  }

  .entry-loader-loading {
    @apply invisible mt-3 text-[9px] font-bold uppercase tracking-[0.24em] text-white/35 opacity-0 transition;
  }

  .entry-loader.is-starting .entry-loader-actions {
    @apply pointer-events-none opacity-0;
  }

  .entry-loader.is-starting .entry-loader-equalizer {
    @apply opacity-100;
  }

  .entry-loader.is-starting .entry-loader-equalizer span {
    animation: loader-equalizer 650ms ease-in-out infinite alternate;
  }

  .entry-loader.is-starting .entry-loader-equalizer span:nth-child(2),
  .entry-loader.is-starting .entry-loader-equalizer span:nth-child(6) {
    animation-delay: 110ms;
  }

  .entry-loader.is-starting .entry-loader-equalizer span:nth-child(3),
  .entry-loader.is-starting .entry-loader-equalizer span:nth-child(5) {
    animation-delay: 220ms;
  }

  .entry-loader.is-starting .entry-loader-equalizer span:nth-child(4) {
    animation-delay: 330ms;
  }

  .entry-loader.is-starting .entry-loader-logo img {
    @apply scale-105;
    filter: drop-shadow(0 0 35px rgba(142, 220, 255, 0.28));
  }

  .entry-loader.is-starting .entry-loader-ring {
    @apply border-signal-300/50;
    animation: loader-pulse 1.2s ease-in-out infinite;
  }

  .entry-loader.is-starting .entry-loader-progress span {
    animation: loader-progress 7.85s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  }

  .entry-loader.is-starting .entry-loader-loading {
    @apply visible opacity-100;
  }

  .skip-link {
    @apply fixed left-4 top-3 z-[100] -translate-y-24 rounded-md bg-white px-4 py-2 text-sm font-bold text-ink-950 transition-transform focus:translate-y-0;
  }

  .site-header {
    @apply fixed inset-x-0 top-0 z-50 border-b border-transparent transition duration-300;
  }

  .site-header.is-scrolled,
  .site-header.is-menu-open {
    @apply border-white/10 bg-ink-950/90 shadow-xl shadow-black/20 backdrop-blur-xl;
  }

  .logo-frame {
    @apply relative grid h-11 w-11 shrink-0 place-items-center overflow-hidden rounded-xl border border-white/10 bg-white/[0.025] p-0.5 shadow-lg shadow-black/20;
  }

  .logo-fallback {
    @apply invisible absolute inset-0 grid place-items-center bg-gradient-to-br from-signal-400 to-signal-600 font-display text-sm font-extrabold text-white;
  }

  [data-brand-logo] {
    @apply relative z-10;
  }

  [data-brand-logo].is-missing {
    @apply hidden;
  }

  [data-brand-logo].is-missing + .logo-fallback {
    @apply visible;
  }

  .brand-wordmark {
    @apply relative grid min-w-0 grid-cols-[auto_auto] items-baseline gap-x-1 font-display leading-none;
  }

  .brand-wordmark > span,
  .brand-wordmark > strong {
    @apply text-[13px] font-extrabold tracking-[0.08em] sm:text-[15px];
  }

  .brand-wordmark > span {
    @apply text-white;
  }

  .brand-wordmark > strong {
    @apply bg-gradient-to-r from-signal-300 to-signal-500 bg-clip-text text-transparent;
  }

  .brand-wordmark > small {
    @apply col-span-2 mt-1 block truncate text-[7px] font-bold tracking-[0.24em] text-white/35 sm:text-[8px];
  }

  .nav-link {
    @apply relative py-2 text-[10px] font-semibold uppercase tracking-[0.12em] text-white/55 transition hover:text-white 2xl:text-xs 2xl:tracking-[0.15em];
  }

  .nav-link::after {
    content: "";
    @apply absolute inset-x-0 -bottom-0.5 mx-auto h-px w-0 bg-signal-400 transition-all;
  }

  .nav-link:hover::after,
  .nav-link.is-active::after {
    @apply w-full;
  }

  .nav-link.is-active {
    @apply text-white;
  }

  .language-switcher {
    @apply flex h-9 items-center gap-1.5 rounded-full border border-white/10 bg-white/[0.04] px-2.5 text-[10px] font-bold tracking-wider text-white/25;
  }

  .language-option {
    @apply rounded-full px-1 py-1 text-white/40 transition hover:text-white;
  }

  .language-option.is-active {
    @apply text-signal-400;
  }

  .icon-button {
    @apply grid h-10 w-10 place-items-center rounded-lg border border-white/10 bg-white/[0.04] text-white transition hover:border-white/20 hover:bg-white/[0.08];
  }

  .button {
    @apply inline-flex min-h-10 items-center justify-center gap-2 rounded-lg px-5 text-xs font-bold uppercase tracking-[0.12em] transition duration-300;
  }

  .button-primary {
    @apply bg-signal-500 text-white shadow-lg shadow-signal-500/15 hover:-translate-y-0.5 hover:bg-signal-400 hover:shadow-glow;
  }

  .button-secondary {
    @apply border border-white/15 bg-white/[0.04] text-white hover:-translate-y-0.5 hover:border-white/30 hover:bg-white/[0.08];
  }

  .button-large {
    @apply min-h-12 px-6;
  }

  .mobile-menu {
    @apply invisible max-h-0 overflow-hidden border-t border-transparent bg-ink-950/95 opacity-0 backdrop-blur-xl transition-all duration-300;
  }

  .mobile-menu.is-open {
    @apply visible max-h-80 border-white/10 opacity-100;
  }

  .mobile-nav-link {
    @apply rounded-lg px-4 py-3 text-sm font-semibold text-white/65 transition hover:bg-white/[0.05] hover:text-white;
  }

  .hero-section {
    @apply relative isolate min-h-screen overflow-hidden bg-ink-950 pt-[76px];
  }

  .hero-image {
    @apply absolute inset-0 bg-cover bg-center opacity-90;
    background-image:
      linear-gradient(90deg, rgba(7, 9, 13, 0.97) 0%, rgba(7, 9, 13, 0.86) 50%, rgba(7, 9, 13, 0.46) 100%),
      linear-gradient(0deg, rgba(7, 9, 13, 1) 0%, rgba(7, 9, 13, 0.12) 60%),
      url("/assets/images/brand/background.webp");
  }

  .hero-grid {
    @apply absolute inset-0 opacity-[0.08];
    background-image:
      linear-gradient(rgba(255, 255, 255, 0.18) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255, 255, 255, 0.18) 1px, transparent 1px);
    background-size: 72px 72px;
    mask-image: linear-gradient(to right, black, transparent 78%);
  }

  .hero-orb {
    @apply pointer-events-none absolute rounded-full blur-[110px];
  }

  .hero-orb-one {
    @apply -left-32 top-1/4 h-80 w-80 bg-signal-500/[0.12];
  }

  .hero-orb-two {
    @apply -right-20 bottom-10 h-72 w-72 bg-orange-300/[0.05];
  }

  .eyebrow {
    @apply mb-6 inline-flex items-center gap-3 rounded-full border border-white/10 bg-white/[0.04] px-4 py-2 text-[10px] font-bold uppercase tracking-[0.22em] text-white/60 backdrop-blur;
  }

  .status-dot {
    @apply relative h-1.5 w-1.5 rounded-full bg-signal-400;
  }

  .status-dot::after {
    content: "";
    @apply absolute inset-0 animate-ping rounded-full bg-signal-400;
  }

  .hero-title {
    @apply max-w-5xl font-display text-5xl font-extrabold leading-[0.98] tracking-[-0.045em] sm:text-6xl lg:text-7xl xl:text-[5.5rem];
  }

  .hero-title > span {
    @apply block;
  }

  .text-gradient {
    @apply mt-2 bg-gradient-to-r from-white via-signal-300 to-signal-500 bg-clip-text text-transparent;
  }

  .hero-copy {
    @apply mt-7 max-w-2xl text-base leading-8 text-white/55 sm:text-lg;
  }

  .hero-brand-art {
    @apply relative mx-auto grid w-full max-w-md place-items-center;
  }

  .hero-brand-art::before {
    content: "";
    @apply absolute inset-[10%] rounded-full bg-signal-400/10 blur-3xl;
  }

  .hero-brand-art img {
    @apply relative z-10 aspect-square w-full max-w-[420px] object-contain drop-shadow-[0_30px_55px_rgba(0,0,0,0.65)];
  }

  .hero-est {
    @apply absolute bottom-4 right-2 z-20 rounded-xl border border-white/10 bg-ink-950/80 px-5 py-3 text-right shadow-panel backdrop-blur-md sm:right-6;
  }

  .hero-est span {
    @apply block text-[9px] font-bold uppercase tracking-[0.22em] text-white/40;
  }

  .hero-est strong {
    @apply mt-0.5 block font-display text-2xl font-extrabold text-signal-300;
  }

  .tag-card {
    @apply scroll-mt-28 rounded-2xl border border-white/10 bg-ink-850/70 p-6 shadow-panel backdrop-blur-xl sm:p-7;
  }

  .section-kicker {
    @apply text-[10px] font-bold uppercase tracking-[0.24em] text-signal-400;
  }

  .verified-mark {
    @apply grid h-8 w-8 shrink-0 place-items-center rounded-full border border-signal-400/25 bg-signal-500/10 text-signal-400;
  }

  .tag-display {
    @apply mt-8 flex items-center justify-center gap-2 rounded-xl border border-dashed border-signal-400/25 bg-black/25 px-4 py-6 font-mono text-sm tracking-wider text-white/35 sm:text-base;
  }

  .tag-display strong {
    @apply text-signal-400;
  }

  .tag-strip {
    @apply scroll-mt-24 border-y border-white/[0.07] bg-ink-900 py-12;
  }

  .tag-display-large {
    @apply mt-0 min-w-0 sm:min-w-[360px] sm:px-8;
  }

  .tag-color {
    @apply h-2.5 w-10 rounded-full bg-signal-500 shadow-[0_0_16px_rgba(244,122,31,0.5)];
  }

  .scroll-cue {
    @apply absolute bottom-7 left-1/2 z-20 hidden -translate-x-1/2 flex-col items-center gap-1 text-[9px] font-bold uppercase tracking-[0.25em] text-white/35 transition hover:text-white md:flex;
  }

  .stats-section {
    @apply scroll-mt-24 border-t border-white/5 bg-ink-900 py-20 sm:py-24;
  }

  .section-title {
    @apply mt-3 font-display text-3xl font-extrabold tracking-tight sm:text-4xl;
  }

  .stat-card {
    @apply relative flex min-h-48 flex-col justify-end overflow-hidden rounded-xl border border-white/[0.08] bg-gradient-to-br from-white/[0.055] to-transparent p-6 transition duration-300 hover:-translate-y-1 hover:border-signal-400/25 hover:bg-white/[0.07];
  }

  .stat-index {
    @apply absolute right-5 top-5 font-mono text-[10px] text-white/20;
  }

  .stat-value {
    @apply font-display text-4xl font-extrabold tracking-tight text-white;
  }

  .stat-label {
    @apply mt-2 text-xs font-semibold uppercase tracking-[0.15em] text-white/40;
  }

  .stat-card::before {
    content: "";
    @apply absolute bottom-0 left-0 h-px w-1/3 bg-gradient-to-r from-signal-500 to-transparent transition-all duration-300;
  }

  .stat-card:hover::before {
    @apply w-2/3;
  }

  .next-step-card {
    @apply mt-10 flex flex-col gap-6 rounded-2xl border border-white/[0.08] bg-white/[0.025] p-6 sm:p-8 md:flex-row md:items-center md:justify-between;
  }

  .phase-badge {
    @apply w-fit shrink-0 rounded-full border border-white/10 bg-white/[0.04] px-4 py-2 text-[10px] font-bold uppercase tracking-[0.2em] text-white/40;
  }

  .footer-link {
    @apply text-white/45 underline-offset-4 transition hover:text-white hover:underline;
  }

  .fleet-banner {
    @apply overflow-hidden border-b border-white/[0.07] bg-black;
  }

  .fleet-banner img {
    @apply h-auto w-full object-cover;
  }

  .content-section {
    @apply scroll-mt-20 bg-ink-950 py-20 sm:py-24;
  }

  .inner-hero {
    @apply relative isolate overflow-hidden border-b border-white/[0.07] bg-ink-900 pt-[76px];
    background-image:
      linear-gradient(90deg, rgba(7, 9, 13, 0.96), rgba(7, 9, 13, 0.72)),
      url("/assets/images/brand/banner.webp");
    background-position: center;
    background-size: cover;
  }

  .inner-hero::after {
    content: "";
    @apply absolute inset-0 -z-10;
    background: radial-gradient(circle at 82% 34%, rgba(87, 185, 226, 0.16), transparent 28%);
  }

  .inner-hero h1 {
    @apply mt-4 max-w-4xl font-display text-4xl font-extrabold tracking-tight sm:text-5xl lg:text-6xl;
  }

  .inner-hero > .page-container > p:last-child,
  .inner-hero .subpage-hero-layout > div:first-child > p:not(.section-kicker) {
    @apply mt-5 max-w-2xl text-sm leading-7 text-white/55 sm:text-base;
  }

  .subpage-hero-layout {
    @apply grid items-center gap-10 lg:grid-cols-[minmax(0,0.9fr)_minmax(420px,0.72fr)] lg:gap-14;
  }

  .subpage-hero-actions {
    @apply mt-7 flex flex-col gap-3 sm:flex-row;
  }

  .subpage-hero-visual {
    @apply relative min-h-[310px] overflow-hidden rounded-2xl border border-white/10 bg-ink-800 shadow-2xl shadow-black/35 sm:min-h-[390px];
  }

  .subpage-hero-visual::after {
    content: "";
    @apply absolute inset-0 bg-gradient-to-t from-ink-950 via-transparent to-transparent;
  }

  .subpage-hero-visual > img {
    @apply absolute inset-0 h-full w-full object-cover transition duration-700;
  }

  .subpage-hero-visual:hover > img {
    @apply scale-[1.03];
  }

  .subpage-hero-stats {
    @apply absolute inset-x-4 bottom-4 z-10 grid grid-cols-3 overflow-hidden rounded-xl border border-white/10 bg-ink-950/80 backdrop-blur sm:inset-x-6 sm:bottom-6;
  }

  .subpage-hero-stats div {
    @apply min-w-0 border-r border-white/[0.08] p-3 last:border-r-0 sm:p-4;
  }

  .subpage-hero-stats strong {
    @apply block font-display text-lg font-extrabold text-white sm:text-2xl;
  }

  .subpage-hero-stats span {
    @apply mt-1 block truncate text-[7px] font-bold uppercase tracking-[0.12em] text-white/35 sm:text-[9px];
  }

  .values-grid {
    @apply mt-8 grid gap-4 sm:grid-cols-2 xl:grid-cols-4;
  }

  .values-grid article {
    @apply relative overflow-hidden rounded-2xl border border-white/[0.08] bg-gradient-to-br from-white/[0.05] to-transparent p-6 transition duration-300 hover:-translate-y-1 hover:border-signal-400/25;
  }

  .values-grid article::after {
    content: "";
    @apply absolute -bottom-10 -right-10 h-28 w-28 rounded-full bg-signal-500/10 blur-2xl;
  }

  .values-grid span {
    @apply font-mono text-[10px] font-bold tracking-[0.18em] text-signal-400;
  }

  .values-grid h3 {
    @apply mt-8 font-display text-xl font-extrabold;
  }

  .values-grid p {
    @apply mt-3 text-sm leading-6 text-white/45;
  }

  .management-command {
    @apply grid min-h-[340px] overflow-hidden rounded-2xl border border-white/10 bg-gradient-to-br from-signal-500/[0.11] via-ink-850 to-ink-950 shadow-2xl shadow-black/35 sm:grid-cols-[0.85fr_1.15fr];
  }

  .management-command-logo {
    @apply relative grid min-h-56 place-items-center overflow-hidden border-b border-white/[0.08] sm:min-h-0 sm:border-b-0 sm:border-r;
  }

  .management-command-logo::before {
    content: "";
    @apply absolute inset-0 opacity-[0.12];
    background-image:
      linear-gradient(rgba(142, 220, 255, 0.22) 1px, transparent 1px),
      linear-gradient(90deg, rgba(142, 220, 255, 0.22) 1px, transparent 1px);
    background-size: 34px 34px;
  }

  .management-command-logo img {
    @apply relative z-10 h-40 w-40 object-contain drop-shadow-2xl;
  }

  .management-command-data {
    @apply flex flex-col justify-center p-6 sm:p-8;
  }

  .management-command-data > p {
    @apply mb-5 text-[9px] font-bold uppercase tracking-[0.22em] text-signal-400;
  }

  .management-command-data > div {
    @apply flex items-center justify-between gap-4 border-b border-white/[0.07] py-3 last:border-b-0;
  }

  .management-command-data span {
    @apply text-[9px] font-bold uppercase tracking-[0.15em] text-white/35;
  }

  .management-command-data strong {
    @apply font-display text-xl font-extrabold;
  }

  .partnership-network {
    @apply relative min-h-[390px] overflow-hidden rounded-2xl border border-white/10 bg-ink-950/75 shadow-2xl shadow-black/35;
    background:
      radial-gradient(circle at center, rgba(87, 185, 226, 0.16), transparent 40%),
      linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
    background-size: auto, 34px 34px, 34px 34px;
  }

  .partnership-network::before,
  .partnership-network::after {
    content: "";
    @apply absolute left-1/2 top-1/2 h-px w-[65%] -translate-x-1/2 -translate-y-1/2 bg-gradient-to-r from-transparent via-signal-400/40 to-transparent;
  }

  .partnership-network::after {
    @apply rotate-90;
  }

  .network-core {
    @apply absolute left-1/2 top-1/2 z-10 grid h-32 w-32 -translate-x-1/2 -translate-y-1/2 place-items-center rounded-full border border-signal-400/30 bg-ink-950 shadow-glow;
  }

  .network-core img {
    @apply h-24 w-24 object-contain;
  }

  .network-core span {
    @apply absolute -bottom-7 text-[8px] font-extrabold tracking-[0.24em] text-signal-300;
  }

  .network-node {
    @apply absolute z-10 flex min-w-28 items-center gap-2 rounded-lg border border-white/10 bg-ink-900/90 px-3 py-2.5 backdrop-blur;
  }

  .network-node strong {
    @apply font-mono text-[9px] text-signal-400;
  }

  .network-node span {
    @apply text-[8px] font-bold uppercase tracking-[0.1em] text-white/55;
  }

  .network-node-one { @apply left-5 top-6 sm:left-8 sm:top-8; }
  .network-node-two { @apply right-5 top-6 sm:right-8 sm:top-8; }
  .network-node-three { @apply bottom-6 left-5 sm:bottom-8 sm:left-8; }
  .network-node-four { @apply bottom-6 right-5 sm:bottom-8 sm:right-8; }

  .partnership-intro {
    @apply mb-8 grid items-center gap-6 rounded-2xl border border-signal-400/15 bg-signal-500/[0.06] p-6 sm:grid-cols-[170px_1fr] sm:p-8;
  }

  .partnership-intro > div {
    @apply flex items-baseline gap-3 sm:block;
  }

  .partnership-intro span {
    @apply font-display text-5xl font-extrabold text-signal-300 sm:text-6xl;
  }

  .partnership-intro > div p {
    @apply mt-0 text-[9px] font-bold uppercase tracking-[0.18em] text-white/35 sm:mt-1;
  }

  .partnership-intro > p {
    @apply text-sm leading-7 text-white/55 sm:text-[15px];
  }

  .event-hero-ticket {
    @apply relative min-h-[350px] overflow-hidden rounded-2xl border border-white/10 bg-ink-800 shadow-2xl shadow-black/35;
  }

  .event-hero-ticket > img {
    @apply absolute inset-0 h-full w-full object-cover;
  }

  .event-hero-ticket::after {
    content: "";
    @apply absolute inset-0 bg-gradient-to-t from-ink-950 via-ink-950/30 to-transparent;
  }

  .event-hero-ticket-overlay {
    @apply absolute inset-x-6 bottom-7 z-10;
  }

  .event-hero-ticket-overlay span {
    @apply text-[9px] font-extrabold uppercase tracking-[0.2em] text-signal-300;
  }

  .event-hero-ticket-overlay strong {
    @apply mt-2 block font-display text-4xl font-extrabold tracking-tight sm:text-5xl;
  }

  .event-hero-ticket-overlay p {
    @apply mt-2 text-sm font-semibold text-white/65;
  }

  .event-ticket-code {
    @apply absolute right-5 top-5 z-10 rounded-full border border-white/10 bg-ink-950/70 px-3 py-1.5 font-mono text-[8px] tracking-[0.14em] text-white/40 backdrop-blur;
  }

  .event-timeline-head {
    @apply mb-6 flex flex-col gap-3 rounded-xl border border-white/[0.07] bg-white/[0.02] px-5 py-4 sm:flex-row sm:items-center sm:justify-between;
  }

  .event-timeline-head > div {
    @apply flex items-center gap-3;
  }

  .event-timeline-head > div span {
    @apply h-2 w-2 animate-pulse rounded-full bg-emerald-400 shadow-[0_0_10px_rgba(52,211,153,0.7)];
  }

  .event-timeline-head > div span.is-pending {
    @apply bg-amber-300 shadow-[0_0_12px_rgba(252,211,77,0.7)];
  }

  .event-timeline-head strong {
    @apply text-[10px] font-bold uppercase tracking-[0.16em] text-white/65;
  }

  .event-timeline-head p {
    @apply text-xs leading-5 text-white/35;
  }

  .event-empty-state {
    @apply relative grid min-h-[360px] overflow-hidden rounded-2xl border border-white/[0.08] bg-ink-800/70 p-6 shadow-2xl shadow-black/25 sm:p-9 lg:grid-cols-[0.72fr_1.28fr] lg:items-center lg:gap-12 lg:p-12;
  }

  .event-empty-state::before {
    content: "";
    @apply pointer-events-none absolute -left-24 top-1/2 h-72 w-72 -translate-y-1/2 rounded-full bg-signal-500/10 blur-3xl;
  }

  .event-empty-state::after {
    content: "CALENDAR / VERIFIED DATA ONLY";
    @apply pointer-events-none absolute right-5 top-5 hidden font-mono text-[8px] font-bold tracking-[0.18em] text-white/15 sm:block;
  }

  .event-empty-radar {
    @apply relative mx-auto mb-10 aspect-square w-full max-w-[230px] rounded-full border border-signal-300/20 bg-[radial-gradient(circle,rgba(81,191,233,0.13)_0,rgba(81,191,233,0.04)_42%,rgba(3,7,12,0.7)_72%)] shadow-[0_0_60px_rgba(66,173,218,0.08)] lg:mb-0;
  }

  .event-empty-radar::before,
  .event-empty-radar::after {
    content: "";
    @apply absolute rounded-full border border-white/[0.07];
  }

  .event-empty-radar::before {
    @apply inset-[18%];
  }

  .event-empty-radar::after {
    @apply inset-[36%];
  }

  .event-empty-radar > span {
    @apply absolute inset-1/2 h-px w-[46%] origin-left bg-gradient-to-r from-signal-300/80 to-transparent;
    animation: event-radar-sweep 3.4s linear infinite;
  }

  .event-empty-radar > i {
    @apply absolute left-[68%] top-[34%] h-2.5 w-2.5 rounded-full bg-amber-300 shadow-[0_0_18px_rgba(252,211,77,0.85)];
  }

  .event-empty-radar > strong {
    @apply absolute inset-0 grid place-items-center font-display text-4xl font-extrabold tracking-[-0.06em] text-white/80;
  }

  .event-empty-copy {
    @apply relative z-10 max-w-2xl;
  }

  .event-empty-copy h2 {
    @apply mt-3 max-w-xl font-display text-2xl font-extrabold leading-tight tracking-[-0.03em] text-white sm:text-3xl;
  }

  .event-empty-copy > p:last-of-type {
    @apply mt-4 max-w-xl text-sm leading-7 text-white/45;
  }

  .event-empty-actions {
    @apply mt-7 flex flex-col gap-3 sm:flex-row;
  }

  .event-source-note {
    @apply mt-6 flex flex-col gap-5 rounded-xl border border-white/[0.07] bg-white/[0.02] p-5 sm:flex-row sm:items-center sm:justify-between;
  }

  .event-source-note h2 {
    @apply font-display text-base font-bold text-white/80;
  }

  .event-source-note p {
    @apply mt-1 max-w-2xl text-xs leading-5 text-white/35;
  }

  .event-verification-badge {
    @apply inline-flex shrink-0 items-center gap-2 rounded-full border border-amber-300/20 bg-amber-300/[0.07] px-3.5 py-2 text-[9px] font-bold uppercase tracking-[0.13em] text-amber-200/80;
  }

  .event-verification-badge > i {
    @apply h-1.5 w-1.5 animate-pulse rounded-full bg-amber-300;
  }

  @keyframes event-radar-sweep {
    to {
      transform: rotate(360deg);
    }
  }

  .contact-command {
    @apply relative min-h-[350px] overflow-hidden rounded-2xl border border-white/10 bg-ink-800 shadow-2xl shadow-black/35;
  }

  .contact-command > img {
    @apply absolute inset-0 h-full w-full object-cover;
  }

  .contact-command::after {
    content: "";
    @apply absolute inset-0 bg-gradient-to-t from-ink-950 via-transparent to-transparent;
  }

  .contact-command-status {
    @apply absolute inset-x-5 bottom-5 z-10 grid grid-cols-[1fr_auto] items-center rounded-xl border border-white/10 bg-ink-950/80 p-5 backdrop-blur;
  }

  .contact-command-status > span {
    @apply flex items-center gap-2 text-[9px] font-bold uppercase tracking-[0.14em] text-white/55;
  }

  .contact-command-status i {
    @apply h-2 w-2 rounded-full bg-emerald-400;
  }

  .contact-command-status strong {
    @apply row-span-2 font-display text-4xl font-extrabold text-signal-300;
  }

  .contact-command-status small {
    @apply mt-1 text-[8px] font-bold uppercase tracking-[0.15em] text-white/25;
  }

  .application-steps {
    @apply mt-6 grid gap-3;
  }

  .application-steps li {
    @apply grid grid-cols-[36px_1fr] gap-3 rounded-xl border border-white/[0.07] bg-black/15 p-4;
  }

  .application-steps li > span {
    @apply font-mono text-[9px] font-bold text-signal-400;
  }

  .application-steps strong {
    @apply text-sm font-bold text-white/75;
  }

  .application-steps p {
    @apply mt-1 text-xs leading-5 text-white/35;
  }

  .section-muted {
    @apply bg-ink-900;
  }

  .section-heading {
    @apply mb-10 grid gap-5 lg:grid-cols-[minmax(0,1fr)_minmax(280px,0.65fr)] lg:items-end;
  }

  .section-intro {
    @apply max-w-2xl text-sm leading-7 text-white/50 lg:justify-self-end;
  }

  .editorial-grid {
    @apply grid items-start gap-7 lg:grid-cols-2 lg:gap-10;
  }

  .editorial-grid-reverse {
    @apply lg:grid-cols-[1.08fr_0.92fr];
  }

  .editorial-copy {
    @apply grid gap-4;
  }

  .info-block {
    @apply grid grid-cols-[44px_1fr] gap-4 rounded-xl border border-white/[0.08] bg-white/[0.025] p-5 transition hover:border-signal-400/20 hover:bg-white/[0.04];
  }

  .info-block > span {
    @apply font-mono text-xs font-bold text-signal-400;
  }

  .info-block h3 {
    @apply font-display text-lg font-extrabold;
  }

  .info-block p {
    @apply mt-2 text-sm leading-7 text-white/50;
  }

  .asset-card {
    @apply overflow-hidden rounded-2xl border border-white/[0.08] bg-black/30 shadow-panel;
  }

  .asset-card img {
    @apply aspect-video w-full object-cover;
  }

  .asset-card figcaption {
    @apply border-t border-white/[0.07] px-5 py-3 text-[10px] font-semibold uppercase tracking-[0.14em] text-white/35;
  }

  .wide-info-card {
    @apply mt-8 overflow-hidden rounded-2xl border border-white/[0.08] bg-black shadow-panel;
  }

  .wide-info-card img {
    @apply h-auto w-full;
  }

  .rules-list {
    @apply grid gap-3;
  }

  .rules-list li {
    @apply grid grid-cols-[42px_1fr] items-start gap-3 rounded-xl border border-white/[0.08] bg-white/[0.025] p-4;
  }

  .rules-list span {
    @apply font-mono text-xs font-bold text-signal-400;
  }

  .rules-list p {
    @apply text-sm font-medium leading-6 text-white/65;
  }

  .profile-card {
    @apply rounded-2xl border border-white/[0.08] bg-gradient-to-br from-white/[0.055] to-transparent p-6 text-center transition duration-300 hover:-translate-y-1 hover:border-signal-400/25;
  }

  .profile-photo {
    @apply relative mx-auto mb-5 grid aspect-square w-full max-w-[260px] place-items-center overflow-hidden rounded-xl border border-white/10 bg-ink-800 font-display text-5xl font-extrabold text-white/10;
  }

  .profile-photo img {
    @apply absolute inset-0 h-full w-full object-cover;
  }

  [data-fallback-image].is-missing {
    @apply hidden;
  }

  .profile-role {
    @apply text-[10px] font-bold uppercase tracking-[0.2em] text-signal-400;
  }

  .profile-card h3 {
    @apply mt-2 font-display text-xl font-extrabold;
  }

  .profile-card h2 {
    @apply mt-2 font-display text-2xl font-extrabold;
  }

  .profile-discord {
    @apply mt-2 font-mono text-xs text-white/40;
  }

  .partner-card {
    @apply flex items-center gap-4 rounded-xl border border-white/[0.08] bg-white/[0.025] p-5 transition hover:border-signal-400/20 hover:bg-white/[0.045];
  }

  .partner-logo {
    @apply relative grid h-16 w-16 shrink-0 place-items-center overflow-hidden rounded-lg border border-white/10 bg-ink-800 font-display text-xs font-extrabold text-white/20;
  }

  .partner-logo img {
    @apply absolute inset-0 h-full w-full object-contain p-1;
  }

  .partner-card h3 {
    @apply font-display text-base font-extrabold;
  }

  .partner-card p {
    @apply mt-1 text-xs text-white/40;
  }

  .management-note {
    @apply mt-10 grid items-center gap-6 rounded-2xl border border-white/[0.08] bg-white/[0.025] p-6 sm:grid-cols-[100px_1fr] sm:p-8;
  }

  .team-grid {
    @apply grid gap-6 md:grid-cols-2 xl:grid-cols-3;
  }

  .team-card {
    @apply overflow-hidden rounded-2xl border border-white/[0.08] bg-gradient-to-b from-white/[0.055] to-white/[0.015] shadow-panel transition duration-300 hover:-translate-y-1 hover:border-signal-400/25;
  }

  .team-card-owner {
    @apply border-signal-400/[0.14];
  }

  .team-card-media {
    @apply relative grid aspect-[4/4.3] place-items-center overflow-hidden bg-ink-800;
    background:
      radial-gradient(circle at 50% 35%, rgba(87, 185, 226, 0.16), transparent 38%),
      linear-gradient(145deg, rgba(255, 255, 255, 0.04), transparent);
  }

  .team-card-media::after {
    content: "";
    @apply absolute inset-x-0 bottom-0 h-1/2 bg-gradient-to-t from-ink-900 to-transparent;
  }

  .team-card-media img {
    @apply absolute inset-0 z-10 h-full w-full object-cover;
  }

  .team-initial {
    @apply font-display text-8xl font-extrabold text-white/[0.07];
  }

  .team-index {
    @apply absolute left-5 top-5 z-20 font-mono text-[10px] font-bold tracking-[0.18em] text-white/30;
  }

  .team-status {
    @apply absolute bottom-5 right-5 z-20 flex items-center gap-2 rounded-full border border-white/10 bg-ink-950/75 px-3 py-1.5 text-[9px] font-bold uppercase tracking-[0.14em] text-white/55 backdrop-blur;
  }

  .team-status i {
    @apply h-1.5 w-1.5 rounded-full bg-emerald-400 shadow-[0_0_10px_rgba(52,211,153,0.7)];
  }

  .team-card-body {
    @apply p-6;
  }

  .team-card-body h2 {
    @apply mt-2 font-display text-3xl font-extrabold tracking-tight;
  }

  .team-description {
    @apply mt-3 min-h-12 text-sm leading-6 text-white/45;
  }

  .team-discord {
    @apply mt-6 flex items-center justify-between gap-4 border-t border-white/[0.07] pt-4;
  }

  .team-discord span {
    @apply text-[9px] font-bold tracking-[0.16em] text-white/25;
  }

  .team-discord strong {
    @apply text-right font-mono text-[11px] font-medium text-white/50;
  }

  .management-note img {
    @apply mx-auto h-24 w-24 object-contain;
  }

  .management-note h2 {
    @apply font-display text-2xl font-extrabold;
  }

  .management-note p {
    @apply mt-3 max-w-3xl text-sm leading-7 text-white/50;
  }

  .requirements-grid {
    @apply grid gap-5 md:grid-cols-2;
  }

  .requirement-card {
    @apply rounded-2xl border border-white/[0.08] bg-white/[0.025] p-6 transition hover:border-signal-400/20 hover:bg-white/[0.04] sm:p-7;
  }

  .requirement-icon {
    @apply inline-grid h-9 min-w-9 place-items-center rounded-lg border border-signal-400/20 bg-signal-500/10 px-2 font-mono text-xs font-bold text-signal-400;
  }

  .requirement-card h2 {
    @apply mt-5 font-display text-xl font-extrabold;
  }

  .requirement-card ul {
    @apply mt-4 grid gap-3 pl-5 text-sm leading-7 text-white/55;
  }

  .requirement-card li {
    @apply list-disc marker:text-signal-400;
  }

  .partnership-cta {
    @apply mt-10 flex flex-col gap-6 rounded-2xl border border-signal-400/15 bg-signal-500/[0.06] p-6 sm:p-8 lg:flex-row lg:items-center lg:justify-between;
  }

  .partnership-cta h2 {
    @apply mt-2 font-display text-2xl font-extrabold sm:text-3xl;
  }

  .partnership-cta p:last-child {
    @apply mt-3 max-w-3xl text-sm leading-7 text-white/55;
  }

  .social-section {
    @apply bg-ink-950;
  }

  .social-links {
    @apply grid gap-4 sm:grid-cols-3 lg:grid-cols-1;
  }

  .social-card {
    @apply flex items-center gap-4 rounded-xl border border-white/[0.08] bg-white/[0.025] p-4 transition;
  }

  .social-card:not([aria-disabled="true"]):hover {
    @apply -translate-y-0.5 border-signal-400/25 bg-white/[0.05];
  }

  .social-card[aria-disabled="true"] {
    @apply cursor-not-allowed opacity-70;
  }

  .social-card img {
    @apply h-14 w-14 rounded-lg object-cover;
  }

  .social-symbol {
    @apply grid h-14 w-14 shrink-0 place-items-center rounded-lg font-display text-sm font-extrabold text-white;
  }

  .social-symbol-instagram {
    background: linear-gradient(135deg, #833ab4, #fd1d1d 55%, #fcb045);
  }

  .social-symbol-youtube {
    @apply bg-[#ff0033];
  }

  .social-symbol-vtc {
    @apply border border-signal-400/20 bg-signal-500/10 text-xs tracking-[0.14em] text-signal-300;
  }

  .social-links-contact {
    @apply sm:grid-cols-2 lg:grid-cols-2;
  }

  .social-card strong {
    @apply block font-display text-base font-extrabold;
  }

  .social-card small {
    @apply mt-1 block text-xs text-white/40;
  }

  .application-grid {
    @apply mt-16 grid scroll-mt-28 gap-10 rounded-2xl border border-white/[0.08] bg-ink-900 p-6 shadow-panel sm:p-8 lg:grid-cols-[0.72fr_1fr] lg:p-10;
  }

  .application-form {
    @apply rounded-xl border border-white/[0.08] bg-black/20 p-5 sm:p-6;
  }

  .form-grid {
    @apply grid gap-5 sm:grid-cols-2;
  }

  .form-field {
    @apply grid gap-2;
  }

  .form-field-full {
    @apply sm:col-span-2;
  }

  .form-field > span {
    @apply text-xs font-semibold text-white/60;
  }

  .form-field input,
  .form-field textarea {
    @apply w-full rounded-lg border border-white/10 bg-ink-950/80 px-4 py-3 text-sm text-white placeholder:text-white/25 transition focus:border-signal-400/40 focus:outline-none focus:ring-2 focus:ring-signal-400/15;
  }

  .form-field textarea {
    @apply resize-y;
  }

  .consent-field {
    @apply my-5 flex items-start gap-3 text-xs leading-5 text-white/45;
  }

  .consent-field input {
    @apply mt-0.5 h-4 w-4 shrink-0 rounded border-white/20 bg-ink-950 text-signal-500 focus:ring-signal-400;
  }

  .consent-field a {
    @apply text-signal-400 underline underline-offset-2;
  }

  .announcement-section {
    @apply border-y border-white/[0.07] bg-ink-900 py-14 sm:py-16;
  }

  .announcement-card {
    @apply relative overflow-hidden rounded-2xl border border-signal-400/15 bg-gradient-to-br from-signal-500/[0.09] via-white/[0.035] to-transparent p-6 shadow-panel sm:p-8 lg:p-10;
  }

  .announcement-card::after {
    content: "";
    @apply pointer-events-none absolute -right-20 -top-20 h-64 w-64 rounded-full bg-signal-400/10 blur-3xl;
  }

  .announcement-topline {
    @apply relative z-10 flex flex-wrap items-center justify-between gap-3;
  }

  .announcement-badge {
    @apply rounded-full bg-signal-500 px-3 py-1.5 text-[9px] font-extrabold uppercase tracking-[0.2em] text-ink-950;
  }

  .announcement-status {
    @apply flex items-center gap-2 text-[10px] font-bold uppercase tracking-[0.14em] text-white/45;
  }

  .announcement-status > span:first-child {
    @apply h-2 w-2 animate-pulse rounded-full bg-emerald-400;
  }

  .announcement-card > h2 {
    @apply relative z-10 mt-6 max-w-5xl font-display text-2xl font-extrabold leading-tight sm:text-3xl lg:text-4xl;
  }

  .announcement-meta {
    @apply relative z-10 mt-4 text-xs text-white/35;
  }

  .announcement-body {
    @apply relative z-10 mt-8 max-w-5xl rounded-xl border border-white/[0.08] bg-black/20 p-5 sm:p-6;
  }

  .announcement-body h3 {
    @apply font-display text-lg font-extrabold text-signal-300 sm:text-xl;
  }

  .announcement-body p {
    @apply mt-4 text-sm leading-7 text-white/60 sm:text-[15px];
  }

  .announcement-footer {
    @apply relative z-10 mt-6 flex flex-col gap-5 sm:flex-row sm:items-center sm:justify-between;
  }

  .announcement-footer blockquote {
    @apply font-display text-base font-bold italic text-white/70;
  }

  .page-link-grid {
    @apply grid gap-4 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-5;
  }

  .page-link-card {
    @apply rounded-xl border border-white/[0.08] bg-white/[0.025] p-6 transition duration-300 hover:-translate-y-1 hover:border-signal-400/25 hover:bg-white/[0.05];
  }

  .page-link-card > span {
    @apply font-mono text-xs font-bold text-signal-400;
  }

  .page-link-card h3 {
    @apply mt-8 font-display text-xl font-extrabold;
  }

  .page-link-card p {
    @apply mt-3 text-sm leading-6 text-white/45;
  }

  .event-list {
    @apply grid gap-6;
  }

  .event-card {
    @apply grid overflow-hidden rounded-2xl border border-white/[0.08] bg-white/[0.025] shadow-panel md:grid-cols-[170px_1fr];
  }

  .event-card-featured {
    @apply border-signal-400/20 bg-gradient-to-br from-signal-500/[0.07] via-white/[0.025] to-transparent shadow-[0_28px_80px_rgba(0,0,0,0.28)];
  }

  .event-date {
    @apply relative grid min-h-48 place-content-center border-b border-white/[0.08] bg-gradient-to-br from-signal-500/[0.16] to-transparent text-center md:min-h-full md:border-b-0 md:border-r;
  }

  .event-date::after {
    content: "";
    @apply absolute inset-3 rounded-xl border border-dashed border-signal-400/15;
  }

  .event-date span {
    @apply font-display text-6xl font-extrabold leading-none text-white;
  }

  .event-date strong {
    @apply mt-2 text-xs font-extrabold tracking-[0.28em] text-signal-400;
  }

  .event-date small {
    @apply mt-1 text-[10px] font-bold tracking-[0.18em] text-white/30;
  }

  .event-content {
    @apply min-w-0 p-6 sm:p-8;
  }

  .event-topline {
    @apply flex flex-wrap items-center gap-2 text-[10px] font-semibold uppercase tracking-[0.12em] text-white/35;
  }

  .event-topline strong {
    @apply text-white/55;
  }

  .event-status {
    @apply mr-auto flex items-center gap-2 rounded-full border border-emerald-400/15 bg-emerald-400/[0.06] px-3 py-1.5 text-[9px] font-bold tracking-[0.14em] text-emerald-300;
  }

  .event-status span {
    @apply h-1.5 w-1.5 rounded-full bg-emerald-400;
  }

  .event-content h2 {
    @apply mt-5 font-display text-2xl font-extrabold sm:text-3xl;
  }

  .event-datetime {
    @apply mt-3 flex flex-wrap items-center gap-2 text-sm text-white/45;
  }

  .event-datetime strong {
    @apply text-signal-300;
  }

  .event-details {
    @apply my-6 grid gap-3 rounded-xl border border-white/[0.07] bg-black/20 p-4;
  }

  .event-details div {
    @apply grid gap-1 sm:grid-cols-[90px_1fr] sm:gap-4;
  }

  .event-details dt {
    @apply text-[9px] font-bold uppercase tracking-[0.18em] text-white/25;
  }

  .event-details dd {
    @apply text-sm leading-6 text-white/55;
  }

  .event-attendance-note {
    @apply mt-6 grid gap-4 rounded-xl border border-signal-400/20 bg-signal-500/[0.08] p-5 sm:grid-cols-[48px_1fr] sm:items-start;
  }

  .event-attendance-note > span {
    @apply grid h-12 w-12 place-items-center rounded-lg border border-signal-300/25 bg-signal-400/10 font-display text-sm font-extrabold tracking-[-0.04em] text-signal-300;
  }

  .event-attendance-note strong {
    @apply font-display text-base font-extrabold text-white/90;
  }

  .event-attendance-note p {
    @apply mt-2 text-sm leading-6 text-white/50;
  }

  .event-source-note {
    @apply mt-8 flex flex-col gap-6 rounded-2xl border border-signal-400/15 bg-signal-500/[0.06] p-6 sm:p-8 lg:flex-row lg:items-center lg:justify-between;
  }

  .event-source-note h2 {
    @apply font-display text-xl font-extrabold;
  }

  .event-source-note p {
    @apply mt-3 max-w-3xl text-sm leading-7 text-white/50;
  }

  .gallery-cinematic-hero {
    @apply relative isolate overflow-hidden border-b border-white/[0.07] bg-ink-950;
  }

  .gallery-cinematic-hero > img {
    @apply absolute inset-0 -z-20 h-full w-full object-cover object-center;
  }

  .gallery-cinematic-overlay {
    @apply absolute inset-0 -z-10;
    background:
      linear-gradient(90deg, rgba(7, 9, 13, 0.96) 0%, rgba(7, 9, 13, 0.54) 62%, rgba(7, 9, 13, 0.24) 100%),
      linear-gradient(0deg, #07090d 0%, transparent 72%);
  }

  .gallery-hero-copy {
    @apply max-w-4xl;
  }

  .gallery-hero-copy h1 {
    @apply mt-4 font-display text-5xl font-extrabold tracking-tight sm:text-6xl lg:text-7xl;
  }

  .gallery-hero-copy > p:not(.section-kicker) {
    @apply mt-5 max-w-2xl text-sm leading-7 text-white/60 sm:text-base;
  }

  .gallery-hero-meta {
    @apply mt-8 grid max-w-xl grid-cols-3 overflow-hidden rounded-xl border border-white/10 bg-ink-950/65 backdrop-blur;
  }

  .gallery-hero-meta div {
    @apply border-r border-white/[0.08] p-4 last:border-r-0;
  }

  .gallery-hero-meta strong {
    @apply block font-display text-xl font-extrabold sm:text-2xl;
  }

  .gallery-hero-meta span {
    @apply mt-1 block text-[8px] font-bold uppercase tracking-[0.14em] text-white/35;
  }

  .gallery-hero-index {
    @apply absolute bottom-8 right-8 hidden font-mono text-[10px] font-bold tracking-[0.18em] text-white/40 lg:block;
  }

  .gallery-heading {
    @apply mb-7 flex flex-col gap-6 lg:flex-row lg:items-end lg:justify-between;
  }

  .gallery-heading h2 {
    @apply mt-3 font-display text-3xl font-extrabold sm:text-4xl;
  }

  .gallery-heading > div:first-child > p:last-child {
    @apply mt-3 text-sm text-white/40;
  }

  .gallery-filters {
    @apply flex max-w-full gap-2 overflow-x-auto pb-1;
  }

  .gallery-filters button {
    @apply whitespace-nowrap rounded-full border border-white/10 bg-white/[0.03] px-4 py-2 text-[9px] font-bold uppercase tracking-[0.14em] text-white/40 transition hover:border-white/20 hover:text-white;
  }

  .gallery-filters button.is-active {
    @apply border-signal-400/30 bg-signal-500/10 text-signal-300;
  }

  .gallery-grid {
    @apply grid auto-rows-[210px] grid-cols-1 gap-4 sm:auto-rows-[260px] md:grid-cols-2 xl:grid-cols-12;
  }

  .gallery-item {
    @apply relative isolate col-span-1 row-span-2 overflow-hidden rounded-2xl border border-white/[0.08] bg-ink-800 text-left shadow-panel transition duration-500 xl:col-span-4;
  }

  .gallery-item-featured {
    @apply md:col-span-2 xl:col-span-8;
  }

  .gallery-item-tall {
    @apply xl:col-span-4 xl:row-span-3;
  }

  .gallery-item-landscape {
    @apply md:col-span-2 xl:col-span-8 xl:row-span-2;
  }

  .gallery-item.is-filtered-out {
    @apply hidden;
  }

  .gallery-item img {
    @apply absolute inset-0 h-full w-full object-cover transition duration-700;
  }

  .gallery-item::after {
    content: "";
    @apply absolute inset-0 bg-gradient-to-t from-ink-950 via-transparent to-transparent opacity-90 transition;
  }

  .gallery-item:hover img {
    @apply scale-[1.04];
  }

  .gallery-item:hover::after {
    @apply opacity-100;
  }

  .gallery-item > span {
    @apply absolute inset-x-0 bottom-0 z-10 flex items-end gap-4 p-5 sm:p-6;
  }

  .gallery-item > span > strong {
    @apply font-mono text-[10px] font-bold tracking-[0.16em] text-signal-400;
  }

  .gallery-item > span > span {
    @apply block min-w-0;
  }

  .gallery-item small {
    @apply mb-1 block text-[8px] font-bold uppercase tracking-[0.18em] text-white/35;
  }

  .gallery-item em {
    @apply block font-display text-lg font-extrabold not-italic text-white sm:text-xl;
  }

  .gallery-signature {
    @apply mt-5 grid items-center gap-5 rounded-2xl border border-white/[0.08] bg-gradient-to-r from-signal-500/[0.08] to-transparent p-5 sm:grid-cols-[72px_1fr_auto] sm:p-6;
  }

  .gallery-signature img {
    @apply h-16 w-16 object-contain;
  }

  .gallery-signature p {
    @apply grid gap-1;
  }

  .gallery-signature p span {
    @apply text-[8px] font-bold uppercase tracking-[0.18em] text-signal-400;
  }

  .gallery-signature p strong {
    @apply font-display text-base font-extrabold text-white/75 sm:text-lg;
  }

  .gallery-signature > span {
    @apply font-mono text-[9px] tracking-[0.16em] text-white/25;
  }

  .gallery-lightbox {
    @apply m-auto h-full max-h-none w-full max-w-none border-0 bg-black/90 p-5 text-white backdrop:bg-black/90 sm:p-10;
  }

  .gallery-lightbox[open] {
    @apply grid place-items-center;
  }

  .gallery-lightbox figure {
    @apply relative flex h-full w-full max-w-6xl flex-col items-center justify-center gap-4;
  }

  .gallery-lightbox figure img {
    @apply max-h-[calc(100vh-120px)] max-w-full rounded-xl object-contain shadow-2xl shadow-black;
  }

  .gallery-lightbox figcaption {
    @apply flex w-full max-w-4xl items-center justify-between gap-5 font-display text-sm font-bold text-white/70 sm:text-base;
  }

  .gallery-lightbox figcaption strong {
    @apply shrink-0 font-mono text-[9px] tracking-[0.16em] text-signal-400;
  }

  .gallery-close,
  .gallery-arrow {
    @apply fixed z-20 grid h-11 w-11 place-items-center rounded-full border border-white/15 bg-ink-950/70 text-white backdrop-blur transition hover:border-signal-400/40 hover:bg-signal-500/20;
  }

  .gallery-close {
    @apply right-5 top-5 sm:right-8 sm:top-8;
  }

  .gallery-arrow {
    @apply top-1/2 -translate-y-1/2;
  }

  .gallery-arrow-prev {
    @apply left-3 sm:left-8;
  }

  .gallery-arrow-next {
    @apply right-3 sm:right-8;
  }

  .fleet-hero::after {
    background:
      radial-gradient(circle at 78% 24%, rgba(142, 220, 255, 0.2), transparent 32%),
      linear-gradient(0deg, #07090d 0%, transparent 60%);
  }

  .fleet-showroom {
    @apply overflow-hidden;
  }

  .livery-card {
    @apply grid overflow-hidden rounded-2xl border border-white/[0.08] bg-gradient-to-br from-white/[0.055] to-transparent shadow-panel lg:grid-cols-[1.15fr_0.85fr];
  }

  .livery-card-media {
    @apply relative min-h-[300px] overflow-hidden bg-ink-800 sm:min-h-[400px] lg:min-h-[480px];
  }

  .livery-card-media::after {
    content: "";
    @apply absolute inset-0 bg-gradient-to-t from-ink-950/90 via-transparent to-transparent lg:bg-gradient-to-r lg:from-transparent lg:to-ink-900/70;
  }

  .livery-card-media img {
    @apply absolute inset-0 h-full w-full object-cover object-center;
  }

  .fleet-image-placeholder {
    @apply absolute inset-0 grid place-content-center gap-3 text-center;
    background:
      radial-gradient(circle at center, rgba(87, 185, 226, 0.15), transparent 42%),
      linear-gradient(rgba(142, 220, 255, 0.06) 1px, transparent 1px),
      linear-gradient(90deg, rgba(142, 220, 255, 0.06) 1px, transparent 1px),
      #0d1118;
    background-size: auto, 34px 34px, 34px 34px, auto;
  }

  .fleet-image-placeholder[hidden] {
    display: none;
  }

  .fleet-image-placeholder > span {
    @apply mx-auto grid h-20 w-20 place-items-center rounded-full border border-signal-400/20 bg-signal-500/10 font-display text-2xl font-extrabold text-signal-300;
  }

  .fleet-image-placeholder > strong {
    @apply text-[9px] font-bold uppercase tracking-[0.2em] text-white/40;
  }

  .fleet-image-placeholder-card {
    @apply gap-2;
  }

  .fleet-image-placeholder-card > span {
    @apply h-14 w-14 text-base;
  }

  .fleet-image-placeholder-card > strong {
    @apply text-[7px];
  }

  .livery-card-watermark {
    @apply absolute bottom-5 left-5 z-10 font-mono text-[9px] font-bold tracking-[0.2em] text-white/45 sm:bottom-7 sm:left-7;
  }

  .livery-card-copy {
    @apply flex flex-col justify-center p-6 sm:p-10 lg:p-12;
  }

  .livery-card-copy h2 {
    @apply mt-3 font-display text-3xl font-extrabold tracking-tight sm:text-4xl;
  }

  .livery-card-copy > p:not(.section-kicker) {
    @apply mt-5 text-sm leading-7 text-white/50 sm:text-[15px];
  }

  .livery-swatches {
    @apply mt-8 flex flex-wrap gap-3;
  }

  .livery-swatches span {
    @apply flex items-center gap-2 rounded-full border border-white/[0.08] bg-black/20 px-3 py-2 font-mono text-[9px] text-white/45;
  }

  .livery-swatches i {
    @apply h-3 w-3 rounded-full border border-white/20;
    background: var(--swatch);
  }

  .livery-color-code {
    @apply mt-4 font-mono text-[10px] tracking-[0.08em] text-white/40;
  }

  .livery-color-code strong {
    @apply text-signal-300;
  }

  .fleet-selector-heading {
    @apply mt-16 flex flex-col gap-7 lg:mt-20 lg:flex-row lg:items-end lg:justify-between;
  }

  .fleet-selector-heading h2 {
    @apply mt-3 font-display text-3xl font-extrabold sm:text-4xl;
  }

  .fleet-selector-heading p:last-child {
    @apply mt-3 text-sm leading-7 text-white/45;
  }

  .fleet-controls {
    @apply flex items-center gap-2;
  }

  .fleet-counter {
    @apply mr-2 font-mono text-[10px] font-bold tracking-[0.15em] text-white/30;
  }

  .fleet-counter strong {
    @apply text-signal-400;
  }

  .fleet-control {
    @apply grid h-11 w-11 place-items-center rounded-lg border border-white/10 bg-white/[0.04] text-white/70 transition hover:border-signal-400/30 hover:bg-signal-500/10 hover:text-white;
  }

  .fleet-track-shell {
    @apply relative mt-7;
  }

  .fleet-track {
    @apply flex snap-x snap-mandatory gap-4 overflow-x-auto pb-5 pt-2;
    scrollbar-color: rgba(142, 220, 255, 0.45) rgba(255, 255, 255, 0.05);
    scrollbar-width: thin;
    scroll-padding-inline: 1rem;
  }

  .fleet-track::-webkit-scrollbar {
    height: 6px;
  }

  .fleet-track::-webkit-scrollbar-track {
    @apply rounded-full bg-white/[0.04];
  }

  .fleet-track::-webkit-scrollbar-thumb {
    @apply rounded-full bg-signal-400/40;
  }

  .fleet-option {
    @apply relative min-h-[390px] w-[78vw] max-w-[340px] shrink-0 snap-center overflow-hidden rounded-2xl border border-white/[0.08] bg-white/[0.025] p-0 text-left opacity-65 transition duration-500 sm:w-[340px];
  }

  .fleet-option:hover {
    @apply -translate-y-1 border-white/20 opacity-100;
  }

  .fleet-option.is-active {
    @apply -translate-y-1 border-signal-400/45 bg-signal-500/[0.06] opacity-100 shadow-glow;
  }

  .fleet-option-number {
    @apply absolute left-5 top-5 z-20 rounded-full border border-white/10 bg-ink-950/70 px-3 py-1.5 font-mono text-[9px] font-bold tracking-[0.15em] text-white/50 backdrop-blur;
  }

  .fleet-option-media {
    @apply relative block h-56 overflow-hidden bg-ink-800;
  }

  .fleet-option-media::after {
    content: "";
    @apply absolute inset-0 bg-gradient-to-t from-ink-900 via-transparent to-transparent;
  }

  .fleet-option-media img {
    @apply h-full w-full object-cover transition duration-700;
  }

  .fleet-option:hover .fleet-option-media img,
  .fleet-option.is-active .fleet-option-media img {
    @apply scale-[1.04];
  }

  .fleet-option-copy {
    @apply block p-5;
  }

  .fleet-option-copy small {
    @apply block text-[9px] font-extrabold tracking-[0.18em] text-signal-400;
  }

  .fleet-option-copy strong {
    @apply mt-2 block min-h-14 font-display text-xl font-extrabold leading-tight;
  }

  .fleet-option-copy em {
    @apply mt-3 block text-[10px] font-semibold not-italic uppercase tracking-[0.15em] text-white/30;
  }

  .fleet-option-select {
    @apply absolute bottom-5 right-5 text-[9px] font-bold uppercase tracking-[0.18em] text-white/20 transition;
  }

  .fleet-option.is-active .fleet-option-select {
    @apply text-signal-400;
  }

  .fleet-fade {
    @apply pointer-events-none absolute inset-y-0 z-10 hidden w-14 lg:block;
  }

  .fleet-fade-left {
    @apply left-0 bg-gradient-to-r from-ink-950 to-transparent;
  }

  .fleet-fade-right {
    @apply right-0 bg-gradient-to-l from-ink-950 to-transparent;
  }

  .fleet-detail {
    @apply relative mt-8 grid overflow-hidden rounded-2xl border border-signal-400/20 bg-gradient-to-br from-signal-500/[0.08] via-white/[0.025] to-transparent shadow-panel lg:grid-cols-[0.9fr_1.1fr];
  }

  .fleet-detail-media {
    @apply relative min-h-[300px] overflow-hidden border-b border-white/[0.08] bg-ink-800 lg:min-h-[420px] lg:border-b-0 lg:border-r;
  }

  .fleet-detail-media::after {
    content: "";
    @apply absolute inset-0 bg-gradient-to-t from-ink-950/80 via-transparent to-transparent;
  }

  .fleet-detail-media img {
    @apply absolute inset-0 h-full w-full object-cover;
  }

  .fleet-detail-media > span {
    @apply absolute bottom-5 left-5 z-10 rounded-full border border-white/10 bg-ink-950/70 px-3 py-1.5 text-[9px] font-bold uppercase tracking-[0.18em] text-white/60 backdrop-blur;
  }

  .fleet-detail-copy {
    @apply relative z-10 flex flex-col justify-center p-6 sm:p-10 lg:p-12;
  }

  .fleet-detail-copy > p {
    @apply text-[10px] font-extrabold tracking-[0.22em] text-signal-400;
  }

  .fleet-detail-copy h3 {
    @apply mt-3 font-display text-4xl font-extrabold tracking-tight sm:text-5xl;
  }

  .fleet-detail-copy dl {
    @apply mt-8 grid gap-4;
  }

  .fleet-detail-copy dl > div {
    @apply grid gap-1 border-b border-white/[0.07] pb-4 sm:grid-cols-[120px_1fr] sm:gap-5;
  }

  .fleet-detail-copy dt {
    @apply text-[9px] font-bold uppercase tracking-[0.17em] text-white/25;
  }

  .fleet-detail-copy dd {
    @apply text-sm font-semibold text-white/65;
  }

  .fleet-available {
    @apply flex items-center gap-2 text-emerald-300;
  }

  .fleet-available > span:first-child {
    @apply h-1.5 w-1.5 rounded-full bg-emerald-400 shadow-[0_0_10px_rgba(52,211,153,0.7)];
  }

  .fleet-detail-index {
    @apply pointer-events-none absolute -bottom-8 -right-2 font-display text-[150px] font-extrabold leading-none text-white/[0.025] sm:text-[210px];
  }

  .fleet-rights-note {
    @apply mt-6 flex items-start gap-3 rounded-xl border border-white/[0.07] bg-white/[0.02] p-5 text-xs leading-6 text-white/35;
  }

  .fleet-rights-note svg {
    @apply mt-0.5 shrink-0 text-signal-400/60;
  }

  .legal-page {
    @apply min-h-screen bg-ink-950;
  }

  .legal-hero {
    @apply relative isolate overflow-hidden border-b border-white/[0.06] pt-[76px];
  }

  .legal-hero-image {
    @apply absolute inset-0 -z-20 bg-cover bg-center opacity-40;
  }

  .legal-page[data-page="privacy"] .legal-hero-image {
    background-image:
      linear-gradient(90deg, rgba(7, 9, 13, 0.98), rgba(7, 9, 13, 0.62)),
      url("/assets/images/legal/privacy-policy.webp");
  }

  .legal-page[data-page="terms"] .legal-hero-image {
    background-image:
      linear-gradient(90deg, rgba(7, 9, 13, 0.98), rgba(7, 9, 13, 0.62)),
      url("/assets/images/legal/terms-of-service.webp");
  }

  .legal-hero::after {
    content: "";
    @apply absolute inset-0 -z-10;
    background:
      radial-gradient(circle at 80% 30%, rgba(87, 185, 226, 0.14), transparent 28%),
      linear-gradient(0deg, #07090d 0%, transparent 55%);
  }

  .legal-layout {
    @apply grid gap-10 py-14 lg:grid-cols-[280px_minmax(0,860px)] lg:justify-center lg:gap-12 lg:py-20;
  }

  .legal-aside {
    @apply h-fit overflow-hidden rounded-2xl border border-white/[0.08] bg-gradient-to-b from-signal-500/[0.07] to-white/[0.02] p-5 shadow-panel lg:sticky lg:top-28;
  }

  .legal-aside a {
    @apply block rounded-lg px-3 py-2.5 text-sm text-white/50 transition hover:bg-white/[0.04] hover:text-white;
  }

  .legal-content {
    @apply min-w-0;
  }

  .legal-notice {
    @apply mb-8 rounded-xl border border-signal-400/20 bg-signal-500/[0.07] p-5 text-sm leading-7 text-signal-300/90;
  }

  .legal-visual {
    @apply mb-8 overflow-hidden rounded-2xl border border-signal-400/15 bg-black shadow-panel;
  }

  .legal-visual img {
    @apply h-auto w-full;
  }

  .legal-section {
    @apply relative mb-4 scroll-mt-28 overflow-hidden rounded-2xl border border-white/[0.08] bg-white/[0.025] p-6 shadow-panel last:mb-0 sm:p-8;
  }

  .legal-section::before {
    content: "";
    @apply absolute bottom-0 left-0 top-0 w-0.5 bg-gradient-to-b from-signal-300 via-signal-500/40 to-transparent;
  }

  .legal-section h2 {
    @apply font-display text-xl font-extrabold tracking-tight text-white sm:text-2xl;
  }

  .legal-section p {
    @apply mt-4 text-sm leading-7 text-white/55 sm:text-[15px];
  }

  .legal-section ul {
    @apply mt-4 grid gap-3 pl-5 text-sm leading-7 text-white/55 sm:text-[15px];
  }

  .legal-section li {
    @apply list-disc marker:text-signal-400;
  }

  .not-found-page {
    @apply relative grid min-h-screen place-items-center overflow-hidden pb-16 pt-[92px];
    background:
      radial-gradient(circle at 50% 35%, rgba(87, 185, 226, 0.14), transparent 38%),
      #07090d;
  }

  .not-found-grid {
    @apply absolute inset-0 opacity-[0.1];
    background-image:
      linear-gradient(rgba(142, 220, 255, 0.18) 1px, transparent 1px),
      linear-gradient(90deg, rgba(142, 220, 255, 0.18) 1px, transparent 1px);
    background-size: 64px 64px;
    mask-image: radial-gradient(circle at center, black, transparent 72%);
  }

  .not-found-card {
    @apply mx-auto flex max-w-2xl flex-col items-center rounded-2xl border border-white/[0.08] bg-white/[0.025] p-7 text-center shadow-panel backdrop-blur sm:p-12;
  }

  .not-found-card img {
    @apply mb-7 h-28 w-28 object-contain sm:h-36 sm:w-36;
  }

  .not-found-card h1 {
    @apply mt-4 font-display text-4xl font-extrabold tracking-tight sm:text-6xl;
  }

  .not-found-card > p:not(.section-kicker) {
    @apply mt-5 max-w-lg text-sm leading-7 text-white/50 sm:text-base;
  }

  .not-found-actions {
    @apply mt-8 flex w-full flex-col justify-center gap-3 sm:w-auto sm:flex-row;
  }

  /* Professional visual system — shared across every page */
  body {
    background:
      radial-gradient(circle at 12% 8%, rgba(87, 185, 226, 0.08), transparent 28rem),
      #07090d;
  }

  .site-shell {
    background-image:
      linear-gradient(rgba(255, 255, 255, 0.012) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255, 255, 255, 0.012) 1px, transparent 1px);
    background-size: 84px 84px;
  }

  .site-header::after {
    content: "";
    @apply absolute inset-x-0 bottom-0 h-px origin-left scale-x-0 bg-gradient-to-r from-transparent via-signal-400/70 to-transparent transition duration-500;
  }

  .site-header.is-scrolled::after,
  .site-header.is-menu-open::after {
    @apply scale-x-100;
  }

  .header-est {
    @apply hidden shrink-0 rounded-full border border-white/[0.08] bg-white/[0.025] px-3 py-1.5 font-mono text-[8px] font-bold tracking-[0.18em] text-white/30 2xl:inline-flex;
  }

  .logo-frame {
    @apply h-12 w-12 rounded-full border-signal-400/20 bg-signal-500/[0.06] shadow-[0_0_28px_rgba(87,185,226,0.09)];
  }

  .brand-wordmark > span,
  .brand-wordmark > strong {
    @apply tracking-[0.13em];
  }

  .button {
    @apply relative overflow-hidden rounded-xl;
  }

  .button::before {
    content: "";
    @apply pointer-events-none absolute inset-y-0 -left-1/2 w-1/3 -skew-x-12 bg-gradient-to-r from-transparent via-white/20 to-transparent opacity-0 transition duration-500;
  }

  .button:hover::before {
    @apply left-[120%] opacity-100;
  }

  .inner-hero {
    @apply min-h-[500px];
    background-image:
      linear-gradient(90deg, rgba(5, 8, 13, 0.98) 0%, rgba(5, 8, 13, 0.88) 42%, rgba(5, 8, 13, 0.35) 100%),
      linear-gradient(0deg, rgba(7, 9, 13, 0.96), transparent 55%),
      url("/assets/images/trucks/fleet-half.webp");
  }

  .inner-hero::before {
    content: "";
    @apply absolute inset-x-0 bottom-0 h-px bg-gradient-to-r from-transparent via-signal-400/80 to-transparent;
  }

  .inner-hero .page-container {
    @apply flex min-h-[500px] items-center;
  }

  .inner-hero h1 {
    @apply max-w-3xl leading-[0.98] tracking-[-0.045em];
  }

  .inner-hero .section-kicker,
  .gallery-cinematic-hero .section-kicker,
  .legal-hero .section-kicker {
    @apply inline-flex w-fit items-center rounded-full border border-signal-400/20 bg-signal-500/[0.08] px-3.5 py-2 text-[9px] backdrop-blur;
  }

  .content-section {
    @apply relative;
  }

  .content-section::before {
    content: "";
    @apply pointer-events-none absolute inset-x-0 top-0 mx-auto h-px max-w-5xl bg-gradient-to-r from-transparent via-white/[0.08] to-transparent;
  }

  .section-heading {
    @apply relative mb-12 pb-6;
  }

  .section-heading::after {
    content: "";
    @apply absolute inset-x-0 bottom-0 h-px bg-gradient-to-r from-signal-400/40 via-white/[0.06] to-transparent;
  }

  .section-title {
    @apply leading-[1.05] tracking-[-0.035em];
  }

  .stat-card,
  .page-link-card,
  .team-card,
  .requirement-card,
  .partner-card {
    @apply backdrop-blur-sm;
  }

  .page-link-grid {
    @apply lg:grid-cols-4 xl:grid-cols-4;
  }

  .page-link-card {
    @apply relative min-h-56 overflow-hidden p-7;
  }

  .page-link-card::after {
    content: "→";
    @apply absolute bottom-6 right-6 grid h-9 w-9 place-items-center rounded-full border border-white/10 text-sm text-white/25 transition duration-300;
  }

  .page-link-card:hover::after {
    @apply border-signal-400/30 bg-signal-500/10 text-signal-300;
    transform: translateX(4px);
  }

  .announcement-card {
    @apply border-signal-400/20 bg-gradient-to-br from-signal-500/[0.09] via-white/[0.035] to-transparent;
  }

  .site-footer {
    @apply relative isolate overflow-hidden border-t border-white/[0.07] bg-[#05070b];
  }

  .footer-glow {
    @apply pointer-events-none absolute -left-32 -top-52 -z-10 h-[420px] w-[420px] rounded-full bg-signal-500/[0.09] blur-[100px];
  }

  .footer-main {
    @apply grid gap-10 py-14 sm:grid-cols-2 lg:grid-cols-[1.6fr_0.7fr_0.7fr_0.8fr] lg:gap-12 lg:py-16;
  }

  .footer-brand {
    @apply max-w-md;
  }

  .footer-brand-lockup {
    @apply inline-flex items-center gap-4;
  }

  .footer-brand-lockup img {
    @apply h-16 w-16 rounded-full border border-signal-400/20 object-contain shadow-[0_0_32px_rgba(87,185,226,0.1)];
  }

  .footer-brand-lockup span {
    @apply grid;
  }

  .footer-brand-lockup strong {
    @apply font-display text-lg font-extrabold tracking-[0.08em] text-white;
  }

  .footer-brand-lockup small {
    @apply mt-1 text-[7px] font-bold tracking-[0.24em] text-white/30;
  }

  .footer-brand > p {
    @apply mt-5 max-w-sm text-sm leading-7 text-white/40;
  }

  .footer-status {
    @apply mt-5 inline-flex items-center gap-2 rounded-full border border-emerald-400/15 bg-emerald-400/[0.05] px-3 py-2 text-[9px] font-bold uppercase tracking-[0.12em] text-emerald-300/80;
  }

  .footer-status i {
    @apply h-1.5 w-1.5 animate-pulse rounded-full bg-emerald-400;
  }

  .footer-column {
    @apply flex flex-col items-start gap-3;
  }

  .footer-column h2 {
    @apply mb-2 text-[9px] font-extrabold uppercase tracking-[0.22em] text-signal-400;
  }

  .footer-column > a {
    @apply text-sm font-medium text-white/40 transition hover:translate-x-1 hover:text-white;
  }

  .footer-social-column > a {
    @apply flex items-center gap-2.5;
  }

  .footer-social-column > a span {
    @apply grid h-7 w-7 place-items-center rounded-md border border-white/[0.08] bg-white/[0.03] font-mono text-[8px] font-bold text-white/45;
  }

  .footer-bottom {
    @apply flex flex-col gap-3 border-t border-white/[0.06] py-6 text-[10px] leading-5 text-white/25 lg:flex-row lg:items-center lg:justify-between;
  }

  .footer-bottom > div {
    @apply flex items-center gap-5;
  }

  .footer-bottom a {
    @apply transition hover:text-white;
  }

  @media (max-width: 1279px) {
    .site-header .brand-wordmark > small {
      @apply hidden sm:block;
    }
  }

  @media (max-width: 639px) {
    .brand-wordmark > span,
    .brand-wordmark > strong {
      @apply text-[11px];
    }

    .inner-hero,
    .inner-hero .page-container {
      @apply min-h-[440px];
    }

    .inner-hero {
      background-position: 62% center;
    }

    .page-link-grid {
      @apply grid-cols-1;
    }

    .page-link-card {
      @apply min-h-44;
    }
  }

  .scroll-reveal {
    opacity: 0;
    transform: translateY(22px);
    transition:
      opacity 700ms cubic-bezier(0.22, 1, 0.36, 1) var(--reveal-delay, 0ms),
      transform 700ms cubic-bezier(0.22, 1, 0.36, 1) var(--reveal-delay, 0ms),
      border-color 300ms ease,
      background-color 300ms ease;
  }

  .scroll-reveal.is-visible {
    opacity: 1;
    transform: translateY(0);
  }

  .stat-card.scroll-reveal.is-visible:hover,
  .page-link-card.scroll-reveal.is-visible:hover,
  .team-card.scroll-reveal.is-visible:hover,
  .requirement-card.scroll-reveal.is-visible:hover,
  .partner-card.scroll-reveal.is-visible:hover {
    transform: translateY(-4px);
  }

  .reveal {
    animation: reveal 700ms both cubic-bezier(0.22, 1, 0.36, 1);
  }

  .reveal-delay-1 {
    animation-delay: 90ms;
  }

  .reveal-delay-2 {
    animation-delay: 180ms;
  }

  .reveal-delay-3 {
    animation-delay: 270ms;
  }
}

/* Portal, CMS and administration interface */
.global-starfield { position:fixed; inset:0; z-index:0; pointer-events:none; overflow:hidden; opacity:.8; mask-image:linear-gradient(to bottom,transparent 0,#000 12%,#000 88%,transparent 100%); }
.site-shell { position:relative; z-index:1; }
.global-starfield i { position:absolute; left:var(--star-left); top:-8vh; width:var(--star-size); aspect-ratio:1; background:#bdeaff; opacity:var(--star-opacity); clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 94%,50% 72%,21% 94%,32% 57%,2% 35%,39% 35%); filter:drop-shadow(0 0 6px rgb(87 185 226 / .7)); animation:global-star-slide var(--star-duration) linear var(--star-delay) infinite; will-change:transform; }
.entry-loader-stars { position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.entry-loader-stars i { position:absolute; left:var(--x); top:-10%; width:var(--s); aspect-ratio:1; background:linear-gradient(145deg,#fff,#7dd3fc); opacity:.75; clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 94%,50% 72%,21% 94%,32% 57%,2% 35%,39% 35%); filter:drop-shadow(0 0 9px rgb(87 185 226 / .95)); animation:entry-star-rush var(--d) linear var(--delay) infinite; }
.entry-loader-fleet { position:absolute; inset:0; z-index:-1; overflow:hidden; background:#04070b; }
.entry-loader-fleet::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgb(4 7 11 / .94),rgb(4 7 11 / .58),rgb(4 7 11 / .88)),linear-gradient(0deg,#04070b 0%,transparent 45%,#04070b 100%); }
.entry-loader-fleet img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.08); filter:saturate(.8) contrast(1.08); animation:entry-fleet-cinematic 8.1s ease-in-out both; }
.entry-loader-fleet img:nth-child(2){animation-delay:2.65s}.entry-loader-fleet img:nth-child(3){animation-delay:5.3s}
.entry-loader-consent { width:min(92vw,37rem); margin:1.15rem auto 0; border:1px solid rgb(87 185 226 / .22); border-radius:1rem; padding:1rem; background:rgb(4 10 16 / .76); backdrop-filter:blur(14px); transition:.35s; }
.entry-loader-consent p { color:rgb(255 255 255 / .62); font-size:.72rem; line-height:1.6; }
.entry-loader-consent-en { margin-top:.25rem; color:rgb(255 255 255 / .35)!important; }
.entry-loader-consent a { color:#8fdcff; text-decoration:underline; text-underline-offset:3px; }
.entry-loader-consent button { margin-top:.8rem; }
.entry-loader-consent.is-accepted { pointer-events:none; transform:scale(.96); opacity:0; }
.entry-loader-content { z-index:2; }
.account-link { border-color: rgb(87 185 226 / .28) !important; background: linear-gradient(135deg, rgb(87 185 226 / .12), rgb(255 255 255 / .03)); color: #bdeaff !important; }
.portal-auth-page,.portal-page,.admin-page { position:relative; min-height:100vh; overflow:hidden; background:radial-gradient(circle at 15% 5%,rgb(87 185 226 / .12),transparent 28rem),#07090d; }
.portal-stars { position:absolute; inset:0; pointer-events:none; overflow:hidden; opacity:.48; }
.portal-stars i,.transition-stars i { position:absolute; width:14px; aspect-ratio:1; background:#bdeaff; clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 94%,50% 72%,21% 94%,32% 57%,2% 35%,39% 35%); filter:drop-shadow(0 0 10px #57b9e2); animation:portal-star-drift 7s ease-in-out infinite; }
.portal-stars i:nth-child(1){left:7%;top:17%}.portal-stars i:nth-child(2){left:25%;top:68%;animation-delay:-2s}.portal-stars i:nth-child(3){right:12%;top:20%;animation-delay:-4s}.portal-stars i:nth-child(4){right:31%;top:76%;animation-delay:-1s}.portal-stars i:nth-child(5){left:48%;top:35%;animation-delay:-5s}
.portal-auth-layout { position:relative; z-index:1; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:clamp(2rem,7vw,7rem); min-height:calc(100vh - 80px); padding-top:8rem; padding-bottom:5rem; }
.portal-auth-intro img { width:clamp(9rem,18vw,15rem); filter:drop-shadow(0 0 45px rgb(87 185 226 / .2)); animation:portal-logo-float 6s ease-in-out infinite; }
.portal-auth-intro h1,.portal-page-hero h1,.admin-hero h1,.invite-hero h1 { max-width:14ch; margin:.55rem 0 1rem; font-family:Manrope,sans-serif; font-size:clamp(2.5rem,6vw,5.4rem); font-weight:800; line-height:.95; letter-spacing:-.055em; }
.portal-auth-intro>p:not(.section-kicker),.portal-page-hero p,.invite-hero p { max-width:42rem; color:rgb(255 255 255 / .55); line-height:1.8; }
.portal-auth-intro>strong { display:block; margin-top:1.5rem; color:#8fdcff; letter-spacing:.04em; }
.portal-auth-card,.portal-form-card { position:relative; border:1px solid rgb(255 255 255 / .1); border-radius:1.7rem; padding:clamp(1.35rem,4vw,2.4rem); background:linear-gradient(145deg,rgb(255 255 255 / .075),rgb(255 255 255 / .025)); box-shadow:0 35px 90px rgb(0 0 0 / .42); backdrop-filter:blur(24px); }
.auth-tabs { display:grid; grid-template-columns:1fr 1fr; gap:.4rem; margin-bottom:1.5rem; padding:.35rem; border-radius:.9rem; background:rgb(0 0 0 / .3); }
.auth-tabs button { border-radius:.65rem; padding:.85rem; color:rgb(255 255 255 / .42); font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.auth-tabs button.is-active { background:linear-gradient(135deg,#3198c8,#71c7ec); color:#041017; box-shadow:0 8px 25px rgb(49 152 200 / .25); }
.portal-form { display:grid; gap:1rem; }
.portal-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.portal-form label { display:grid; gap:.45rem; color:rgb(255 255 255 / .55); font-size:.72rem; font-weight:700; letter-spacing:.04em; }
.portal-form input,.portal-form select,.portal-form textarea,.admin-table select,.admin-record-actions select { width:100%; border:1px solid rgb(255 255 255 / .1); border-radius:.75rem; padding:.82rem 1rem; background:#090d13; color:white; outline:none; transition:border-color .2s,box-shadow .2s,background .2s; }
.portal-form input:focus,.portal-form select:focus,.portal-form textarea:focus,.admin-table select:focus { border-color:rgb(87 185 226 / .7); box-shadow:0 0 0 3px rgb(87 185 226 / .12); background:#0c121a; }
.portal-form textarea { resize:vertical; min-height:7rem; line-height:1.65; }
.portal-form-note,.portal-empty { color:rgb(255 255 255 / .38); font-size:.82rem; line-height:1.6; }
.backend-notice { margin:1rem 0; border:1px solid rgb(251 191 36 / .25); border-radius:1rem; padding:1rem 1.15rem; background:rgb(251 191 36 / .07); color:#fde68a; line-height:1.65; }
.portal-toast { position:fixed; z-index:500; right:1.25rem; bottom:1.25rem; max-width:24rem; border:1px solid rgb(87 185 226 / .3); border-radius:.9rem; padding:1rem 1.25rem; background:#0b131c; color:white; box-shadow:0 20px 60px rgb(0 0 0 / .55); animation:toast-in .35s ease both; }
.portal-toast.is-error { border-color:rgb(248 113 113 / .4); color:#fecaca; }
.portal-page-hero,.admin-hero { position:relative; min-height:26rem; display:flex; align-items:flex-end; padding:10rem 0 4rem; border-bottom:1px solid rgb(255 255 255 / .07); background:linear-gradient(135deg,rgb(87 185 226 / .12),transparent 50%); }
.portal-page-hero-compact { min-height:20rem; }
.portal-hero-actions,.admin-hero-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem; }
.portal-summary-grid,.admin-stat-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-bottom:1.25rem; }
.portal-summary-grid article,.admin-stat-grid article { position:relative; overflow:hidden; border:1px solid rgb(255 255 255 / .08); border-radius:1rem; padding:1.2rem; background:rgb(255 255 255 / .035); }
.portal-summary-grid article::after,.admin-stat-grid article::after { content:'★'; position:absolute; right:.65rem; bottom:-.45rem; color:rgb(87 185 226 / .08); font-size:4rem; }
.portal-summary-grid span,.admin-stat-grid span { display:block; color:rgb(255 255 255 / .38); font-size:.65rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.portal-summary-grid strong,.admin-stat-grid strong { display:block; margin-top:.45rem; font-family:Manrope,sans-serif; font-size:1.5rem; }
.portal-dashboard-grid { display:grid; grid-template-columns:1.35fr .65fr; gap:1rem; }
.portal-panel { border:1px solid rgb(255 255 255 / .08); border-radius:1.25rem; padding:1.25rem; background:linear-gradient(145deg,rgb(255 255 255 / .045),rgb(255 255 255 / .018)); box-shadow:0 25px 60px rgb(0 0 0 / .2); }
.portal-panel-wide { grid-row:span 2; }
.portal-panel-head,.admin-section-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.portal-panel-head h2,.admin-section-head h2 { font:800 clamp(1.25rem,3vw,2rem)/1.05 Manrope,sans-serif; }
.portal-panel-head a { color:#8fdcff; font-size:.75rem; font-weight:700; }
.portal-stack { display:grid; gap:.7rem; }
.portal-stack article,.portal-event-card { border:1px solid rgb(255 255 255 / .07); border-radius:.85rem; padding:1rem; background:rgb(0 0 0 / .18); }
.portal-loading { display:grid; min-height:8rem; place-items:center; }.portal-loading span{width:1.8rem;aspect-ratio:1;border:2px solid rgb(255 255 255 / .1);border-top-color:#57b9e2;border-radius:50%;animation:loader-spin .7s linear infinite}
.ticket-workspace { display:grid; grid-template-columns:minmax(15rem,.38fr) minmax(0,1fr); gap:1rem; min-height:38rem; }
.ticket-list { display:grid; gap:.65rem; }.ticket-list button{width:100%;border:1px solid rgb(255 255 255 / .07);border-radius:.85rem;padding:1rem;text-align:left;background:rgb(255 255 255 / .025);color:white}.ticket-list button.is-active{border-color:rgb(87 185 226 / .45);background:rgb(87 185 226 / .09)}
.ticket-conversation { display:flex; flex-direction:column; }.ticket-messages{display:flex;flex:1;flex-direction:column;gap:.85rem;min-height:20rem;max-height:32rem;overflow:auto;padding:.5rem}.ticket-message{max-width:78%;border-radius:1rem;padding:.85rem 1rem;background:rgb(255 255 255 / .06);line-height:1.65}.ticket-message.is-mine{align-self:flex-end;background:rgb(87 185 226 / .15)}.ticket-reply{display:grid;grid-template-columns:1fr auto;gap:.75rem;margin-top:1rem}.ticket-reply textarea{border:1px solid rgb(255 255 255 / .1);border-radius:.8rem;padding:.8rem;background:#090d13;color:white}
.portal-dialog { width:min(92vw,36rem); border:1px solid rgb(255 255 255 / .12); border-radius:1.35rem; padding:2rem; background:#0a0e14; color:white; box-shadow:0 40px 120px black; }.portal-dialog::backdrop{background:rgb(0 0 0 / .78);backdrop-filter:blur(8px)}.portal-dialog-close{position:absolute;right:1rem;top:.7rem;color:rgb(255 255 255 / .5);font-size:1.8rem}
.invite-hero { position:relative; min-height:34rem; display:flex; align-items:flex-end; isolation:isolate; padding:10rem 0 4rem; }.invite-hero>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover}.invite-hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#06090e 10%,rgb(6 9 14 / .84),rgb(6 9 14 / .25)),linear-gradient(0deg,#07090d,transparent 55%)}
.form-honeypot { position:absolute!important; left:-9999px!important; }
.admin-hero .page-container { display:flex; width:100%; align-items:flex-end; justify-content:space-between; gap:2rem; }.admin-hero h1{font-size:clamp(2.4rem,5vw,4.6rem)}
.admin-shell { display:grid; grid-template-columns:16rem minmax(0,1fr); gap:1.25rem; padding:1.5rem 0 5rem; }
.admin-sidebar { position:sticky; top:6rem; align-self:start; overflow:hidden; border:1px solid rgb(255 255 255 / .08); border-radius:1.2rem; background:#0a0e14; }
.admin-brand-mini { display:flex; align-items:center; gap:.8rem; padding:1rem; border-bottom:1px solid rgb(255 255 255 / .07); }.admin-brand-mini img{width:2.6rem;height:2.6rem;border-radius:50%}.admin-brand-mini span{display:grid}.admin-brand-mini strong{font-size:.78rem}.admin-brand-mini small{margin-top:.25rem;color:rgb(255 255 255 / .3);font-size:.58rem}
.admin-sidebar nav { display:grid; gap:.25rem; padding:.55rem; max-height:calc(100vh - 10rem); overflow:auto; }.admin-sidebar nav button{border-radius:.65rem;padding:.72rem .8rem;text-align:left;color:rgb(255 255 255 / .45);font-size:.72rem;font-weight:700;transition:.2s}.admin-sidebar nav button:hover,.admin-sidebar nav button.is-active{background:rgb(87 185 226 / .1);color:#a9e4ff;transform:translateX(2px)}
.admin-content { min-width:0; }.admin-panel{display:none;animation:admin-panel-in .35s ease both}.admin-panel.is-active{display:block}.admin-section-head{min-height:3.5rem;margin-bottom:1.2rem}.admin-editor{margin-bottom:1.2rem;border:1px solid rgb(87 185 226 / .18);border-radius:1.2rem;padding:1.25rem;background:rgb(87 185 226 / .035)}.admin-editor[hidden]{display:none}.admin-editor.is-open{display:grid}
.admin-overview-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }.admin-overview-grid p{display:flex;justify-content:space-between;border-bottom:1px solid rgb(255 255 255 / .06);padding:.75rem 0;color:rgb(255 255 255 / .65)}.admin-overview-grid p span{color:#8fdcff;font-size:.7rem}
.admin-card-list,.admin-media-grid { display:grid; gap:.8rem; }.admin-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-record-card{display:flex;align-items:center;gap:1rem;min-width:0;border:1px solid rgb(255 255 255 / .08);border-radius:1rem;padding:1rem;background:rgb(255 255 255 / .025)}.admin-record-image{display:grid;width:5rem;aspect-ratio:1;flex:none;place-items:center;overflow:hidden;border-radius:.8rem;background:#101722;color:#8fdcff;font-weight:800}.admin-record-image img{width:100%;height:100%;object-fit:cover}.admin-record-copy{min-width:0;flex:1}.admin-record-copy>span{color:#69c7ef;font-size:.6rem;font-weight:800;letter-spacing:.12em}.admin-record-copy h3{margin:.25rem 0;font:800 1rem Manrope,sans-serif}.admin-record-copy p,.admin-record-copy blockquote{overflow:hidden;color:rgb(255 255 255 / .42);font-size:.75rem;line-height:1.5;text-overflow:ellipsis}.admin-record-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.admin-record-actions button,.admin-record-actions a{border:1px solid rgb(255 255 255 / .1);border-radius:.55rem;padding:.55rem .7rem;color:rgb(255 255 255 / .65);font-size:.68rem;font-weight:700}.admin-record-actions .is-danger{border-color:rgb(248 113 113 / .22);color:#fca5a5}
.admin-table-wrap{overflow:auto;border:1px solid rgb(255 255 255 / .08);border-radius:1rem}.admin-table{width:100%;min-width:48rem;border-collapse:collapse;background:rgb(255 255 255 / .025)}.admin-table th,.admin-table td{border-bottom:1px solid rgb(255 255 255 / .06);padding:.85rem;text-align:left;font-size:.72rem}.admin-table th{color:rgb(255 255 255 / .35);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase}.admin-table td small{display:block;margin-top:.25rem;color:rgb(255 255 255 / .3)}.admin-table select{min-width:8rem;padding:.55rem}.admin-table button{border-radius:.5rem;padding:.55rem .7rem;background:rgb(87 185 226 / .12);color:#9de1ff}
.admin-check{display:flex!important;grid-column:1/-1;grid-template-columns:auto 1fr!important;align-items:center}.admin-check input{width:auto!important}
.partner-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.partner-actions a{border:1px solid rgb(87 185 226 / .24);border-radius:.65rem;padding:.6rem .75rem;background:rgb(87 185 226 / .07);color:#a9e4ff;font-size:.68rem;font-weight:800}.partner-status{margin-bottom:.35rem;color:#69c7ef!important;font-size:.6rem!important;font-weight:800;letter-spacing:.14em}.partner-card-official{box-shadow:inset 0 1px rgb(255 255 255 / .05),0 20px 60px rgb(0 0 0 / .18)}
.partners-showcase-grid{display:grid;gap:1rem}@media(min-width:640px){.partners-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.partners-showcase-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.partner-card-featured{grid-column:span 2}}
.partner-card-featured{position:relative;min-height:220px;border-color:rgb(87 185 226 / .38);background:radial-gradient(circle at 12% 20%,rgb(87 185 226 / .18),transparent 38%),linear-gradient(135deg,rgb(12 25 35 / .98),rgb(6 9 14 / .96));box-shadow:inset 0 1px rgb(255 255 255 / .08),0 28px 90px rgb(31 142 190 / .13)}
.partner-card-featured .partner-logo{width:108px;height:108px;border-color:rgb(105 199 239 / .35);box-shadow:0 0 42px rgb(87 185 226 / .18)}
.partner-card-featured h3{font-size:clamp(1.35rem,2.3vw,2rem)}
.partner-featured-mark{display:inline-flex;margin:.15rem 0 .75rem;border:1px solid rgb(105 199 239 / .2);border-radius:999px;padding:.35rem .55rem;color:rgb(185 231 250 / .66);font-size:.5rem;font-weight:800;letter-spacing:.14em}
.star-transition { position:fixed; inset:0; z-index:9999; display:grid; place-items:center; pointer-events:none; background:#05080c; opacity:1; transition:opacity .5s cubic-bezier(.22,1,.36,1),clip-path .55s cubic-bezier(.22,1,.36,1); clip-path:circle(150% at 50% 50%); }.page-ready .star-transition{opacity:0;clip-path:circle(0 at 50% 50%)}.page-leaving .star-transition{opacity:1;clip-path:circle(150% at 50% 50%)}.star-transition-mark{position:relative;width:7rem}.star-transition-mark img{width:100%;filter:drop-shadow(0 0 28px rgb(87 185 226 / .35));animation:portal-logo-float 2s ease-in-out infinite}.transition-stars i{left:50%;top:50%;animation:transition-star .7s ease both}.transition-stars i:nth-child(1){--x:-6rem;--y:-3rem}.transition-stars i:nth-child(2){--x:-3rem;--y:-6rem}.transition-stars i:nth-child(3){--x:0;--y:-7rem}.transition-stars i:nth-child(4){--x:3rem;--y:-6rem}.transition-stars i:nth-child(5){--x:6rem;--y:-3rem}
@media(max-width:1023px){.portal-auth-layout{grid-template-columns:1fr;padding-top:8rem}.portal-auth-intro{text-align:center}.portal-auth-intro img{margin:auto}.portal-auth-intro h1,.portal-auth-intro>p{margin-left:auto;margin-right:auto}.portal-dashboard-grid,.ticket-workspace,.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:relative;top:auto}.admin-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.admin-hero .page-container{align-items:flex-start;flex-direction:column}.admin-stat-grid,.portal-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:639px){.portal-form-grid,.admin-overview-grid,.admin-media-grid{grid-template-columns:1fr}.admin-stat-grid,.portal-summary-grid{grid-template-columns:1fr 1fr}.admin-record-card{align-items:flex-start;flex-wrap:wrap}.admin-record-actions{width:100%;justify-content:flex-start}.admin-sidebar nav{grid-template-columns:1fr 1fr}.ticket-reply{grid-template-columns:1fr}.portal-auth-card{padding:1.15rem}.portal-page-hero,.admin-hero{padding-top:8rem}.portal-dialog{padding:1.3rem}}

@keyframes portal-star-drift{0%,100%{transform:translateY(0) rotate(0);opacity:.3}50%{transform:translateY(-20px) rotate(36deg);opacity:1}}
@keyframes global-star-slide{0%{transform:translate3d(0,-12vh,0) rotate(0deg);opacity:0}8%{opacity:var(--star-opacity)}92%{opacity:var(--star-opacity)}100%{transform:translate3d(var(--star-drift),120vh,0) rotate(240deg);opacity:0}}
@keyframes entry-star-rush{0%{transform:translate3d(-60px,-15vh,0) rotate(0deg) scale(.45);opacity:0}10%{opacity:.9}100%{transform:translate3d(180px,120vh,0) rotate(300deg) scale(1.15);opacity:0}}
@keyframes entry-fleet-cinematic{0%{opacity:0;transform:scale(1.08)}10%{opacity:.52}30%{opacity:.52}40%,100%{opacity:0;transform:scale(1.01)}}
@keyframes portal-logo-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-9px) rotate(1deg)}}
@keyframes transition-star{from{transform:translate(-50%,-50%) scale(.2);opacity:0}to{transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(1);opacity:.9}}
@keyframes toast-in{from{transform:translateY(1rem);opacity:0}}
@keyframes admin-panel-in{from{transform:translateY(8px);opacity:0}}

@keyframes reveal {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes loader-spin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes loader-pulse {
  0%,
  100% {
    transform: scale(1);
    opacity: 0.7;
  }
  50% {
    transform: scale(1.04);
    opacity: 1;
  }
}

@keyframes loader-progress {
  to {
    transform: scaleX(1);
  }
}

@keyframes loader-equalizer {
  from {
    transform: scaleY(0.45);
    opacity: 0.5;
  }
  to {
    transform: scaleY(3.6);
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

/* v14 — page-specific fleet photography */
body[data-page="information"] .inner-hero{background-image:linear-gradient(90deg,#05080d 7%,rgb(5 8 13/.82),rgb(5 8 13/.28)),url('/assets/images/gallery/fleet-lineup.webp')}
body[data-page="management"] .inner-hero{background-image:linear-gradient(90deg,#05080d 7%,rgb(5 8 13/.82),rgb(5 8 13/.25)),url('/assets/images/gallery/five-trucks.webp')}
body[data-page="partnership"] .inner-hero{background-image:linear-gradient(90deg,#05080d 7%,rgb(5 8 13/.82),rgb(5 8 13/.28)),url('/assets/images/gallery/volvo-sunset-lineup.webp')}
body[data-page="events"] .inner-hero{background-image:linear-gradient(90deg,#05080d 7%,rgb(5 8 13/.78),rgb(5 8 13/.24)),url('/assets/images/gallery/pilot-night.webp')}
body[data-page="gallery"] .inner-hero{background-image:linear-gradient(90deg,#05080d 7%,rgb(5 8 13/.76),rgb(5 8 13/.2)),url('/assets/images/gallery/convoy-yard.webp')}
body[data-page="contact"] .inner-hero,body[data-page="support"] .inner-hero{background-image:linear-gradient(90deg,#05080d 7%,rgb(5 8 13/.8),rgb(5 8 13/.28)),url('/assets/images/gallery/volvo-city-lineup.webp')}
body[data-page="news"] .inner-hero{background-image:linear-gradient(90deg,#05080d 7%,rgb(5 8 13/.78),rgb(5 8 13/.3)),url('/assets/images/gallery/volvo-mountain-night.webp')}

.calendar-toolbar{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.calendar-toolbar>div{flex:1}.calendar-toolbar span{color:#69c7ef;font-size:.62rem;font-weight:800;letter-spacing:.16em}.calendar-toolbar h2{margin:.2rem 0 0;font:800 clamp(1.5rem,3vw,2.5rem)/1 Manrope,sans-serif;text-transform:capitalize}.calendar-toolbar>button:not(.button){display:grid;width:2.8rem;aspect-ratio:1;place-items:center;border:1px solid rgb(255 255 255/.1);border-radius:.8rem;background:rgb(255 255 255/.035);font-size:1.8rem}
.phone-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));overflow:hidden;border:1px solid rgb(255 255 255/.09);border-radius:1.2rem;background:linear-gradient(145deg,rgb(11 19 28/.96),rgb(5 8 13/.96));box-shadow:0 30px 80px rgb(0 0 0/.25)}.calendar-weekday{padding:.8rem;text-align:center;color:rgb(255 255 255/.35);font-size:.62rem;font-weight:800;letter-spacing:.09em}.calendar-day{position:relative;min-height:6.3rem;border-left:1px solid rgb(255 255 255/.055);border-top:1px solid rgb(255 255 255/.055);padding:.7rem;text-align:left;color:rgb(255 255 255/.68);transition:.2s}.calendar-day:hover,.calendar-day.is-selected{background:rgb(87 185 226/.1)}.calendar-day.is-today span{display:grid;width:1.8rem;aspect-ratio:1;place-items:center;border-radius:50%;background:#57b9e2;color:#041017;font-weight:900}.calendar-day.has-event{color:white}.calendar-day i{display:inline-block;width:.45rem;aspect-ratio:1;margin:.7rem .2rem 0 0;border-radius:50%;background:#69c7ef;box-shadow:0 0 10px #57b9e2}.calendar-day small{position:absolute;right:.55rem;bottom:.45rem;color:#8fdcff}.calendar-day.is-empty{pointer-events:none;opacity:.15}
.calendar-selection{display:grid;gap:.25rem;margin:1rem 0 2.2rem;border:1px solid rgb(87 185 226/.17);border-radius:1rem;padding:1rem 1.15rem;background:rgb(87 185 226/.045);color:rgb(255 255 255/.45)}.calendar-selection strong{color:white}.calendar-selection article{display:flex;align-items:center;justify-content:space-between;gap:1rem}.calendar-selection article span{color:#69c7ef;font-size:.62rem;font-weight:800;letter-spacing:.12em}.calendar-selection h3{margin:.25rem 0;font:800 1.05rem Manrope,sans-serif}.calendar-selection p{font-size:.76rem}.calendar-empty{display:grid;min-height:12rem;place-items:center;border:1px dashed rgb(255 255 255/.1);border-radius:1rem;text-align:center;color:rgb(255 255 255/.42)}.calendar-empty strong{display:block;color:white;font-size:1.1rem}
.news-filter{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.2rem}.news-filter button{border:1px solid rgb(255 255 255/.1);border-radius:999px;padding:.65rem 1rem;color:rgb(255 255 255/.5);font-size:.7rem;font-weight:800}.news-filter button.is-active{border-color:#57b9e2;background:rgb(87 185 226/.12);color:#a9e4ff}.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.news-card{border:1px solid rgb(255 255 255/.08);border-radius:1.2rem;padding:1.4rem;background:linear-gradient(145deg,rgb(255 255 255/.045),rgb(255 255 255/.015))}.news-card>div{display:flex;justify-content:space-between;color:rgb(255 255 255/.35);font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.news-card>div span{color:#69c7ef}.news-card h2{margin:1rem 0 .7rem;font:800 clamp(1.2rem,2vw,1.7rem)/1.2 Manrope,sans-serif}.news-card p{white-space:pre-line;color:rgb(255 255 255/.55);line-height:1.75}.news-card.urgent{border-color:rgb(248 113 113/.3)}
@media(max-width:700px){.calendar-day{min-height:4.2rem;padding:.42rem}.calendar-weekday{padding:.55rem .1rem}.calendar-staff-action{width:100%}.calendar-toolbar{flex-wrap:wrap}.calendar-selection article{align-items:flex-start;flex-direction:column}.news-grid{grid-template-columns:1fr}}
