/* Kolory, układ slajdu 14 i animacje zaadaptowane z pitch decka RaceLog+. */
:root {
  --rl-bg: #080d16;
  --rl-text: #f1f5f9;
  --rl-muted: #94a3b8;
  --rl-accent: #fbbf24;
  --rl-accent-strong: #f59e0b;
  --rl-border: #334155;
  --ease-out: cubic-bezier(0.2, 0.7, 0.2, 1);
  --ease-pop: cubic-bezier(0.34, 1.56, 0.64, 1);
}
* { box-sizing: border-box; }
html { min-height: 100%; background: var(--rl-bg); }
body {
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0;
  display: flex;
  flex-direction: column;
  color: var(--rl-text);
  background: radial-gradient(ellipse 60% 50% at 85% 0%, rgb(245 158 11 / 9%), transparent 70%),
              radial-gradient(ellipse 50% 40% at 0% 100%, rgb(56 189 248 / 6%), transparent 70%),
              var(--rl-bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  -webkit-font-smoothing: antialiased;
}
.site-header { display: flex; justify-content: flex-end; padding: 26px clamp(20px, 5vw, 72px); }
.language-switch { display: flex; align-items: center; gap: 7px; border: 1px solid #1e293b; background: rgb(15 23 38 / 85%); border-radius: 10px; padding: 5px; }
.lang-button { display: inline-flex; gap: 7px; align-items: center; border: 0; border-radius: 6px; padding: 9px 11px; background: transparent; color: var(--rl-muted); font: 700 13px/1 Inter, sans-serif; cursor: pointer; transition: background .2s, color .2s; }
.lang-flag { width: 22px; height: 15px; display: block; flex: 0 0 auto; border-radius: 2px; object-fit: cover; }
.lang-button:hover { color: #fff; background: #1e293b; }
.lang-button[aria-pressed="true"] { background: #263346; color: #fff; }
.lang-button:focus-visible, .contact-link:focus-visible { outline: 2px solid var(--rl-accent); outline-offset: 3px; }
.separator { width: 1px; height: 18px; background: var(--rl-border); }
.main-content { flex: 1; display: grid; place-items: center; padding: 18px 24px 68px; }
.closing { width: min(100%, 900px); display: flex; flex-direction: column; align-items: center; text-align: center; }
.logo { width: 110px; height: 110px; margin: 0 0 24px; animation: rl-pop .8s var(--ease-pop) both, rl-float 4s ease-in-out 1s infinite, rl-logo-glow 4s ease-in-out 1s infinite; }
h1 { margin: 0 0 23px; font-size: clamp(40px, 5.15vw, 66px); line-height: 1.1; letter-spacing: -.02em; font-weight: 800; color: #fff; text-wrap: balance; animation: rl-rise .7s var(--ease-out) .08s both; }
h1 em { color: var(--rl-accent); font-style: normal; padding-bottom: .04em; background: linear-gradient(var(--rl-accent),var(--rl-accent)) no-repeat 0 100% / 0 .09em; animation: rl-underline .8s var(--ease-out) .7s both; }
.lead { max-width: 780px; margin: 0 0 34px; font-size: clamp(17px, 2.2vw, 25px); line-height: 1.5; color: #d5deec; animation: rl-rise .7s var(--ease-out) .16s both; }
.announcement { display: inline-flex; align-items: center; gap: 10px; border: 1px solid rgb(245 158 11 / 32%); background: rgb(251 191 36 / 7%); color: var(--rl-accent); font-size: 13px; font-weight: 700; letter-spacing: .045em; border-radius: 999px; padding: 11px 17px; animation: rl-rise .7s var(--ease-out) .24s both; }
.announcement-dot { width: 8px; height: 8px; border-radius: 100%; background: var(--rl-accent-strong); box-shadow: 0 0 12px rgb(245 158 11 / 50%); }
.contact-label { margin: 32px 0 9px; font-size: 15px; color: var(--rl-muted); animation: rl-rise .7s var(--ease-out) .32s both; }
.contact-link { color: var(--rl-accent); font-weight: 700; font-size: clamp(16px, 2.3vw, 21px); text-decoration: none; border-bottom: 1px solid rgb(251 191 36 / 40%); padding-bottom: 3px; overflow-wrap: anywhere; animation: rl-rise .7s var(--ease-out) .4s both; }
.contact-link:hover { color: #fde68a; border-color: #fde68a; }
.site-footer { min-height: 64px; display: flex; gap: 9px; align-items: center; padding: 15px clamp(20px, 5vw, 72px); color: var(--rl-muted); font-size: 13px; }
.footer-mark { display: grid; place-items: center; background: #1e293b; color: var(--rl-accent); font-size: 11px; font-weight: 900; width: 27px; height: 27px; border-radius: 6px; }
.footer-copyright { margin-left: auto; color: #64748b; }
@keyframes rl-rise { from { opacity: 0; translate: 0 24px; } to { opacity: 1; translate: 0 0; } }
@keyframes rl-pop { from { opacity: 0; scale: .5; } to { opacity: 1; scale: 1; } }
@keyframes rl-float { 50% { translate: 0 -10px; } }
@keyframes rl-logo-glow { 0%, 100% { filter: drop-shadow(0 20px 50px rgb(245 158 11 / 20%)); } 50% { filter: drop-shadow(0 20px 70px rgb(245 158 11 / 45%)); } }
@keyframes rl-underline { to { background-size: 100% .09em; } }
@media (max-width: 600px) { .site-header { padding: 16px; } .main-content { padding: 24px 22px 50px; } .logo { width: 96px; height: 96px; } h1 { margin-bottom: 19px; } .lead { margin-bottom: 28px; } .site-footer { min-height: 56px; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } h1 em { background-size: 100% .09em; } }
