
:root{--bg:#07080a;--panel:#0d0f12;--ink:#f3f0e9;--muted:#aaa9a5;--red:#d71920;--line:#292b2f}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}a{color:inherit;text-decoration:none}
.topbar{height:82px;position:fixed;inset:0 0 auto 0;z-index:20;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(24px,5vw,88px);background:linear-gradient(#07080af5,#07080ad8);border-bottom:1px solid #ffffff12;backdrop-filter:blur(12px)}
.brand{justify-self:start}.brand img{display:block;width:190px;max-height:52px;object-fit:contain;object-position:left center}.topbar nav{display:flex;gap:38px;font-weight:900;font-size:13px;letter-spacing:.12em}.topbar nav a:hover{color:var(--red)}
.nav-play{justify-self:end;background:var(--red);padding:14px 20px;font-weight:900;letter-spacing:.08em;font-size:13px;transform:skew(-5deg)}.nav-play:hover{filter:brightness(1.12)}
.hero{min-height:100svh;position:relative;display:flex;align-items:center;padding:130px clamp(24px,8vw,145px) 105px;isolation:isolate;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:-3;background:url("assets/images/rockolymp-hero.webp") center/cover no-repeat;transform:scale(1.025)}
.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#050608f5 0%,#050608c9 36%,#05060866 62%,#050608b5 100%),linear-gradient(0deg,#07080a 0%,transparent 24%,#07080a30 100%)}
.hero-content{width:min(780px,72vw);position:relative}.eyebrow{color:#ed1c24;font-size:13px;font-weight:900;letter-spacing:.32em;margin:0 0 20px}
.hero h1{font-family:Impact,"Arial Black",sans-serif;font-size:clamp(66px,8.4vw,146px);line-height:.82;letter-spacing:-.025em;margin:0;text-transform:uppercase;text-shadow:0 5px 35px #000}.hero h1 span{color:var(--red)}
.lead{font-size:clamp(18px,1.55vw,25px);line-height:1.5;max-width:690px;color:#e5e2dc;margin:34px 0 30px}.discover{display:inline-flex;gap:18px;align-items:center;border-bottom:2px solid var(--red);padding:10px 0;font-weight:900;letter-spacing:.13em;font-size:13px}.discover span{font-size:20px}
.hero-edge{position:absolute;bottom:0;left:0;right:0;padding:14px;text-align:center;border-top:1px solid #ffffff1c;background:#07080ac7;color:#858585;font-size:10px;font-weight:900;letter-spacing:.35em}
.manifesto{padding:110px clamp(24px,8vw,145px);background:radial-gradient(circle at 80% 20%,#29101355,transparent 35%),var(--bg);border-bottom:1px solid var(--line)}
.manifesto-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:10vw;align-items:end}.manifesto h2{font-family:Impact,"Arial Black",sans-serif;font-size:clamp(50px,6vw,100px);line-height:.9;margin:0}.manifesto h2 span{color:var(--red)}.manifesto-grid>p{font-size:20px;line-height:1.7;color:#c5c2bd;margin:0;max-width:600px}
.fos{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(420px,.82fr);background:#0b0d10;border-bottom:1px solid var(--line);align-items:center}.fos-visual{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#050608}.fos-visual img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}.fos-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 74%,#0b0d10 100%),linear-gradient(0deg,#0b0d1055,transparent 36%)}
.fos-copy{align-self:center;padding:72px clamp(35px,7vw,115px) 72px 50px}.fos-logo{width:min(500px,100%);display:block;margin:0 0 30px}.fos-copy h2{font-family:Impact,"Arial Black",sans-serif;font-size:clamp(45px,4.5vw,78px);line-height:.93;margin:0 0 24px}.fos-copy>p:not(.eyebrow){color:#c8c5bf;font-size:18px;line-height:1.65;max-width:590px}.primary{margin-top:20px;display:inline-flex;align-items:center;gap:22px;background:var(--red);padding:19px 25px;font-size:14px;font-weight:900;letter-spacing:.09em}.primary span{font-size:21px}.fos-copy small{display:block;color:#777;margin-top:15px;letter-spacing:.06em}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);padding:0 clamp(24px,8vw,145px);background:#08090b}.pillars article{padding:70px 45px 80px;border-right:1px solid var(--line)}.pillars article:first-child{border-left:1px solid var(--line)}.pillars b{color:var(--red);font-size:12px;letter-spacing:.25em}.pillars h3{font-family:Impact,"Arial Black",sans-serif;font-size:42px;margin:14px 0}.pillars p{color:#9f9f9f;line-height:1.6;margin:0;max-width:320px}
.closing{min-height:460px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 25px;background:radial-gradient(circle,#2b0b0f 0%,#090a0c 44%,#050608 75%);position:relative;overflow:hidden}.closing:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(105deg,transparent 0 90px,#ffffff05 91px 92px);opacity:.4}.closing img{width:min(440px,72vw);position:relative}.closing p{font-family:Impact,"Arial Black",sans-serif;font-size:clamp(30px,4vw,62px);margin:28px 0 22px;position:relative}.closing a{position:relative;color:#ef2a30;font-weight:900;letter-spacing:.12em;font-size:13px;border-bottom:1px solid #ef2a30;padding-bottom:7px}
footer{min-height:105px;padding:25px clamp(24px,6vw,95px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;border-top:1px solid var(--line);background:#050608;color:#777;font-size:12px}footer>img{width:135px;opacity:.72}.legal{display:flex;gap:26px}.legal a:hover{color:#fff}footer>span{justify-self:end}
@media(max-width:900px){.topbar{grid-template-columns:1fr auto;height:70px;padding:0 20px}.topbar nav{display:none}.brand img{width:155px}.nav-play{font-size:11px;padding:12px 14px}.hero{padding:110px 24px 80px;align-items:flex-end;min-height:88svh}.hero-content{width:100%}.hero h1{font-size:clamp(58px,17vw,100px)}.lead{font-size:17px;max-width:92%}.manifesto{padding:75px 24px}.manifesto-grid{grid-template-columns:1fr;gap:35px}.manifesto-grid>p{font-size:17px}.manifesto-copy>p{font-size:17px}.fos{grid-template-columns:1fr}.fos-visual{min-height:0;aspect-ratio:16/9}.fos-vignette{background:linear-gradient(0deg,#0b0d10 0%,transparent 45%)}.fos-copy{padding:20px 24px 70px}.pillars{grid-template-columns:1fr;padding:0 24px}.pillars article,.pillars article:first-child{border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:42px 28px}.closing{min-height:390px}footer{grid-template-columns:1fr;text-align:center;gap:25px;padding:35px 20px}footer>img,footer>span{justify-self:center}.legal{justify-content:center;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.manifesto-copy{display:grid;gap:34px;align-content:end}
.manifesto-copy>p{font-size:20px;line-height:1.7;color:#c5c2bd;margin:0;max-width:650px}
.manifesto-copy .legend-copy{padding-top:28px;border-top:1px solid #ffffff1a;color:#e8e4de}
.manifesto-copy .legend-copy strong{color:#fff;font-weight:900}


/* v6 – compact ROCKolymp manifesto */
.manifesto{
  padding-top:78px;
  padding-bottom:82px;
}
.manifesto>.eyebrow{
  margin-bottom:22px;
}
.manifesto-grid{
  align-items:start;
  gap:8vw;
}
.manifesto h2{
  margin-top:0;
}
.manifesto-copy{
  gap:22px;
  align-content:start;
}
.manifesto-copy .legend-copy{
  padding-top:22px;
  border-top:1px solid #ffffff1a;
  display:grid;
  gap:12px;
}
.manifesto-copy .legend-copy p{
  margin:0;
  font-size:20px;
  line-height:1.5;
  color:#e8e4de;
}

/* v6 – FOS artwork: preserve the whole source image instead of cropping it */
.fos{
  grid-template-columns:minmax(0,1.28fr) minmax(430px,.72fr);
  align-items:stretch;
}
.fos-visual{
  min-height:0;
  aspect-ratio:16/9;
  align-self:center;
  background:#050608;
  overflow:hidden;
}
.fos-visual img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
}
.fos-vignette{
  background:linear-gradient(90deg,transparent 82%,#0b0d10 100%);
}
.fos-copy{
  align-self:center;
  padding-top:58px;
  padding-bottom:58px;
}

@media(max-width:900px){
  .manifesto{padding-top:62px;padding-bottom:65px}
  .manifesto>.eyebrow{margin-bottom:18px}
  .manifesto-grid{gap:28px}
  .manifesto-copy{gap:18px}
  .manifesto-copy .legend-copy{padding-top:18px;gap:10px}
  .manifesto-copy .legend-copy p{font-size:17px;line-height:1.5}
  .fos{grid-template-columns:1fr}
  .fos-visual{aspect-ratio:16/9;width:100%}
  .fos-copy{padding-top:28px;padding-bottom:65px}
}


/* v7 – approved FRONT OF STAGE feature artwork */
.fos-feature{
  position:relative;
  width:100%;
  background:#07090c;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.fos-feature>img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
.fos-feature-hit{
  position:absolute;
  left:71.1%;
  top:71.2%;
  width:15.5%;
  height:9.2%;
  z-index:2;
  cursor:pointer;
}
.fos-feature-hit:focus-visible{
  outline:3px solid #fff;
  outline-offset:3px;
}
@media(max-width:900px){
  .fos-feature{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
  .fos-feature>img{
    width:1100px;
    max-width:none;
  }
  .fos-feature-hit{
    left:782px;
    top:71.2%;
    width:170px;
    height:9.2%;
  }
}

/* v8 – concise, visible game context for search and AI systems */
.fos-intro{
  padding:68px clamp(24px,8vw,145px) 76px;
  background:#090a0d;
  border-bottom:1px solid var(--line);
}
.fos-intro-inner{max-width:920px}
.fos-intro h2{
  font-family:Impact,"Arial Black",sans-serif;
  font-size:clamp(44px,5vw,76px);
  line-height:.95;
  margin:0 0 18px;
  text-transform:uppercase;
}
.fos-intro p:not(.eyebrow){
  max-width:820px;
  margin:0 0 26px;
  color:#c5c2bd;
  font-size:18px;
  line-height:1.65;
}
.fos-intro-cta{
  display:inline-block;
  padding:14px 18px;
  border:1px solid #ffffff33;
  color:#fff;
  text-decoration:none;
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
}
.fos-intro-cta:hover,.fos-intro-cta:focus-visible{border-color:#fff}
@media(max-width:900px){
  .fos-intro{padding:52px 24px 58px}
  .fos-intro p:not(.eyebrow){font-size:17px}
}

/* v6: Preserve the native ROCKolymp wordmark aspect ratio wherever it is resized. */
.brand img,
.closing img,
footer > img {
  height: auto;
  object-fit: contain;
}
